Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/v3_feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
name: v3.0.0 Feature Implementation
about: Track implementation of a v3.0.0 feature
title: '[v3.0.0] '
labels: 'enhancement, v3.0.0'
assignees: ''

---

## Feature Name
<!-- e.g., Corporate Actions API -->

## Phase
<!-- Phase 1/2/3/4 -->

## Branch Name
<!-- e.g., feature/corporate-actions-api -->

## Description
<!-- Brief description of the feature -->

## Implementation Checklist

### Code Implementation
- [ ] Core functionality implemented
- [ ] Data models created
- [ ] Error handling added
- [ ] Type hints complete
- [ ] Docstrings written

### Testing
- [ ] Unit tests written
- [ ] Integration tests written
- [ ] Mock tests for offline testing
- [ ] Test coverage >90%
- [ ] All tests passing

### Documentation
- [ ] API documentation updated
- [ ] Usage examples added
- [ ] README updated if needed
- [ ] CHANGELOG entry added

### Code Quality
- [ ] Code formatted (make format)
- [ ] Linting passing (make lint)
- [ ] Type checking passing (make type-check)
- [ ] Pre-commit hooks passing

## Acceptance Criteria
<!-- List specific requirements that must be met -->
- [ ]
- [ ]
- [ ]

## API Endpoints Covered
<!-- List the Alpaca API endpoints this feature implements -->
- `GET /v2/...`
- `POST /v2/...`

## Related Issues/PRs
<!-- Link to related issues or pull requests -->
-

## Notes
<!-- Any additional context or considerations -->
68 changes: 68 additions & 0 deletions .github/ISSUE_TEMPLATE/v3_progress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
name: v3.0.0 Progress Update
about: Weekly progress update for v3.0.0 development
title: '[v3.0.0 Progress] Week of '
labels: 'v3.0.0, progress'
assignees: ''

---

## Week of [DATE]

## Completed This Week

### Features Completed
- [ ] Feature name (PR #)
- [ ] Feature name (PR #)

### Tests Added
- Total new tests:
- Current coverage:

### Documentation Updates
- [ ] Updated feature docs
- [ ] Added examples

## In Progress

### Currently Working On
- Feature: [name] - [% complete]
- Feature: [name] - [% complete]

### Blockers
<!-- Any issues blocking progress -->
-

## Next Week's Plan

### Features to Start
- [ ] Feature name
- [ ] Feature name

### Features to Complete
- [ ] Feature name
- [ ] Feature name

## Overall Progress

### Phase Status
- **Phase 1**: [0]% Complete (Critical Features)
- **Phase 2**: [0]% Complete (Important Enhancements)
- **Phase 3**: [0]% Complete (Performance & Quality)
- **Phase 4**: [0]% Complete (Advanced Features)

### Metrics
- Total API Coverage: [X]%
- Test Coverage: [X]%
- Documentation Complete: [X]%

## Risk Assessment

### New Risks Identified
-

### Mitigation Actions
-

## Notes
<!-- Any additional updates or context -->
54 changes: 54 additions & 0 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Claude Code Review

on:
pull_request:
types: [opened, synchronize]
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"

jobs:
claude-review:
# Optional: Filter by PR author
# if: |
# github.event.pull_request.user.login == 'external-contributor' ||
# github.event.pull_request.user.login == 'new-developer' ||
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'

runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
prompt: |
Please review this pull request and provide feedback on:
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Security concerns
- Test coverage

Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback.

Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR.

# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://docs.anthropic.com/en/docs/claude-code/sdk#command-line for available options
claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"'

50 changes: 50 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Claude Code

on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]

jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read

# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
# prompt: 'Update the pull request description to include a summary of changes.'

# Optional: Add claude_args to customize behavior and configuration
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://docs.anthropic.com/en/docs/claude-code/sdk#command-line for available options
# claude_args: '--model claude-opus-4-1-20250805 --allowed-tools Bash(gh pr:*)'

114 changes: 114 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Changelog

All notable changes to py-alpaca-api will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [3.0.0] - Unreleased

### Overview
Major release adding complete Alpaca Stock API coverage, performance improvements, and real-time data support.

### Added
- πŸ“‹ Comprehensive development plan (DEVELOPMENT_PLAN.md)
- πŸ—οΈ New v3.0.0 branch structure for organized development

### Planned Features (In Development)
#### Phase 1: Critical Missing Features
- [ ] Corporate Actions API - Track dividends, splits, mergers
- [ ] Trade Data Support - Access to individual trade data
- [ ] Market Snapshots - Current market overview for symbols

#### Phase 2: Important Enhancements
- [ ] Account Configuration Management
- [ ] Enhanced Order Management (replace, extended hours)
- [ ] Market Metadata (condition codes, exchange codes)

#### Phase 3: Performance & Quality
- [ ] Batch Operations for multiple symbols
- [ ] Feed Management System (IEX/SIP/OTC)
- [ ] Caching System with configurable TTL

#### Phase 4: Advanced Features
- [ ] WebSocket Streaming Support
- [ ] Async/Await Implementation

### Changed
- Restructured project for v3.0.0 development

### Deprecated
- None

### Removed
- None

### Fixed
- None

### Security
- None

## [2.2.0] - 2024-12-15

### Added
- Stock analysis tools with ML predictions
- Market screener for gainers/losers
- News aggregation from multiple sources
- Sentiment analysis for stocks
- Prophet integration for price forecasting

### Changed
- Improved error handling across all modules
- Enhanced DataFrame operations
- Better type safety with mypy strict mode

### Fixed
- Yahoo Finance news fetching reliability
- DataFrame type preservation issues
- Prophet seasonality parameter handling

## [2.1.0] - 2024-11-01

### Added
- Watchlist management functionality
- Portfolio history tracking
- Market calendar support
- Extended order types (bracket, trailing stop)

### Changed
- Improved pagination for large datasets
- Better rate limit handling

### Fixed
- Order validation for fractional shares
- Timezone handling in market hours

## [2.0.0] - 2024-09-15

### Added
- Complete rewrite with modular architecture
- Full type hints and mypy support
- Comprehensive test suite (109+ tests)
- Separate trading and stock modules

### Changed
- Breaking: New API structure with PyAlpacaAPI class
- Breaking: All methods now return typed dataclasses
- Improved error handling with custom exceptions

### Removed
- Legacy API methods
- Deprecated authentication methods

## [1.0.0] - 2024-06-01

### Added
- Initial release
- Basic trading operations
- Market data retrieval
- Account management

---

*For detailed migration guides between versions, see [MIGRATION.md](MIGRATION.md)*
Loading
Loading