diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..7394a3a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,37 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + time: "06:00" + timezone: "America/New_York" + open-pull-requests-limit: 10 + labels: + - "dependencies" + - "github-actions" + commit-message: + prefix: "ci" + groups: + github-actions: + patterns: + - "*" + + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + day: "monday" + time: "06:15" + timezone: "America/New_York" + open-pull-requests-limit: 10 + labels: + - "dependencies" + - "python" + commit-message: + prefix: "deps" + groups: + python-dependencies: + patterns: + - "*" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb57837..750a7de 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,10 +15,10 @@ jobs: name: Lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v8.1.0 with: version: "latest" @@ -38,10 +38,10 @@ jobs: name: Type Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v8.1.0 with: version: "latest" @@ -63,10 +63,10 @@ jobs: python-version: ["3.12", "3.13", "3.14"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v8.1.0 with: version: "latest" @@ -83,10 +83,10 @@ jobs: name: Cross-Engine Contracts runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v8.1.0 with: version: "latest" @@ -106,12 +106,12 @@ jobs: runs-on: ubuntu-latest needs: [lint, typecheck, test, contracts] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 with: fetch-depth: 0 - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v8.1.0 with: version: "latest" @@ -122,7 +122,7 @@ jobs: run: uv build - name: Upload build artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7.0.1 with: name: dist path: dist/ diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 86ce92a..9f781a9 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,12 +17,12 @@ jobs: name: Build & Deploy Docs runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 with: fetch-depth: 0 - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v8.1.0 with: version: "latest" @@ -36,7 +36,7 @@ jobs: run: uv run mkdocs build --strict - name: Deploy to website repo - uses: cpina/github-action-push-to-another-repository@v1.7.2 + uses: cpina/github-action-push-to-another-repository@v1.7.3 env: SSH_DEPLOY_KEY: ${{ secrets.DOCS_DEPLOY_KEY }} with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fde91d6..8ac502d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,12 +12,12 @@ jobs: name: Build Package runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 with: fetch-depth: 0 - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v8.1.0 with: version: "latest" @@ -28,7 +28,7 @@ jobs: run: uv build - name: Upload build artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7.0.1 with: name: dist path: dist/ @@ -42,13 +42,13 @@ jobs: id-token: write steps: - name: Download build artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8.0.1 with: name: dist path: dist/ - name: Publish to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 + uses: pypa/gh-action-pypi-publish@v1.14.0 github-release: name: Create GitHub Release @@ -57,7 +57,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6.0.2 - name: Create GitHub Release env: diff --git a/src/ml4t/backtest/core/order_book.py b/src/ml4t/backtest/core/order_book.py index 35cd546..4af120d 100644 --- a/src/ml4t/backtest/core/order_book.py +++ b/src/ml4t/backtest/core/order_book.py @@ -374,10 +374,10 @@ def _passes_submission_precheck(self, order: Order) -> bool: def _should_apply_buying_power_reservation(self, order: Order) -> bool: broker = self.broker - return ( - broker.buying_power_reservation - and order.order_type in {OrderType.MARKET, OrderType.MOC} - ) + return broker.buying_power_reservation and order.order_type in { + OrderType.MARKET, + OrderType.MOC, + } def _passes_buying_power_check(self, order: Order) -> bool: """LEAN-style buying power reservation at submission time.