Metadata-Version: 2.4
Name: pybinbot
Version: 1.3.5
Summary: Utility functions for the binbot project.
Author-email: Carlos Wu <carkodw@gmail.com>
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic[email]>=2.12.5
Requires-Dist: numpy>=2.4.2
Requires-Dist: pandas>=3.0.1
Requires-Dist: pymongo==4.6.3
Requires-Dist: pandas-stubs>=2.3.3.251219
Requires-Dist: requests>=2.32.5
Requires-Dist: kucoin-universal-sdk>=1.3.0
Requires-Dist: aiohttp>=3.13.3
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: aiokafka>=0.13.0
Requires-Dist: pandera>=0.29.0
Provides-Extra: dev
Requires-Dist: pytest>=9.0.2; extra == "dev"
Requires-Dist: ruff>=0.11.12; extra == "dev"
Requires-Dist: mypy>=1.19.1; extra == "dev"
Requires-Dist: types-requests>=2.32.4.20260107; extra == "dev"
Requires-Dist: types-python-dateutil; extra == "dev"
Requires-Dist: httpx>=0.28.1; extra == "dev"
Requires-Dist: pytest-asyncio>=1.3.0; extra == "dev"
Dynamic: license-file

# PyBinbot

Utility functions for the binbot project. Most of the code here is not runnable, there's no server or individual scripts, you simply move code to here when it's used in both binbot and binquant.

``pybinbot`` is the public API module for the distribution.

This module re-exports the internal ``shared`` and ``models`` packages and the most commonly used helpers and enums so consumers can simply::

        from pybinbot import round_numbers, ExchangeId

The implementation deliberately avoids importing heavy third-party libraries at module import time.


## Installation

```bash
uv sync --extra dev
```

`--extra dev` also installs development tools like ruff and mypy


## Publishing

1. Save your changes and do the usual Git flow (add, commit, don't push the changes yet).
2. Bump the version, choose one of these:

```bash
make bump-patch
```
or 

```bash
make bump-minor
```

or

```bash
make bump-major
```

3. Git tag the version for Github. This will read the bump version. There's a convenience command:
```
make tag
```

4. `git commit --amend`. This is to put these new changes in the previous commit so we don't dup uncessary commits. Then `git push`


For further commands take a look at the `Makefile` such as testing `make test`
