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
2 changes: 1 addition & 1 deletion .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ updates:
schedule:
interval: monthly
groups:
all:
github-actions:
dependency-type: production
8 changes: 7 additions & 1 deletion .github/workflows/_codecov.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Download the built wheel
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
Expand All @@ -69,7 +75,7 @@ jobs:
uv venv
source .venv/bin/activate
echo ${GITHUB_WORKSPACE}/.venv/bin >> $GITHUB_PATH
uv pip install ".[test,dev]"
uv pip install "$(find dist -name '*.whl' | head -1)[test]"

- name: Generate coverage report
env:
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/_test_futures_private.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Download the built wheel
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
Expand All @@ -75,15 +81,16 @@ jobs:
uv venv
source .venv/bin/activate
echo ${GITHUB_WORKSPACE}/.venv/bin >> $GITHUB_PATH
uv pip install ".[test]"
uv pip install "$(find dist -name '*.whl' | head -1)[test]"

- name: Install package (Windows)
if: runner.os == 'Windows'
run: |
uv venv
.venv\Scripts\activate.ps1
echo "$env:GITHUB_WORKSPACE\.venv\Scripts" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
uv pip install ".[test]"
$wheel = (Get-ChildItem -Path dist -Filter "*.whl" | Select-Object -First 1).FullName
uv pip install "$wheel[test]"

- name: Testing Futures REST endpoints
env:
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/_test_futures_public.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Download the built wheel
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
Expand All @@ -61,15 +67,16 @@ jobs:
uv venv
source .venv/bin/activate
echo ${GITHUB_WORKSPACE}/.venv/bin >> $GITHUB_PATH
uv pip install ".[test]"
uv pip install "$(find dist -name '*.whl' | head -1)[test]"

- name: Install package (Windows)
if: runner.os == 'Windows'
run: |
uv venv
.venv\Scripts\activate.ps1
echo "$env:GITHUB_WORKSPACE\.venv\Scripts" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
uv pip install ".[test]"
$wheel = (Get-ChildItem -Path dist -Filter "*.whl" | Select-Object -First 1).FullName
uv pip install "$wheel[test]"

- name: Testing Futures REST endpoints
run: pytest -vv -m "futures and not futures_auth and not futures_websocket" tests
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/_test_spot_private.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Download the built wheel
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
Expand All @@ -73,15 +79,16 @@ jobs:
uv venv
source .venv/bin/activate
echo ${GITHUB_WORKSPACE}/.venv/bin >> $GITHUB_PATH
uv pip install ".[test]"
uv pip install "$(find dist -name '*.whl' | head -1)[test]"

- name: Install package (Windows)
if: runner.os == 'Windows'
run: |
uv venv
.venv\Scripts\activate.ps1
echo "$env:GITHUB_WORKSPACE\.venv\Scripts" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
uv pip install ".[test]"
$wheel = (Get-ChildItem -Path dist -Filter "*.whl" | Select-Object -First 1).FullName
uv pip install "$wheel[test]"

- name: Testing Spot REST endpoints
env:
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/_test_spot_public.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Download the built wheel
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions
path: dist/

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
Expand All @@ -62,15 +68,16 @@ jobs:
uv venv
source .venv/bin/activate
echo ${GITHUB_WORKSPACE}/.venv/bin >> $GITHUB_PATH
uv pip install ".[test]"
uv pip install "$(find dist -name '*.whl' | head -1)[test]"

- name: Install package (Windows)
if: runner.os == 'Windows'
run: |
uv venv
.venv\Scripts\activate.ps1
echo "$env:GITHUB_WORKSPACE\.venv\Scripts" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
uv pip install ".[test]"
$wheel = (Get-ChildItem -Path dist -Filter "*.whl" | Select-Object -First 1).FullName
uv pip install "$wheel[test]"

- name: Testing Spot REST endpoints
run: pytest -vv -m "spot and not spot_auth and not spot_websocket" tests
Expand Down
28 changes: 18 additions & 10 deletions .github/workflows/cicd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ on:
push:
branches: [master]
schedule:
- cron: "20 16 */7 * *"
- cron: "15 20 * * FRI"
release:
types: [created]
pull_request:
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
## (public endpoints)
##
Test-Spot-Public:
needs: [Pre-Commit]
needs: [Build]
uses: ./.github/workflows/_test_spot_public.yaml
strategy:
fail-fast: false
Expand All @@ -118,8 +118,8 @@ jobs:
##
## (private endpoints)
Test-Spot-Private:
if: success() && github.actor != 'dependabot[bot]'
needs: [Pre-Commit]
if: success() && github.actor == 'btschwertfeger'
needs: [Build]
uses: ./.github/workflows/_test_spot_private.yaml
strategy:
max-parallel: 1 # to avoid failing tests because of API Rate limits
Expand All @@ -137,7 +137,7 @@ jobs:
##
## (public endpoints)
Test-Futures-Public:
needs: [Pre-Commit]
needs: [Build]
uses: ./.github/workflows/_test_futures_public.yaml
strategy:
fail-fast: false
Expand All @@ -150,8 +150,8 @@ jobs:
##
## (private endpoints)
Test-Futures-Private:
if: success() && github.actor != 'dependabot[bot]'
needs: [Pre-Commit]
if: success() && github.actor == 'btschwertfeger'
needs: [Build]
uses: ./.github/workflows/_test_futures_private.yaml
strategy:
max-parallel: 1 # to avoid failing tests because of API Rate limits
Expand All @@ -173,10 +173,10 @@ jobs:
&& github.actor == 'btschwertfeger'
&& github.event_name != 'schedule'
needs:
- Test-Spot-Public
- Test-Spot-Private
- Test-Futures-Public
- Build
# Wait for private tests to avoid nonce errors and rate limiting
- Test-Futures-Private
- Test-Spot-Private
uses: ./.github/workflows/_codecov.yaml
with:
os: "ubuntu-latest"
Expand All @@ -196,6 +196,10 @@ jobs:
- Build-Doc
- CodeQL
- CodeCov
- Test-Futures-Private
- Test-Futures-Public
- Test-Spot-Private
- Test-Spot-Public
name: Upload development version to Test PyPI
uses: ./.github/workflows/_pypi_test_publish.yaml
secrets:
Expand All @@ -214,6 +218,10 @@ jobs:
- Build-Doc
- CodeQL
- CodeCov
- Test-Futures-Private
- Test-Futures-Public
- Test-Spot-Private
- Test-Spot-Public
name: Upload release to PyPI
uses: ./.github/workflows/_pypi_publish.yaml
secrets:
Expand Down
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@

repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.12.7
rev: v0.13.0
hooks:
- id: ruff
args:
- --preview
- --fix
- --exit-non-zero-on-fix
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.17.1
rev: v1.18.1
hooks:
- id: mypy
name: mypy
Expand All @@ -35,7 +35,7 @@ repos:
- id: codespell
additional_dependencies: [tomli]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v6.0.0
hooks:
- id: check-yaml
- id: check-ast
Expand Down
2 changes: 2 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,5 @@ formats:
python:
install:
- requirements: doc/requirements.txt
- method: pip
path: .
18 changes: 16 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
# Changelog

## [Unreleased](https://github.com/btschwertfeger/python-kraken-sdk/tree/HEAD)
## [v3.2.5](https://github.com/btschwertfeger/python-kraken-sdk/tree/v3.2.5) (2025-09-01)

[Full Changelog](https://github.com/btschwertfeger/python-kraken-sdk/compare/v3.2.3...HEAD)
[Full Changelog](https://github.com/btschwertfeger/python-kraken-sdk/compare/v3.2.4...v3.2.5)

**Fixed bugs:**

- Resolve "batchOrder json does not support booleans" [\#390](https://github.com/btschwertfeger/python-kraken-sdk/pull/390) ([claudeenriquez](https://github.com/claudeenriquez))

Uncategorized merged pull requests:

- Bump the all group with 5 updates [\#391](https://github.com/btschwertfeger/python-kraken-sdk/pull/391) ([dependabot[bot]](https://github.com/apps/dependabot))

## [v3.2.4](https://github.com/btschwertfeger/python-kraken-sdk/tree/v3.2.4) (2025-08-03)

[Full Changelog](https://github.com/btschwertfeger/python-kraken-sdk/compare/v3.2.3...v3.2.4)

Uncategorized merged pull requests:

- Bump the all group with 2 updates [\#386](https://github.com/btschwertfeger/python-kraken-sdk/pull/386) ([dependabot[bot]](https://github.com/apps/dependabot))
- Update egress rules in CI [\#383](https://github.com/btschwertfeger/python-kraken-sdk/pull/383) ([btschwertfeger](https://github.com/btschwertfeger))
- Resolve "Websocket reconnect should be mentioned in the logged warning" [\#388](https://github.com/btschwertfeger/python-kraken-sdk/pull/388) ([btschwertfeger](https://github.com/btschwertfeger))
- Update project settings [\#385](https://github.com/btschwertfeger/python-kraken-sdk/pull/385) ([btschwertfeger](https://github.com/btschwertfeger))

## [v3.2.3](https://github.com/btschwertfeger/python-kraken-sdk/tree/v3.2.3) (2025-07-07)

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ install: check-uv
##
.PHONY: dev
dev: check-uv
$(UV) pip install -e ".[dev,test,examples,jupyter]"
$(UV) pip install -e ".[test,examples,jupyter]" -r doc/requirements.txt

## ======= T E S T I N G =======================================================
## test Run the unit tests
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Documentation:

Projects using this SDK:

- https://github.com/btschwertfeger/kraken-infinity-grid
- https://github.com/btschwertfeger/infinity-grid
- https://github.com/btschwertfeger/kraken-rebalance-bot
- https://github.com/btschwertfeger/python-kraken-sdk/network/dependents

Expand Down
2 changes: 1 addition & 1 deletion doc/examples/rest_example_usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ below.

Projects that use the SDK are listed below:

* https://github.com/btschwertfeger/kraken-infinity-grid
* https://github.com/btschwertfeger/infinity-grid
* https://github.com/btschwertfeger/kraken-rebalance-bot

.. toctree::
Expand Down
2 changes: 1 addition & 1 deletion examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ WebSocket APIs.
Ideal examples of successful running trading algorithms based on the
python-kraken-sdk are listed below:

- https://github.com/btschwertfeger/kraken-infinity-grid
- https://github.com/btschwertfeger/infinity-grid
- https://github.com/btschwertfeger/kraken-rebalance-bot
- https://github.com/btschwertfeger/python-kraken-sdk/network/dependents

Expand Down
18 changes: 0 additions & 18 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -57,24 +57,6 @@ Changelog = "https://github.com/btschwertfeger/python-kraken-sdk/releases"
"Bug Tracker" = "https://github.com/btschwertfeger/python-kraken-sdk/issues"

[project.optional-dependencies]
dev = [
"debugpy",
# building
"build",
# documentation
"sphinx",
"sphinx-click",
"sphinx-rtd-theme",
"nbsphinx",
"ipython", # To visualize Jupyter Notebooks in the documentation
# formatting
"black",
# typing
"mypy",
"types-requests",
# linting
"ruff",
]
test = [
"proxy.py",
"pytest-asyncio",
Expand Down
Loading