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.15.tar.gz (63.1 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.15-cp313-cp313-win_amd64.whl (439.1 kB view details)

Uploaded CPython 3.13Windows x86-64

mbn-1.0.15-cp313-cp313-manylinux_2_34_x86_64.whl (637.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

mbn-1.0.15-cp313-cp313-macosx_11_0_arm64.whl (585.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.15-cp313-cp313-macosx_10_12_x86_64.whl (587.1 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.15-cp312-cp312-win_amd64.whl (439.2 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.15-cp312-cp312-manylinux_2_34_x86_64.whl (637.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.15-cp312-cp312-macosx_11_0_arm64.whl (586.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.15-cp312-cp312-macosx_10_12_x86_64.whl (588.0 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.15-cp311-cp311-win_amd64.whl (436.3 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.15-cp311-cp311-macosx_11_0_arm64.whl (592.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.15-cp311-cp311-macosx_10_12_x86_64.whl (598.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.15-cp310-cp310-win_amd64.whl (436.1 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.15-cp39-cp39-win_amd64.whl (437.2 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.15-cp38-cp38-win_amd64.whl (437.1 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.15.tar.gz
Algorithm Hash digest
SHA256 a219820ab5d0eed4f91ba17164a6787a5cde2a95b96bf64dd416222e38970c0b
MD5 ffe76892a5c4364de9f54c447efd9f4a
BLAKE2b-256 cba6271d23e2ff3325477af33f3980f6b423cd437fa4aa8dec33da1bd356247c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.15-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 439.1 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.15-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8c606b41bbbd7626d2bc981113a43ac1d3cd169a3ace25c2ae53049323fd0e02
MD5 f76e9ea33783edc2387ed6c335e2ab22
BLAKE2b-256 9f9efd3734234e8beba4426c14bdce96bfd995c2eb994549bdbb84ff73eabf6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 305548d93d3ebbc644ba175447c5b63c51e38f20bed883e6a36b53dd6af27377
MD5 ec7185d27edadea6b2ce718205b41132
BLAKE2b-256 bda345dbeaa45925f5e48e7890a58b12663d19114e0b5906b03e19726c9d49f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 19a8fa1847680c492bbbf4407fec318d33ed909da5b24c4a5ca5ddf9e720869c
MD5 ddcb6b7cc5ef608503208d635b212b6a
BLAKE2b-256 1e85f9cf7fd227adba1f7a050c53e80bd3b5b0339ea9f2f7d5bb6edd4bbfc217

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 14c05083585e5681b25ba8cb4bb4c54a648c115af3670a94ce1dc080fbe3450e
MD5 c4ebc152cbbe547d869a3876d57d0524
BLAKE2b-256 e21e6b94207225fb24e6e570256209fe5a126c658cd7578e4ccd5fcaaff6e7f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.15-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 439.2 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.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ee796b1b1e1d526b427a87fb43e939d58f795e865b4d35f5fd38d2f36d9b4b40
MD5 f0d3ec71be69cb8b8412f57c140be788
BLAKE2b-256 b1af3f4df82869e2a8a98224e527f19242763c91984b4a2cf7a1eb5c193e56a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 dfdcf0698fc26076e08272ebdaa01722cdcefd33eaf9417966ca3464cf1bd6ba
MD5 aaff144a46fd6089a01e9af3d8387af3
BLAKE2b-256 e7239dbc8af9cdf29f1b95ec49c2a1a457095e2071bfa7fb68f752153ebbe17f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 639624320ba08647ab5bd2f12841ea41ef1772c81db585d51762349e2995d472
MD5 7ba9728866c352eaf6dd51cdc8c77924
BLAKE2b-256 8c5e8f4140486f3278e1724586ab6149b411372cd4b03642d2131714aad735d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 21b6f2524cba3a94c0ec72177dcbe47fb7b6eb14064a2485e9907565ed4d2c8d
MD5 cbdbea1eee61609784e9bb57eeaf7df8
BLAKE2b-256 14baabf0aa59cefcd0623082ce918196b2a152e49ed97be8d0d149c655257e42

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.15-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 436.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.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f19631738486600a84550e58540b33f7a3ee31b2a795a612ab2a71720eea22fe
MD5 d72ce525938324a678d82c780e237267
BLAKE2b-256 26ee69db8461309dcbb68b1e47ac18ce09dea51e99f4cfe7e3d00440e389f2c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68f11cbee8976ae1b59cd99cf53a5ef978156aeb7d97532cd881fc194d78aef9
MD5 c03230c95ae477b8eafd5ec08436dddb
BLAKE2b-256 9f30150707afd4460a4f029ec71195832542a448033635aec43427f9978b5ad2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.15-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f92ce7a31a2d95b4d95e6c216e317e085b42d2300c849c56dd8ca365364944b3
MD5 d2a84d1cc7cdbc172b80f70f74570bd7
BLAKE2b-256 777e10f0275e9c7b530ffb691c7046188ea92f195878f9a39b877976d511465b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.15-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 436.1 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.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f2b6c65d848f7b825a15aeb8fb9785e59cc104ce83a462c01f5bc0e48a28bb77
MD5 6d0991c46f108a7745f2e143de53dd62
BLAKE2b-256 f9ffe176fc9d9433351e5e06ebd0ae7ba148b1e8f571fadbef46232d33e63989

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.15-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 437.2 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.15-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 eb8b4ac8216051096bff9ca2a9e4b04da8d6a90ec27ea3bf4d36112f2b7bdc13
MD5 c4b90a46b03db9c4b5a93d78ecd465d0
BLAKE2b-256 64487b53cafa0c12f88e9ce0fe5c8870043ecb0f4761584d7ccd6a820a4cbe54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.15-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 437.1 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.15-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ba503a7aca6def91d658f8aeb61742891aab61784af3c7cf13fd0731a8a58f80
MD5 0e8cb85c87db77677bd8861b799f8ee9
BLAKE2b-256 dc77e74ea8e2ba669ea3ea2c6116456e927218dafc2ea8253ffd8daffa0f8852

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