Releases: beatzxbt/mm-toolbox
Releases · beatzxbt/mm-toolbox
mm-toolbox 1.0.0b7
mm-toolbox 1.0.0b7 (2026-05-12)
Orderbook
- Lower minimum levels from 64 to 4.
- Optimize hot paths with local variable binding and eliminate nested calls.
- Implement incremental delta maintenance and BBO caching.
- Fix P0 core bugs: BBO worse-price handling, delta bid loop, u64 overflow.
- Fix heap buffer overflow in
consume_deltas. - Fix
PyOrderbookLevel.from_struct()missing__cinit__arguments. - Guard double-to-uint64 conversions against non-finite and negative values.
- Reorganize tests into 3-tier architecture and fix weak/zero assertions.
Candles
- Fix critical bugs and improve performance.
Time
- Harden C time module: fix thread safety, remove malloc, add
nogil, buffer hardening.
Utilities
- Replace Decimal with pure C implementation for
_rounding_factor.
SHM / Ringbuffer
- Fix SPSC ringbuffer bugs and improve performance.
- Split monolithic
core.pyxinto_shm/spsc/mpscmodules. - Add
consume_into/consume_all_intofor SHM ringbuffers. - Remove ZMQ IPC ringbuffer and
zmqdependency. - Add ringbuffer protocols; standardize
insert/insert_batchto returnbool. - Remove packed operations from SHM ringbuffers.
- Unify monolithic and split ringbuffer APIs.
- Remove
overwrite_latest; addinsert_char/consume_intoto bytes ringbuffers. - Add allocation overflow checks in
BytesRingBufferFastconstructor. - Validate message lengths in consumer path to prevent out-of-bounds access.
- Harden shared-memory file creation with
O_EXCL,O_NOFOLLOW, andfstatvalidation. - Remove
insert_charfrom public Python API to prevent out-of-bounds reads.
Logging
- Finalize advanced logging system.
- Redesign standard logger as single-threaded sync logger.
- Fix
.shm/artifact buildup in tests by usingtmp_pathfor IPC fixtures. - Create fresh HTTP sessions per push and randomize default SHM path.
- Prevent u32 overflow in binary protocol buffer capacity calculations.
Websocket
- Remove
WsConnectionState; add direct accessors and tests. - Fold
_safemethods into dispatch; eliminate duplicate state checks. - Remove redundant state checks from public send methods.
- Remove thread-safety dispatch; assume single-threaded callers.
- Increase default ping interval to 1s; use fast EMA for latency tracking.
- Replace
get_type_hintswith safe annotation inspection to prevent code execution. - Add local server benchmarks for
WsSingleandWsPool. - Remove live Binance benchmark in favor of local server benchmarks.
- Simplify benchmark CLI to symbols and stream-kinds only.
Moving Average
- Refactor API, fix ringbuffer compatibility, add tests and protocol.
- Align TEMA
pxddeclarations withpyximplementation.
Rate Limiter
- Simplify design and fix correctness issues.
Benchmarks
- Add MPSC, candles, moving average, rate limiter, and rounding benchmarks.
- Migrate websocket benchmarks to core
BenchmarkReporter. - Eliminate all artifact leaks across IPC, SHM, and logging tests/benchmarks.
Examples
- Add candle types, moving averages, and MPSC pipeline demos.
- Restore
binance_stream.pywith SPSC SHM ringbuffer. - Fix
binance_stream.pySPSC startup race condition. - Repair
binance_stream.pywith multiple critical fixes.
Build / CI
- Build macOS arm64-only wheels; ignore local wheel artifacts.
- Add Cython-aware coverage reporting; merge coverage targets into
test-coverage.
v0.2.1
v0.2.0
Changes/Upgrades
-
Numba: Complete coverage of Numba's top-level functions (with custom implementation if faster).
-
Orderbook: Directly update BBA, ++Performance
-
Candles: ++Performance
-
Websocket: Fast websocket pool + auto swapping latency mechanism.
Notes
- Changed root folder from /mm_toolbox/src/ -> /src/mm_toolbox/ for easier poetry installation and specific imports
- Added all to every init.py for easier * imports (inline with ruff suggestions)
- Removed black formatting
- Reduced dependencies, now shows prompts with requirements if needed. Goal is to reduce base dependencies as much as possible.
v0.1.2
v0.1.1
-
Full functioning base set of features, near 100% test coverage:
- Candles (Time, Tick, Volume)
- Logger (Text, Discord, Telegram)
- Moving Average (EMA, HMA)
- Numba (Partial coverage Array, Full coverage LinAlg)
- Orderbook (Standard array style)
- Ringbuffer (1D, 2D, Multi-Dim)
- Rounding
- Time (ISO8601 to-and-fro)
- Websocket (Payload integrity verification)
- Weights (EMA, Geometric)
-
PyPI release (https://pypi.org/project/mm-toolbox/)
-
Poetry dependency management
(v0.1.0 skipped due to PyPI dependency clash, invalid build)