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
17 changes: 15 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,27 @@

## [Unreleased](https://github.com/btschwertfeger/python-kraken-sdk/tree/HEAD)

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

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))

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

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

**Fixed bugs:**

- Resolve "Futures endpoint maxordersize is no longer available" [\#382](https://github.com/btschwertfeger/python-kraken-sdk/pull/382) ([btschwertfeger](https://github.com/btschwertfeger))

Uncategorized merged pull requests:

- Bump the all group with 2 updates [\#380](https://github.com/btschwertfeger/python-kraken-sdk/pull/380) ([dependabot[bot]](https://github.com/apps/dependabot))
- Update project settings [\#379](https://github.com/btschwertfeger/python-kraken-sdk/pull/379) ([btschwertfeger](https://github.com/btschwertfeger))
- Bump the all group with 5 updates [\#378](https://github.com/btschwertfeger/python-kraken-sdk/pull/378) ([dependabot[bot]](https://github.com/apps/dependabot))
- Bump the all group with 7 updates [\#377](https://github.com/btschwertfeger/python-kraken-sdk/pull/377) ([dependabot[bot]](https://github.com/apps/dependabot))
- Update project settings [\#379](https://github.com/btschwertfeger/python-kraken-sdk/pull/379) ([btschwertfeger](https://github.com/btschwertfeger))

## [v3.2.2](https://github.com/btschwertfeger/python-kraken-sdk/tree/v3.2.2) (2025-04-11)

Expand Down
2 changes: 1 addition & 1 deletion CITATION
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ authors:
title: "python-kraken-sdk"
doi: 10.5281/zenodo.7653259
url: "https://github.com/btschwertfeger/python-kraken-sdk"
keywords: ["Python", "Kraken", "cryptocurrency", "exchange", "API", "SDK"]
keywords: ["Python", "Kraken", "Crypto", "Exchange", "API", "SDK"]
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<h1 align="center">Futures and Spot REST and Websocket API Python SDK for the Kraken Cryptocurrency Exchange 🐙</h1>
<h1 align="center">Futures and Spot REST and Websocket API Python SDK for the Kraken Crypto Asset Exchange 🐙</h1>

<div align="center">

Expand All @@ -23,7 +23,7 @@
</div>

> ⚠️ This is an unofficial collection of REST and websocket clients for Spot and
> Futures trading on the Kraken cryptocurrency exchange using Python. Payward
> Futures trading on the Kraken Crypto Asset Exchange using Python. Payward
> Ltd. and Kraken are in no way associated with the authors of this package and
> documentation.
>
Expand Down Expand Up @@ -160,7 +160,7 @@ kraken futures --api-key=<api-key> --secret-key=<secret-key> https://futures.kra
# 📍 Spot Clients

The python-kraken-sdk provides lots of functions to easily access most of the
REST and websocket endpoints of the Kraken Cryptocurrency Exchange API. Since
REST and websocket endpoints of the Kraken Crypto Asset Exchange API. Since
these endpoints and their parameters may change, all implemented endpoints are
tested on a regular basis.

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 @@ -22,7 +22,7 @@ Usage Examples
==============

The python-kraken-sdk provides lots of functions to easily access most of the
REST and websocket endpoints of the Kraken Cryptocurrency Exchange API. Since
REST and websocket endpoints of the Kraken Crypto Asset Exchange API. Since
these endpoints and their parameters may change, all implemented endpoints are
tested on a regular basis.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Futures Trading Bot Template
----------------------------

The template presented below serves as a starting point for the development of
a trading algorithm for trading futures contracts on the cryptocurrency exchange
a trading algorithm for trading futures contracts on the crypto asset exchange
`Kraken`_ using the `python-kraken-sdk`_.

The trading strategy can be implemented in the ``TradingBot`` class. This class
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Spot Trading Bot Templates
--------------------------

The templates presented below serve as starting points for the development of
a trading algorithms for Spot trading on the cryptocurrency exchange `Kraken`_
a trading algorithms for Spot trading on the crypto asset exchange `Kraken`_
using the `python-kraken-sdk`_.

The trading strategy can be implemented using the ``TradingBot`` class. This
Expand Down
4 changes: 2 additions & 2 deletions doc/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ python-kraken-sdk


**This is the documentation of the unofficial Python SDK to interact with the
Kraken cryptocurrency exchange.**
Kraken Crypto Asset Exchange.**

*Payward Ltd. and Kraken are in no way associated with the authors of this
package and documentation. Please note that this project is independent and not
Expand All @@ -36,7 +36,7 @@ any issues, losses, or risks associated with its usage.*

This documentation refers to the `python-kraken-sdk`_ and serves to simplify the
application of trading strategies, in which as far as possible all interaction
possibilities with the cryptocurrency exchange Kraken are implemented, tested
possibilities with the crypto asset exchange Kraken are implemented, tested
and documented.

- Gladly open an issue on GitHub on make if something is incorrect or missing
Expand Down
7 changes: 4 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ authors = [
maintainers = [
{ name = "Benjamin Thomas Schwertfeger", email = "contact@b-schwertfeger.de" },
]
description = "Command-line tool and collection of REST and websocket clients to interact with the Kraken cryptocurrency exchange."
description = "Command-line tool and collection of REST and websocket clients to interact with the Kraken Crypto Asset Exchange."
readme = "README.md"
license = "Apache-2.0"
license-files = ["LICENSE"]
Expand All @@ -32,7 +32,7 @@ dependencies = [
"orjson",
"aiohttp",
]
keywords = ["crypto", "trading", "kraken", "exchange", "api"]
keywords = ["crypto", "trading", "kraken", "exchange", "api", "sdk", "kraken crypto asset exchange", "automation",]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: AsyncIO",
Expand All @@ -53,8 +53,9 @@ classifiers = [

[project.urls]
Homepage = "https://github.com/btschwertfeger/python-kraken-sdk"
"Bug Tracker" = "https://github.com/btschwertfeger/python-kraken-sdk/issues"
Documentation = "https://python-kraken-sdk.readthedocs.io/en/stable/"
Changelog = "https://github.com/btschwertfeger/python-kraken-sdk/releases"
"Bug Tracker" = "https://github.com/btschwertfeger/python-kraken-sdk/issues"

[project.optional-dependencies]
dev = [
Expand Down
2 changes: 1 addition & 1 deletion src/kraken/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def print_version(ctx: Context, param: Any, value: Any) -> None: # noqa: ANN401
)
@pass_context
def cli(ctx: Context, **kwargs: dict) -> None:
"""Command-line tool to access the Kraken Cryptocurrency Exchange API"""
"""Command-line tool to access the Kraken Crypto Asset Exchange API"""
ctx.obj = kwargs

logging.basicConfig(
Expand Down
10 changes: 7 additions & 3 deletions src/kraken/futures/websocket/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,16 +214,20 @@ async def __reconnect(self: ConnectFuturesWebsocket) -> None:
self.state = WSState.ERRORHANDLING
exception_occur = True
self.__challenge_ready = False
message = f"{task} got an exception {task.exception()}\n {task.get_stack()}"
LOG.warning(message)
LOG.warning(
"%s got an exception %s:\n%s\n"
"The connection will be recovered in the background.",
task,
task.exception(),
task.get_stack(),
)
for process in pending:
LOG.warning("Pending %s", process)
try:
process.cancel()
LOG.warning("Cancelled %s", process)
except asyncio.CancelledError:
LOG.error("Failed to cancel %s", process)
await self.__callback({"python-kraken-sdk": {"error": message}})
if exception_occur:
break
self.state = WSState.CLOSED
Expand Down
2 changes: 1 addition & 1 deletion src/kraken/spot/orderbook.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class SpotOrderBookClient(SpotWSClient):
**This client is using the Kraken Websocket API v2**

The orderbook client can be used for instantiation and maintaining one or
multiple order books for Spot trading on the Kraken cryptocurrency exchange.
multiple order books for Spot trading on the Kraken Crypto Asset Exchange.
It uses websockets to subscribe to book feeds and receives book updates,
calculates the checksum and will publish the raw message to the
:func:`on_book_update` function or to the specified callback function.
Expand Down
10 changes: 7 additions & 3 deletions src/kraken/spot/websocket/connectors.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,16 +245,20 @@ async def __reconnect(self: ConnectSpotWebsocketBase) -> None:
if task.exception():
self.state = WSState.ERRORHANDLING
exception_occur = True
message = f"{task} got an exception {task.exception()}\n {task.get_stack()}"
LOG.warning(message)
LOG.warning(
"%s got an exception %s:\n%s\n"
"The connection will be recovered in the background.",
task,
task.exception(),
task.get_stack(),
)
for process in pending:
LOG.warning("pending %s", process)
try:
process.cancel()
LOG.warning("Cancelled %s", process)
except asyncio.CancelledError:
LOG.error("Failed to cancel %s", process)
await self.__callback({"python-kraken-sdk": {"error": message}})
if exception_occur:
break
self.state = WSState.CLOSED
Expand Down
Loading