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.11.tar.gz (62.2 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.11-cp313-cp313-win_amd64.whl (414.0 kB view details)

Uploaded CPython 3.13Windows x86-64

mbn-1.0.11-cp313-cp313-manylinux_2_34_x86_64.whl (613.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

mbn-1.0.11-cp313-cp313-macosx_11_0_arm64.whl (560.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.11-cp313-cp313-macosx_10_12_x86_64.whl (552.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.11-cp312-cp312-win_amd64.whl (414.0 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.11-cp312-cp312-manylinux_2_34_x86_64.whl (614.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.11-cp312-cp312-macosx_11_0_arm64.whl (560.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.11-cp312-cp312-macosx_10_12_x86_64.whl (553.0 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.11-cp311-cp311-win_amd64.whl (407.3 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.11-cp311-cp311-macosx_11_0_arm64.whl (555.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.11-cp311-cp311-macosx_10_12_x86_64.whl (548.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.11-cp310-cp310-win_amd64.whl (407.4 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.11-cp39-cp39-win_amd64.whl (408.6 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.11-cp38-cp38-win_amd64.whl (408.8 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.11.tar.gz
Algorithm Hash digest
SHA256 c2edef4705065865a8d79d839f1d984c1daa727b4d553d355f8885cd2006ea32
MD5 9452358553220a10a15655e28114e247
BLAKE2b-256 ab8904a0294b88078255e86c1969ff6097662b683e6b4dd54f6deaa1d2a8bd7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.11-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 414.0 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.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3ef1afd94186c002faad06ebfb0320b64cb473c43f4e7abd0f45a29225b5d082
MD5 450772df63308f738f6de8dc0a018547
BLAKE2b-256 b6dd24e1fbe6fa754f12a8820296a4fb2f3b1a30e7c7ae8c0bc7f1ea2bf3948d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c1a9d67f568b6ff1f41dfe75172dc4b2243c2d5164828254497e6acce6e7e714
MD5 c4048f12436f2061920f041eaecc2a69
BLAKE2b-256 d22fdc8b7d11c0f638ff893810940a6fa31a6ca6c3f072d59a0f485c37f35422

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e10ccb32b94b3e0fd5591d5b31c469edf5819c03b4d400917603a6fb77f66062
MD5 a152f47019cbe518ce1a156954be3bc8
BLAKE2b-256 f479ff8ecf81c813df43cb9f4400b07d0e353250e0e2e754515803da9a1cbf6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dbeca9d0d65d1c382c0d52d034941a2184b9e024ff336eed8eae5ef39dbcc7ef
MD5 f1ded2db970bed3dbf1d590e9d373ea1
BLAKE2b-256 a0e25b428aea25e00868d74e84f7455dec4e77b26d8d50c56f31f393c1d091b0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.11-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 414.0 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.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 80c2a1cf0411a7a65312db0cdca0da9ce2f41184bb76de9285b787cebce776f8
MD5 e68695a481370d45a7d9aaa06bbb0c64
BLAKE2b-256 5cbe4be83c9c837a3ef4568f8fb4e16f627060ba19277e5192c143aac6a51951

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ddc2a4c493ba901348ccb98cc825aa4d39e7f939c2c4c9aa43d31f265f91bd28
MD5 01d75807ee75990feadc80545236b125
BLAKE2b-256 29ac310e418e9cd9eb9dacc2fb64cacbddba5da95080f2bf9c45b631dbdc87ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39a9eff394b686d71a413769d24557f9f9cd397fdc23e228d370102f2d6c6000
MD5 2f9b0157c8ff41ccd28e9f8436695fd8
BLAKE2b-256 48a31853a9500b4d87d9a558234433e947cd19956f9b648c81158676fdb8a3d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 72377414f21dcb1afe0d65d33a1aeb87cdd542b39d338e00d89d72181d636d5f
MD5 8a75d82d57730d264dda8a3be6f28920
BLAKE2b-256 52acce188760fbdf01d4d461bdd5f87faea0456827be8e1dc3c1023aa2e27dee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.11-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 407.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.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e324fee81cd3e34170d8b7f7a67a0386abcd99c255a2f69d72e6f62ef515836a
MD5 3e3b90272e162f7e6fa58d78b3cf41cc
BLAKE2b-256 97db3cda752db197301359b460e1a57d763bfe91d27cf453b43185dac1bcc07d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3547c9b111c54dfe87a2f30436d2c0ad5ba9f319bedc9d66b1a20dd12948a4e
MD5 2b45527cc0d297a7c57c6966f668236e
BLAKE2b-256 7b97bcedbd734b1707bbfe7525d5e7e4a99074188468d63d9527944d4506afa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.11-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2507dd5be4fcf10d286b74e8e4612beed9e347989db857f51d53fb27f5208d8f
MD5 18f4f29b3f1627e87cdb21675df807d4
BLAKE2b-256 0a6ddc11c1efc7e9053812b042e9915357cda1a5c69aaa3fde392a1c8bc6913e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.11-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 407.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.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1d8e8e56a3a1f7f3e37e64d733905ee45eb32dcab5f0880c7bb90f59355cc555
MD5 8b29edcaa27147266bca4ca6449cfb98
BLAKE2b-256 da8f7a3d30f66081f051ad1c27874e17c1873189d005129074130a3d0db78e5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.11-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 408.6 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.11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 512f2a98383033ebfdf6ae52def2d0cce7ff6d80a92ddaa66c204eaf0d2cc43a
MD5 2366fb778bc47616f7bf3c311ffe9ce8
BLAKE2b-256 0afecb22827a8786e402f4d38207e81b956e50c219de859eba4f15cccf7fe130

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.11-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 408.8 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.11-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 85b6719e81060387215e9e30211088b44b85b650b2293d8d67158f30d5875aef
MD5 e60b88cc9c4b2ea1df6fbc79dd6134b5
BLAKE2b-256 d72c40bf400b0171b2a63b982916893021aa51acc4dab303b2d83d22bf511809

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