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.14.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.14-cp313-cp313-win_amd64.whl (440.0 kB view details)

Uploaded CPython 3.13Windows x86-64

mbn-1.0.14-cp313-cp313-manylinux_2_34_x86_64.whl (637.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

mbn-1.0.14-cp313-cp313-macosx_11_0_arm64.whl (585.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.14-cp313-cp313-macosx_10_12_x86_64.whl (587.4 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.14-cp312-cp312-win_amd64.whl (440.0 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.14-cp312-cp312-manylinux_2_34_x86_64.whl (637.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.14-cp311-cp311-win_amd64.whl (436.8 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.14-cp311-cp311-macosx_11_0_arm64.whl (591.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.14-cp311-cp311-macosx_10_12_x86_64.whl (598.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.14-cp310-cp310-win_amd64.whl (436.6 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.14-cp39-cp39-win_amd64.whl (437.7 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.14-cp38-cp38-win_amd64.whl (437.5 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

  • Download URL: mbn-1.0.14.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.14.tar.gz
Algorithm Hash digest
SHA256 5cdf615a582f4cb62d01158fc703e77e033cf89c528799704ba57f38c62fa29d
MD5 8362094b58306b62d7af28dac0e7e2f9
BLAKE2b-256 777c2b3e8badb7ca96bd576753651055fe1a14c375b038a4881b8d18659756b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.14-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 440.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.14-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 14df53eb733a406ce2366d2e4bd7f7e43fd42fe81a10b09856571d715a389358
MD5 720ae6387121707562eb3743515694e5
BLAKE2b-256 3726f3435bf8c876378b9972d32719aa030f577b2a448726d26309276c5f6b97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 50cdd98a2a3449d2085e1a1d61400450cb2f0e6e8f0d7ca93f2e25855b3653ce
MD5 d693d3daeb9e55da3089b6c6aa11a8c1
BLAKE2b-256 0f9b0397c05335ccf9f146fdde44736bf46b5ceb509dbaac9622619fc849f25c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e601e4f3e0893d6e7fc2443f10c82623fabc285af673aa04196d5384dce5fbd3
MD5 6a135d00e6419fdf30607633fde8d43c
BLAKE2b-256 c369ab32784dcdacb17bcea44cb4bd50a3f35c5e7a11c99a2c7d59cf4221d983

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5cbc229f16ed2b2cb2f548323ac30413fbdad82c2ca63ca09ed06b06c20a49fe
MD5 a7c952b3e0abe7ae4b3257037f01fd93
BLAKE2b-256 106ce61725e3cda409bbf32ab99b4d76ef32601a65ceacee47078374c99552ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.14-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 440.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.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c3282994da546dcb8c1dfd368e154cb762cbc305e627914ceada5f5799325924
MD5 636beccc8a8958b9da5307c32d5fd548
BLAKE2b-256 cfdb24893aeb49bb53e9c04ff171f36769eec420cc8aa2b961a00b5600da6e07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 81cc9a7aafb52a39eb2c1a8f6f0946327e154e286e8a806a57010603a24518bf
MD5 5d8e3ae0983448356d08513144310f51
BLAKE2b-256 5cd7b02e3ef4913d54ae1812eef6a757dc2f6c3ea396ad4af33a26df812342a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 58f932b5ef02e30fd4e09ea4b47d2a310a71b4ba4b53c1554a6833f0a206d1cf
MD5 2f6e715b7a779da1101b88ff1de6042f
BLAKE2b-256 53b1ec1f9a5823718b79e1325e9f9474b830d19739a70b5239d0b1f13711a7cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a401ab4389d2ff217af1b475233f1cddf0e5881564a3db0c6df82ff1ceba0b71
MD5 3df2390d197d6678c948c856e4a8e941
BLAKE2b-256 9865154a0f12b3671546a93237f161a6244a11b3c58156618547ac74e34c1502

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.14-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 436.8 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.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 27d594743bf6c9d96417413f35ce660f09ca0b78236245a21d940bac01356bed
MD5 853bf93ecd17560926aa9d1cefd9805a
BLAKE2b-256 e55b77624d74a2d75102667e06bbcd718a6c46206e63a28ba50a420c607b3147

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46d65a894ba29f9f6890cac8e7265fd4371256c296d611d2d16c12c44d9298ba
MD5 24f95394eb805438f00c420053b73eb4
BLAKE2b-256 7f1af960d310e2b28992e5bea9cc8321a2b4278f0a7334d69e2b2e7751b04d40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.14-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6536a9ceb9ea04177796075068e014a1f5d4171d92235a750f735f9f9ab42af6
MD5 f6715afd4eff4781ced62728f79fb8b5
BLAKE2b-256 f108bb7e01604675a7124859b5cc5ab9de96dd18e34873e0ca260c42b1d81b18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.14-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 436.6 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.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5dd894a688a64b008b76231735536b258a2e199417b5fb3fcf0b5135d94f5c17
MD5 c3687e49c95c46ff2f6c8b1110165b1f
BLAKE2b-256 20ea1dff26848fd59a85f94175aa9152e840a754aa6de7a137b8b99659f08b21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.14-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 437.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.14-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a1cfd3c331a7e481ba54744a0b1a42b22e02a5c5191e69952b83d9f2d94a7047
MD5 c8d09e650e203f4dd5c99678b11f46af
BLAKE2b-256 19175768d5346d970ec3e460231b6d5cc722de6b73547fa6d0fbb87504eb7139

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.14-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 437.5 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.14-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6e0ac220a805b98a7b2c4ad9e7c06d5ecc1c6aace471b60a4344a65d0b8c1185
MD5 67e31e8c606b5fd213c7feb1db1bea74
BLAKE2b-256 64a954e852fe22ca3efb2c6f94fbee22b647278a9233db7baace5c27799b5fe6

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