Skip to main content

A binary encoding library designed for efficient data storage and transportation in trading platforms.

Project description

Midas Binary Encoding (MBN)

License

Disclaimer

The Midas Binary Encoding (MBN) library is heavily inspired by and directly influenced by the Databento DBN library. When starting this project, I was new to Rust and binary encoding, and much of the initial development was based on learning from and building upon Databento's DBN implementation. While MBN will continue to evolve into its own implementation, it is important to acknowledge the foundational inspiration provided by Databento's work.

Overview

The Midas Binary Encoding (MBN) library is a foundational component of the Midas ecosystem. It serves as the shared protocol for encoding and decoding data across all Midas system components. Although users typically do not interact with MBN directly, it plays a crucial role in ensuring seamless data exchange between:

  • Midas Server: Data storage and API backend.
  • MidasTrader: Core backtesting and live trading engine.
  • Midas Shell: Command-line and REPL interface.
  • Midas GUI: Frontend visualization and analysis.

MBN functions similarly to protocol buffers, providing a structured and efficient binary format for data serialization and deserialization.

Installation

Rust Installation

Add MBN to your Rust project's Cargo.toml:

[dependencies]
mbn = { git = "https://github.com/midassystems/mbn.git", branch = "main" }

Python Installation

For Python, MBN must be installed from source:

  1. Clone the repository:

    git clone https://github.com/midassystems/mbn.git
    cd mbn/mbn_python
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Build the package:

    ./test.sh
    

    **Select build when prompted

  4. Navigate to the desired installation location and install the built package:

    cd mbn/mbn_python
    pip install dist/*.whl
    

Future Plans

  • Extend schema support for additional data types.
  • Optimize encoding and decoding for larger datasets.

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request with suggestions or improvements.

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mbn-1.0.13.tar.gz (62.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mbn-1.0.13-cp313-cp313-win_amd64.whl (417.8 kB view details)

Uploaded CPython 3.13Windows x86-64

mbn-1.0.13-cp313-cp313-manylinux_2_34_x86_64.whl (618.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

mbn-1.0.13-cp313-cp313-macosx_11_0_arm64.whl (565.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.13-cp313-cp313-macosx_10_12_x86_64.whl (557.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.13-cp312-cp312-win_amd64.whl (417.7 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.13-cp312-cp312-manylinux_2_34_x86_64.whl (618.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.13-cp312-cp312-macosx_11_0_arm64.whl (565.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.13-cp312-cp312-macosx_10_12_x86_64.whl (557.5 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.13-cp311-cp311-win_amd64.whl (410.3 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.13-cp311-cp311-macosx_11_0_arm64.whl (559.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.13-cp311-cp311-macosx_10_12_x86_64.whl (553.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.13-cp310-cp310-win_amd64.whl (410.4 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.13-cp39-cp39-win_amd64.whl (411.5 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.13-cp38-cp38-win_amd64.whl (411.7 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

Details for the file mbn-1.0.13.tar.gz.

File metadata

  • Download URL: mbn-1.0.13.tar.gz
  • Upload date:
  • Size: 62.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for mbn-1.0.13.tar.gz
Algorithm Hash digest
SHA256 7e4f506aaf672d5dad4ec9f260c6bf1d775b0a7612ccb74fafaf6320c9d44eeb
MD5 b645052ac48777f581338d26cf6181cc
BLAKE2b-256 0736b6f56a992306936b7d00cbfddddf5d8893964481721bb993e1cf010a01e7

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mbn-1.0.13-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 417.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for mbn-1.0.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 27e4abadae72074c720755eff236befd5e69ff1ad7fa7e74f63a2d3eb98774a6
MD5 03411e14790affca260a7040c4f9a32f
BLAKE2b-256 2490338ba2ea9971b101991eb9d1d4dc438cf3c4e46bc05f4902f64df0b2fa5a

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8a5122c25e29f940093ef04a5255fc85fb0fe9c1c43e28cfcbaf71247692188d
MD5 9578832a5b64807d1fdecada5836f71f
BLAKE2b-256 a051da29f97f4b53cb19aebd4c523326db5d34a01404b5eb7520dee442d424b4

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7ff1e7f17f9a3b92b70cba8fef885c1dd8ce3441f204aa145a8b27a68b4f56f
MD5 5bba629384dea4ef93c23d48e17e44eb
BLAKE2b-256 3a77cf15e58bdb08183cb63ad6162e1fe3fd5f1ee1794cf8acbaa009201af8fe

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 89a03ddbb1ec089fa0a227c06da859e2ef1a28b083147450dbd4d4b64ccd9896
MD5 2fac1014a0a5af9ae8d47741b4d34cde
BLAKE2b-256 9e7405ef516a2cd8e94380f54ced667772cbaf8b883416038c23f905527dcfcd

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mbn-1.0.13-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 417.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for mbn-1.0.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 815f5dd19b99a007b62439936b5575b87718af948958d975dbcddfd18d1e999a
MD5 c107bcc9937cb8485614e1f14dbab5ca
BLAKE2b-256 2e29e121b9e83580a5de0b602290431fcb740b0f2947f6d9819cb4102042c4ff

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c1847ee7fab42246c5f5f86894951ae42ff61ff67400351ab284fed3863e2296
MD5 780dd460ee893e16ddf7c4fdd46615e3
BLAKE2b-256 e84b6e265ef32b5b9c2420ee42d7bca1d3b6457f0bd5de1af58984ce344223c2

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e1f73eb841e1bbe258b3518239c0b11294b5a459b8908a209ecdc07c839b24f
MD5 ea58c07e2c929e6c7f3ccf9167e68d09
BLAKE2b-256 af46139478a67cd078e9a540b19e82f99cc27aa70a51e94fbd94937239650756

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a26b65009513712e2368095b376d27a0230e56ae35ba7c6ad7050dccc97ad788
MD5 6607821d25ce5afd2efea7b004c423cd
BLAKE2b-256 c10956211b6c209e42ee12ea012a3d3e1ae28e40f2ce5f95b3b7867513623161

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mbn-1.0.13-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 410.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for mbn-1.0.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1f4a2fb81b3cfa6f9365827be73e0a810217a6bae4557fc84544a9f372f09ee2
MD5 20c9d6445ab2f0844aa5f90944eb3882
BLAKE2b-256 f13c03e56c1be001c3ad5d681708c3944f38143426eb59a54f330215aee05675

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3216328a6e970f28c8bac7de9eb00e5938ad4dcf0c3cfda8fb9fb00550bee696
MD5 34c3f55e36dc7eeedbccca1a965aaa8b
BLAKE2b-256 88c5b257d9386d1e7c98c6011e9c2ccab39048d6c9f361322a2d27111ff2435e

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mbn-1.0.13-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a121fb08f5b9b8a2376e500ef87af771a06490a886a482b63c36b7282124d467
MD5 2e5a85b64b08680b548d6195e16c94f9
BLAKE2b-256 cecc56ab2c0b601bef0cc935c7c36c1db0b54cd20d4259ba3041227ca852b64e

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mbn-1.0.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 410.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for mbn-1.0.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1d25815793d62d26445cc3e4b1c67042cc38a834d25911a87e5c30159181b483
MD5 a7087841df81ea8a5280f4604a869aa9
BLAKE2b-256 10cbf5547d9ad3f3df9bafe9605401ba897b113b6fd0b065458b632f5d5dde41

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mbn-1.0.13-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 411.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for mbn-1.0.13-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3fde641b31774567efc8378314adb889ae7c4bf80baf47d760a4539aa0bf8a79
MD5 06506ef6d5d6b3de56322731f9995f93
BLAKE2b-256 a56e98a7a25371cf73bcacb6927768bedf625e123ef7d0e16b495c909b5b73a7

See more details on using hashes here.

File details

Details for the file mbn-1.0.13-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mbn-1.0.13-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 411.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.1

File hashes

Hashes for mbn-1.0.13-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 efd45254ee2f77c6f6fd50a66abbabb5b2b3a2476b7353d78aa5fa2a49e1006e
MD5 05598d7951f09a220925596140ebaa16
BLAKE2b-256 acc28c1ac95fa43a55370cfcc73d41e7f0c7cea176803963d057aa1b9de5c016

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page