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

Uploaded CPython 3.13Windows x86-64

mbn-1.0.12-cp313-cp313-manylinux_2_34_x86_64.whl (618.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

mbn-1.0.12-cp313-cp313-macosx_11_0_arm64.whl (564.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.12-cp313-cp313-macosx_10_12_x86_64.whl (556.8 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.12-cp312-cp312-win_amd64.whl (418.8 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.12-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.12-cp312-cp312-macosx_11_0_arm64.whl (564.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.12-cp312-cp312-macosx_10_12_x86_64.whl (557.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.12-cp311-cp311-win_amd64.whl (411.6 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.12-cp311-cp311-macosx_11_0_arm64.whl (559.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.12-cp311-cp311-macosx_10_12_x86_64.whl (553.0 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.12-cp310-cp310-win_amd64.whl (411.5 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.12-cp39-cp39-win_amd64.whl (412.5 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.12-cp38-cp38-win_amd64.whl (411.8 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

  • Download URL: mbn-1.0.12.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.12.tar.gz
Algorithm Hash digest
SHA256 4c489300c9aa9e29a905ed9c1a6e34553e9f41599164fe0326a4ba2dc1d85599
MD5 b8a63da9e53f22d20c52fdd8bf4a2d1f
BLAKE2b-256 39ff440d9984fa59953337ca41a3bf32c8b51845fea8ead41c4c095b0085b345

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.12-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 418.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.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1392872338afe5fcb994e2e4d6b09c14076918d47d030fa744a6b0eedd3e6d07
MD5 91bda56645cada74b1949e5b07e92100
BLAKE2b-256 2b53fd4dea526ee40234f6f7d5fa53700763a7a66c4cd64b13129aebdfeb8dae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1493c2c92edd5d6d98e3874b8ada5d5bdbac03d170348466d9201337f31dc66f
MD5 91d620cea6cfc277b05535566129263b
BLAKE2b-256 0122ba71f8d85bf7ff362e591a0baabe7cc21b2c3ec1af395132e5057b23d54a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd8e1c1015a787bbcf33db068b8b7320381609e16591ef50353a1fb344c74263
MD5 db0a6b2ca6e822fb62980ed6f119fbd1
BLAKE2b-256 9f26aafb89d13e71453f0371a7bb70ddef601400035863ea2200ac6dce6f2f6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1dd469575ce8707de26e9dad7b11268a32382cd0503788551861e8f9c6a3a33f
MD5 8dc9f75ecbf8edcd201c54693f325b07
BLAKE2b-256 58915a24d8f5e4c5fe417f398b252f118ef0c3f68a6c44920b1eb5d4182d4aa2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.12-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 418.8 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.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bfb1011ec2d32394c9c80a92aff74b572f114b6d81beba9c565b293ee972b2ec
MD5 3d87c3561f7c98fb925b3bdaee57910d
BLAKE2b-256 9d8a7a22c81eb7f9dfb4028378c932126497ba3c389496df1399ad5f38d55b36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 bd6c72257cba7dcd8e19a28d71920a6d5b52cf2c3293748ca2dfd536aa67c48e
MD5 10775f03e1c2d4c5d64bde19b310e8aa
BLAKE2b-256 b17158b3ee296f770f92e9f31e39c3f769db017562645e32b44e71f9120d4dfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c476426c3171d485fd8bb6d1f26ebab3e3b2b76df87fc9ca359076ff96da8ed7
MD5 7519663ba34bfcf34093f5ac115aa27e
BLAKE2b-256 187307fb0645f89be6ca32c509879e474147bd528f46fc1c416edc74d9b954fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 18e1a32fc7239df60a4084c7e9566cc132b8fc5d3321a6c79ff50ad8603e2846
MD5 a092f5b222869c7d63980f30b7635eac
BLAKE2b-256 0783e92211368ac8753f539f230d4266a425b430ee9236dc1068a6c2c69653e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.12-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 411.6 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.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ec25c3d2928f16a5a9095f4c45e201a471979f2d2f8c5a662f0ef0d926bd6f3a
MD5 250ad63382ca50f50837c9b4a11edc07
BLAKE2b-256 da6aee6f4e375648656a44bd8ad835e803fe55486343c6cab760c6055e238809

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eba0fd860066a1519a8635e53c8c034345978bf7ee675bb2a25dde467673a5e7
MD5 87e8b7d379cb77c9907c84514120ae81
BLAKE2b-256 18bb5dcf485d66925cb68c9dd7ff49064d7b13fd96a76fdf3fe71f372cc71cf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.12-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8cc20dd73bb5a7b660fb3f5b7b90927faab2f2bbc2304f2cb785774123074463
MD5 78e18f3088e7164f07686f12698a17a6
BLAKE2b-256 8c9422ed390c53c6b8dbfeb691d298d6cbc9e2449d120d149861578a082f41e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.12-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 411.5 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.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d8c3fd47bbeedc1c0ab9b8d3f124229385e9f4a6fba14b17bbdb4cdb0686c1c5
MD5 526b43ba2a0723ce5bf83ba1e474816c
BLAKE2b-256 e79484491c28f28d892d05f3730fa7f9cfddd62b2d6835afe076e08b9316250d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.12-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 412.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.12-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6e55f23d5a9df31be767f43ac79b3a25d1e394a1a8611d73cf428b4509fd2b62
MD5 c950d6cdde48a1eea0843927669d5ce5
BLAKE2b-256 c44910cd78fe9b714f26cfb90d85c7e02b2f4846689e4034ac349606e7a4e316

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.12-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 411.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.12-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4d14daa934d590dc3f160cc4aa2bccc02e3c1751f650600dbe2d300b8c8b3b07
MD5 aebec8a26bb526f1a841cd8045dc5992
BLAKE2b-256 5d0aba5f58d90274cbc68231c1d88b19dcdb9f72d04fe4556df8a8d0d68dec3d

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