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.7.tar.gz (61.3 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.7-cp313-cp313-macosx_11_0_arm64.whl (498.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.7-cp313-cp313-macosx_10_12_x86_64.whl (488.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.7-cp312-cp312-win_amd64.whl (358.2 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.7-cp312-cp312-manylinux_2_34_x86_64.whl (545.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.7-cp312-cp312-macosx_11_0_arm64.whl (498.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.7-cp312-cp312-macosx_10_12_x86_64.whl (488.7 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.7-cp311-cp311-win_amd64.whl (351.2 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.7-cp311-cp311-macosx_11_0_arm64.whl (493.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.7-cp311-cp311-macosx_10_12_x86_64.whl (483.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.7-cp310-cp310-win_amd64.whl (351.2 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.7-cp39-cp39-win_amd64.whl (352.3 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.7-cp38-cp38-win_amd64.whl (351.7 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.7.tar.gz
Algorithm Hash digest
SHA256 b795be0352dbfcd36db40fcf878b5a86c6961f51e289a7e0c670b744b767e1f8
MD5 3ce2bd7a92f64a374bd1907243269df8
BLAKE2b-256 0ffaac15b53ba28848c391d710b910cccd85004151498e31969dbdcc170700c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49abd7b2453ddf2b8f6d58920da27a6c9ed2ab4320df1e011f54f3ee1e2b8ce9
MD5 762da3cbc8a0ff1c96970efd98d43ae4
BLAKE2b-256 56795d55f8ae8ac0a13b746c898e4469cb3c9b82bdfb769c497baa274aa93602

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3930660609f2de4178ebc5fa0a2473f3362a4e77eec893bfee51629b5fef814d
MD5 c8017caac873e7df55c713e51a3600b7
BLAKE2b-256 1c34b2a677326914d2d7d2782e6421e3b49f2802c9679ab1fdee0d429b637caf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 358.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.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d00a1bca42d08d6da9bcb887ab76e6b59880a9244ac1ed21194e8457a2ec51fb
MD5 9820b768ab01e435ac12a2d5233bd582
BLAKE2b-256 50b0ce231d1b903daadf667b839f3af66d4de27d895a5abb491f31619bdbece2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.7-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 51acc47a8adafe3a0c10a15c3c7f99e44a86da8778d8d6ceff860efb9966749c
MD5 d75f8c2eba9422dc5828d4cff157d1fa
BLAKE2b-256 d5af7065328e48a2b716412fef8031aafa0da2480e17d4aa4a2dd66e04ae6f78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0878871a388592a82a6b1c069a311bda76733d914a3d032d0042173c93c54d21
MD5 8af779b54c52a3d7f341df098f62e9e2
BLAKE2b-256 8091a34a0c2ac5ec2af15b1d2b1d9afc37cfa8051f19068ebac08ca7861043f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7485f17c015343415a87c896b57e143e9b8e6981887006ed4887209725ac5e64
MD5 c1e441509e95655c57d25f173a405b0c
BLAKE2b-256 b03aadd978266347c82fc0b0d4215772057346edae708bb92a00a41b78bb93fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 351.2 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.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6a34ca52436457d0429009bea2b400bfbf0175634d37b9617859ac72b591e487
MD5 89255ba001fcc7e78ac1f41a1493f93b
BLAKE2b-256 beb67eeca7751cb76bbaf41a8104de821373396f84b29e41b741911dfd821bc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a3fd0118599ef481508d5243cc9327c6b9b0877e14428e644e2d620c17c64ca
MD5 8ffefb7b0aadfc532531f8d3b1dfa96f
BLAKE2b-256 84ea141ebdf977212dc8cad60729ac7cb6534b13c333f5a6c13aea2270d1d383

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8e100eff264b590d4f661534d8cdd8adc0bd5e170f52bfef5f06afe179c5f40b
MD5 c52892baabb010f80e187560bdc48eff
BLAKE2b-256 3ebcb3ae21fa2cf8c9a844469e3887e9a13f1750f0e415fbf8852927c482dd88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 351.2 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.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e881ecc5a2370af403c6901092f3398191d076fe9c273702164578beb320f69b
MD5 722e82a0468594fb2f7808fdcc68a918
BLAKE2b-256 1b6c20ac925149816d6bae8f5ebc7fd3fb8b2527fc344949699f874847df55b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 352.3 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.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 84a67cda08d05dbf199c18c1f32b2f7de91a53c8f4a1e5c7f6f0c358bbfabbc4
MD5 ec2d5ccd2a9735453f3811e5e38b76e5
BLAKE2b-256 5333372c207ef2f66c3099c563a7676ec5ba0da97dc93855f6ec22b9a615687f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 351.7 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.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f67937469a116cd407b9c27cc9376c42874027741a7d38e0b604a2aac1eb42e8
MD5 8f70f6b7eaef266b5222c6998552e2e7
BLAKE2b-256 8e1a814c263895b3302ab680db27115b5bd8a5965ef4201c455bb6faf441e34e

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