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.5.tar.gz (67.7 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.5-cp313-cp313-macosx_11_0_arm64.whl (494.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.5-cp313-cp313-macosx_10_12_x86_64.whl (481.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.5-cp312-cp312-win_amd64.whl (351.7 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.5-cp312-cp312-manylinux_2_34_x86_64.whl (534.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.5-cp312-cp312-macosx_11_0_arm64.whl (494.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.5-cp312-cp312-macosx_10_12_x86_64.whl (482.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.5-cp311-cp311-win_amd64.whl (345.4 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.5-cp311-cp311-macosx_11_0_arm64.whl (486.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.5-cp311-cp311-macosx_10_12_x86_64.whl (477.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.5-cp310-cp310-win_amd64.whl (345.4 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.5-cp39-cp39-win_amd64.whl (346.7 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.5-cp38-cp38-win_amd64.whl (346.3 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.5.tar.gz
Algorithm Hash digest
SHA256 9415e763edd8e5e143304ea4fb80844a7ee30bd3be61d25b65a1e45c6ff3e719
MD5 5b6443f21e3e0437dedca653215e5087
BLAKE2b-256 d6662e86dbf6334bc10bf8ac864c1555146d7d2a345f11ecac318b1a61f08ca7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70d9589a52ebe6c01e90fd468c7c7b66a1b08d42a264d110d01d5254fdb82450
MD5 200eabbf1360a1bfc7b3a53bf45de539
BLAKE2b-256 a7ceca1e5787db20b2a364604cb477532bc45d1e50e26fd203319652b88c7deb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.5-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 22b6cc6061a6745f7aade3ff39b1fb3751f110f514e8a4cf8438a37dde83db4d
MD5 6260de51e00ac2b15597cb7de2ef0f7f
BLAKE2b-256 db3b9166def4b567985168095807613bf8a2dbe7a7f453ddafe127daed2acf50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 351.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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 87df42d9dc384564771eac54dbeecfdb6078207ad77083d46263e79a9d0d29e1
MD5 738498c6920356277e838c56b2d7811a
BLAKE2b-256 a33298c5b0f3e3bd04dd46147fd1ed1f36cfc20c501397967f9231d64dbb085a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.5-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8e1e02b2e0bfd4186d587b648e9c06fb71f218f70e39a87559fc6b7769a50cfe
MD5 39c98969cc4f58d6ee9d7e74bd9f7021
BLAKE2b-256 3c3292d62c1157d93fe3ea90ba5d04a643cae9e2d833271d86face33f9bbf48e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f0cf2cf33cee08921ac30752a2f29860619a32059748e5e9a9f5294608ea0f4
MD5 cd66fd2fac55ecd5abcd3dc58853defd
BLAKE2b-256 8798d9df10d49c8485a6f437e51be8b74568f084843796718fc61b41acd29d6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 77b2c9d0adb2949f2a79dd8b5f259e2b917200be27136b006a004a4be8625c74
MD5 d3edd0d720ead5396d62534164a31d32
BLAKE2b-256 55de453ab9a1382f4d7ddc34022e98b7508699713e6548c5559141aaf8bc94af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 345.4 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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 691fdfc56df7c20d622c551f50328476ee901a482de3c9d7aedece74368db20a
MD5 bbfae2f07b05902daf4306e43cfb089f
BLAKE2b-256 9a850bac2ae938337ec90ef260d3ceb9f3933481ba6e42cc1e32a712154e7dd6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7831ed258f11562ad77ebda83851440c89704839a5ca3d7b106e7ab83c9c125d
MD5 26f674656f07ac94bf1df4a421942cf3
BLAKE2b-256 589cfe325268f1d2df6ffcb03076987c40bf5c48763d622f1ac3cb924e845580

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 26cf1738fe4cff2c3e2664a592f6687645ec8bf39dd051047580bf41223a2102
MD5 07adf37f6517c6c3cc912ee98a28d749
BLAKE2b-256 dd85e80858158d65c5e412b70e476c1b642cef55d2be695817b88f669bdf2747

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 345.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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9f11ab7d67f29ec55d085079f14d35b2d58f99de7b46f34775b796071b142847
MD5 df1c5f083533adc6533da46f9f2eb03b
BLAKE2b-256 ad93360b83c13d5408d4d30494a30baffd96542d4aa7dd0e3dc2191d1ad3d1e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 346.7 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.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 52f9dd975b94eadf33473e6a35fe6e159248231e58aa827b1c4430b9f05bded3
MD5 9fb93fedc678e22f6103365682fa0040
BLAKE2b-256 aeae8828c82a639c2e3a8cbf139deae66ca3768e0d4741e4282bbca32a589f07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 346.3 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.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ecd4b5c54c062efdd37fef9f39fdf980fbb95738c2c452de2476359b23434e34
MD5 ee10b44a374a53773c53013689a7104a
BLAKE2b-256 aa06093dddab973e0533d06994115d055005eb4243b434f37063953aa4809411

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