# MM Toolbox
**MM Toolbox** is a Python library designed to provide high-performance tools for market making strategies.
## Contents
```plaintext
mm-toolbox/
├── src/
│ ├── mm_toolbox/
│ │ ├── candles/ # Tools for handling and aggregating candlestick data
│ │ ├── logging/ # Lightweight logger + Discord/Telegram support
│ │ ├── moving_average/ # Various moving averages (EMA/HMA/WMA etc)
│ │ ├── numba/ # Numba-optimized functions
│ │ ├── orderbook/ # Multiple orderbook implementations & tools
│ │ ├── ringbuffer/ # Efficient fixed-size circular buffers
│ │ ├── rounding/ # Fast price/size rounding utilities
│ │ ├── time/ # Time utilities
│ │ ├── websocket/ # WebSocket clients + payload verification
│ │ ├── weights/ # Weight generators
│ ├── __init__.py # Package initialization
├── tests/ # Unit tests for all the modules
├── .gitignore # Git ignore file
├── LICENSE # License information
├── README.md # Main documentation file
├── requirements.txt # Python dependencies
└── setup.py # Setup script for pip installation
```
## Installation
MM Toolbox is available on PyPI and can be installed using pip:
```bash
pip install mm_toolbox
```
To install directly from the source, clone the repository and install the dependencies:
```bash
git clone https://github.com/beatzxbt/mm-toolbox.git
cd mm-toolbox
pip install poetry
poetry install
```
## Usage
After installation, you can start using MM Toolbox by importing the necessary modules:
```python
from mm_toolbox import Orderbook
from mm_toolbox import ExponentialMovingAverage
from mm_toolbox import time_iso8601
# Example usage:
orderbook = Orderbook(size=100)
```
## Planned additions/upgrades
### v0.2.0
**Numba**: Complete coverage of [Numba's top-level functions](https://numba.readthedocs.io/en/stable/reference/numpysupported.html#other-functions) (with custom implementation if faster).
**Moving Average**: Weighted Moving Average (WMA).
**Orderbook**: Directly update BBA, ++Performance.
**Candles**: Multi-trigger candle (time/tick/volume), ++Performance.
**Logger**: High performance logger.
**Websocket**: Standard websocket, Fast websocket pool + auto latency swapping mechanism.
### v0.3.0
**Numba**: Coverage of [Numba's reduction functions.](https://numba.readthedocs.io/en/stable/reference/numpysupported.html#reductions) (with custom implementation if faster).
**Moving Average**: Simple Moving Average (SMA).
**Orderbook**: [HFT Orderbook](/mm_toolbox/src/orderbook/hft.py), aiming to be fastest Python orderbook on GitHub.
### v0.4.0
**Weights**: Logarithmic.
**Orderbook**: HFTOrderbook ++Performance.
**Websocket**: FastWsPool ++Stability ++Performance, VerifyWsPayload ++Performance.
### v0.5.0
**Orderbook**: L3 Orderbook.
## License
MM Toolbox is licensed under the MIT License. See the [LICENSE](/LICENSE) file for more information.
## Contributing
Contributions are welcome! Please read the [CONTRIBUTING.md](/CONTRIBUTING.md) for guidelines on how to contribute to this project.
## Contact
For questions or support, please open an [issue](https://github.com/beatzxbt/mm-toolbox/issues).
I can also be reached on [Twitter](https://twitter.com/BeatzXBT) and [Discord](@gamingbeatz) :D
Raw data
{
"_id": null,
"home_page": "https://github.com/beatzxbt/mm-toolbox",
"name": "mm-toolbox",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10.0",
"maintainer_email": null,
"keywords": "market making, high performance python, orderbook",
"author": "beatzxbt",
"author_email": "121855680+beatzxbt@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/55/88/40fd9bdb5e2be488bf570da141d313a915a77a7111403fd6286b5fdbd9d7/mm_toolbox-0.2.1.tar.gz",
"platform": null,
"description": "# MM Toolbox\n**MM Toolbox** is a Python library designed to provide high-performance tools for market making strategies.\n\n## Contents\n```plaintext\nmm-toolbox/\n\u251c\u2500\u2500 src/\n\u2502 \u251c\u2500\u2500 mm_toolbox/\n\u2502 \u2502 \u251c\u2500\u2500 candles/ # Tools for handling and aggregating candlestick data\n\u2502 \u2502 \u251c\u2500\u2500 logging/ # Lightweight logger + Discord/Telegram support\n\u2502 \u2502 \u251c\u2500\u2500 moving_average/ # Various moving averages (EMA/HMA/WMA etc)\n\u2502 \u2502 \u251c\u2500\u2500 numba/ # Numba-optimized functions\n\u2502 \u2502 \u251c\u2500\u2500 orderbook/ # Multiple orderbook implementations & tools\n\u2502 \u2502 \u251c\u2500\u2500 ringbuffer/ # Efficient fixed-size circular buffers\n\u2502 \u2502 \u251c\u2500\u2500 rounding/ # Fast price/size rounding utilities\n\u2502 \u2502 \u251c\u2500\u2500 time/ # Time utilities\n\u2502 \u2502 \u251c\u2500\u2500 websocket/ # WebSocket clients + payload verification\n\u2502 \u2502 \u251c\u2500\u2500 weights/ # Weight generators \n\u2502 \u251c\u2500\u2500 __init__.py # Package initialization\n\u251c\u2500\u2500 tests/ # Unit tests for all the modules\n\u251c\u2500\u2500 .gitignore # Git ignore file\n\u251c\u2500\u2500 LICENSE # License information\n\u251c\u2500\u2500 README.md # Main documentation file\n\u251c\u2500\u2500 requirements.txt # Python dependencies\n\u2514\u2500\u2500 setup.py # Setup script for pip installation\n```\n\n## Installation\n\nMM Toolbox is available on PyPI and can be installed using pip:\n\n```bash\npip install mm_toolbox\n```\n\nTo install directly from the source, clone the repository and install the dependencies:\n```bash\ngit clone https://github.com/beatzxbt/mm-toolbox.git\ncd mm-toolbox\npip install poetry\npoetry install\n```\n\n## Usage\n\nAfter installation, you can start using MM Toolbox by importing the necessary modules:\n```python\nfrom mm_toolbox import Orderbook\nfrom mm_toolbox import ExponentialMovingAverage\nfrom mm_toolbox import time_iso8601\n\n# Example usage:\norderbook = Orderbook(size=100)\n```\n\n## Planned additions/upgrades\n\n### v0.2.0\n**Numba**: Complete coverage of [Numba's top-level functions](https://numba.readthedocs.io/en/stable/reference/numpysupported.html#other-functions) (with custom implementation if faster).\n\n**Moving Average**: Weighted Moving Average (WMA).\n\n**Orderbook**: Directly update BBA, ++Performance.\n\n**Candles**: Multi-trigger candle (time/tick/volume), ++Performance.\n\n**Logger**: High performance logger.\n\n**Websocket**: Standard websocket, Fast websocket pool + auto latency swapping mechanism.\n\n### v0.3.0\n**Numba**: Coverage of [Numba's reduction functions.](https://numba.readthedocs.io/en/stable/reference/numpysupported.html#reductions) (with custom implementation if faster).\n\n**Moving Average**: Simple Moving Average (SMA).\n\n**Orderbook**: [HFT Orderbook](/mm_toolbox/src/orderbook/hft.py), aiming to be fastest Python orderbook on GitHub.\n\n### v0.4.0\n**Weights**: Logarithmic.\n\n**Orderbook**: HFTOrderbook ++Performance.\n\n**Websocket**: FastWsPool ++Stability ++Performance, VerifyWsPayload ++Performance.\n\n### v0.5.0\n**Orderbook**: L3 Orderbook.\n\n## License\nMM Toolbox is licensed under the MIT License. See the [LICENSE](/LICENSE) file for more information.\n\n## Contributing\nContributions are welcome! Please read the [CONTRIBUTING.md](/CONTRIBUTING.md) for guidelines on how to contribute to this project.\n\n## Contact\nFor questions or support, please open an [issue](https://github.com/beatzxbt/mm-toolbox/issues). \nI can also be reached on [Twitter](https://twitter.com/BeatzXBT) and [Discord](@gamingbeatz) :D\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\"high-performance python tools for market making strategies.\"",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/beatzxbt/mm-toolbox",
"Repository": "https://github.com/beatzxbt/mm-toolbox"
},
"split_keywords": [
"market making",
" high performance python",
" orderbook"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e62542a2f6b1427158bd4f17832a3b431f2eb53510912278514d3ddb0cdc4b0f",
"md5": "aee4920b382ed940e3d2e74b543050ae",
"sha256": "7428f0da2fae4107295623c9a730b2a5b5412e0fb66e7fe1a7298bdc773a07c7"
},
"downloads": -1,
"filename": "mm_toolbox-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "aee4920b382ed940e3d2e74b543050ae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10.0",
"size": 52642,
"upload_time": "2024-09-14T10:16:58",
"upload_time_iso_8601": "2024-09-14T10:16:58.280539Z",
"url": "https://files.pythonhosted.org/packages/e6/25/42a2f6b1427158bd4f17832a3b431f2eb53510912278514d3ddb0cdc4b0f/mm_toolbox-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "558840fd9bdb5e2be488bf570da141d313a915a77a7111403fd6286b5fdbd9d7",
"md5": "640bdfe98662ad011159be3f801a4411",
"sha256": "803aab31128c4ec3fb0a24e3a699ba80253b75f649ca06431a98662dcbe8180a"
},
"downloads": -1,
"filename": "mm_toolbox-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "640bdfe98662ad011159be3f801a4411",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10.0",
"size": 36587,
"upload_time": "2024-09-14T10:17:00",
"upload_time_iso_8601": "2024-09-14T10:17:00.362278Z",
"url": "https://files.pythonhosted.org/packages/55/88/40fd9bdb5e2be488bf570da141d313a915a77a7111403fd6286b5fdbd9d7/mm_toolbox-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-14 10:17:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "beatzxbt",
"github_project": "mm-toolbox",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mm-toolbox"
}