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.10.tar.gz (61.8 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.10-cp313-cp313-macosx_11_0_arm64.whl (560.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.10-cp313-cp313-macosx_10_12_x86_64.whl (552.4 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.10-cp312-cp312-win_amd64.whl (414.5 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.10-cp312-cp312-manylinux_2_34_x86_64.whl (613.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.10-cp312-cp312-macosx_11_0_arm64.whl (560.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.10-cp312-cp312-macosx_10_12_x86_64.whl (552.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

mbn-1.0.10-cp311-cp311-macosx_11_0_arm64.whl (555.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.10-cp311-cp311-macosx_10_12_x86_64.whl (547.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

mbn-1.0.10-cp38-cp38-win_amd64.whl (408.6 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.10.tar.gz
Algorithm Hash digest
SHA256 12e0f5010de7c6c1265eb0dcd2206739829bc3c6e61a6ce184508e9e1e97a334
MD5 f6f75e53e3b1208f6154fb55d9168e4e
BLAKE2b-256 58066ad6095688f248cfa6c5f4cd469eaceecdad3dc28c67a49d9aa5cf229192

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2edd370b1c3416ed327905fef419a0e4e5f05024389b57a9b22de3feb6c73be
MD5 3161be7ac53ed3b26bc412bd477b2a5e
BLAKE2b-256 d5390a481b09ca60d02d6f9debf47b42425b9c50f224b406f84a27bd3b4064f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.10-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b4a14c76f49fe7a3227ef383411ee4d64ea16c1330368b5871445e8715d4be84
MD5 3f2638f951d8efd48d208eed648e41e9
BLAKE2b-256 41f12b9db84cb2d4b888999a0d837633f272ea40944d7249134b2c7f9ec10b4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.10-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 414.5 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.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6f12a8f8c6ca28a056a6745a2bac8b8a8865a97f0f015e4c63bdc192a01e4c07
MD5 be3690d82035f473c2923cdd4f80ca02
BLAKE2b-256 166d5ee43151d254c61d6138321347804f61beea4eea32f7b29067ce1fa68f6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.10-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 941a06d7f084c0b2093476d85a9e842d8518652373dff7ad13811ad8bcd45100
MD5 d07af2fb38ea496461642f2f1b0d9b04
BLAKE2b-256 219a3a00ff0bbc6055c08a9a0ddd20b6f6122c47f0c8bcb5c999ee531ea8a434

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b26537e49b2dbae3b0737da351c468a9ed16b3ee0aa77af62a739e73d845829
MD5 bdcd956d10d235b5ebd20ff573500b51
BLAKE2b-256 ffbc34d478bb072064dbc16b4fc36cdf1b8919625495d9555f06c70fb54c915a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.10-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dc121186e0ef18a39f6779a8ad238bd2c564fc473ddab8080e32ca91b73a71f7
MD5 f6e71a887c7b1ee1df501d2769be1c49
BLAKE2b-256 b07450df53dd56e82f9f978b5ff157795eb947e8b1a4d8c1e18910970d62fc0f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.10-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.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6079fa0dad0b0b41f1bb879b0b9e5a83142ddf722c62a345da8b37815175994c
MD5 9ec7dbf2985f6fef38ee2eaad2a9f06d
BLAKE2b-256 bc6bf247e9ca562a4d9aef65ff88702c3e65784c2cf88f481cb094a0b95c43ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3e397d5407c22ccd6f28e0d0f7468eb79761b618cc0864881e19c3c1f49f3f0
MD5 b10683b20793fc6a20471b407210dc1c
BLAKE2b-256 6f8c752f7850c702f19f2ccd1b861012d9da5897ea39c2fefd30af149110e077

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.10-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 061a23e49ea58797835500612b7354054f7bbd6e1c0b3e383c36e7594a85f0b5
MD5 bde832919c9c4f85e35a5aad157cfd3b
BLAKE2b-256 4e947b66d467d4ad5cbf6c6ae93ab9aab182927810c3ae1eca4f1695e9ec84d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.10-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.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4f52c512a63987b252462e42a3b5c277eb0b9c218d56f1184ca295ff6f7a2553
MD5 18307d6130f34030ea69d0959a8717ab
BLAKE2b-256 97752a7073a881448ce9a2626b817c98261b379b9ec99b657d6c799c839a5dac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.10-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.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 af58ddc0c452a9df218661ddb3b34511ecb23df9a5cc1a1aec4ea8e7023b6f24
MD5 1f38d2ad3f51264a4b9396e7aab2aff1
BLAKE2b-256 1cc8ebce4a7dc7a7bd118e5dc9a967ef48ba2c4979df9ee65cb7cc21eced4f0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.10-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 408.6 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.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b87bdb6f0637be2a96b173a8bd0048334995338e3faea3d97f8ac012759e1182
MD5 6911a39cbfa7e95ed3e8858fb1c4b021
BLAKE2b-256 cbe60fadfd0137818f81815c6c25b713c248ffdb04b7a49dc6c334a00a374cef

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