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.8.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.8-cp313-cp313-macosx_11_0_arm64.whl (498.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.8-cp313-cp313-macosx_10_12_x86_64.whl (487.8 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

mbn-1.0.8-cp312-cp312-manylinux_2_34_x86_64.whl (545.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.8-cp312-cp312-macosx_11_0_arm64.whl (498.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.8-cp312-cp312-macosx_10_12_x86_64.whl (488.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.8-cp311-cp311-win_amd64.whl (351.5 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.8-cp311-cp311-macosx_11_0_arm64.whl (492.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.8-cp311-cp311-macosx_10_12_x86_64.whl (483.1 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.8-cp310-cp310-win_amd64.whl (351.6 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.8-cp39-cp39-win_amd64.whl (352.7 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.8-cp38-cp38-win_amd64.whl (351.5 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

  • Download URL: mbn-1.0.8.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.8.tar.gz
Algorithm Hash digest
SHA256 2bab9d65fe57410c2d2298e39d07fb727ebdce47380e318c881bb54077023e95
MD5 1bb54dad637c70886ec47025682d42f6
BLAKE2b-256 4ac755d569e076bfff168913c860ba350ce3a26ff4eb73c98d1e4d9d409b1644

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 842f0c2f602c0b19d0569c2d9ea6b7e916fb865772daa769061aa9375fe76896
MD5 7d201425c13af1b92c6a4b48e7adbd60
BLAKE2b-256 53f556b6bf6103243daa8905c9290162dfc1ece5d56ae490ad4c040c9ea46c79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.8-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1092a7687ee62a08df057ddfaf163d083bd43f99d3b845728cbed16743ec171c
MD5 c064a897d3ad74f991e53068ae16b8d7
BLAKE2b-256 52742f95ce46c6d96e536e0d263cd97cf133e838a032e9e8baf1ac2a68197ab9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.8-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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 88472dbbd229843cfce7355f76dddf2fea572d08e20923c6dc55e6b362008463
MD5 0eba7b7c7b2e78027cc726d942ce05eb
BLAKE2b-256 5db62e932c4ce6e1709e555c23d596b4e498ef7b65a26a0fa0885eb606aeabcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.8-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8ce051cacb80bc8924054655840667398f4452863917bf46c68b94239260145c
MD5 1336a1afcd61283d7403a4d32ccf6709
BLAKE2b-256 99feeb56c30a5276abc43cfbb59d44332a95e0481919877de4394a1681fdb2e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ba7ef6fcbc3e0b6d0f32d9dd6eac35243175cf8580310861dd2870315c6f6d4b
MD5 7aa02aaa095bf2a4bc14fd4851827430
BLAKE2b-256 19ff72ff7aebf1eacd8ae2315e3e1a2de1d737fd8cf012b6acb3cecd372c535d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.8-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 46b42c33be4081c8f1d039ea550dc5c74ef74c2016c13dd492a6d25c6841e9ae
MD5 1d5cefbe4c15c410892e2eab4cde923c
BLAKE2b-256 ce5a2bcfcd49bc4aa9100739a083a712b6e08c5b81d393d29179a7a9ad6357af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 351.5 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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b8c92ba9fd6fa966b0405cae6d7ade4a3eb032c52b77cf9408f726151dbb1f58
MD5 ab143b6dd042b89d1fdd4f7a749e51c3
BLAKE2b-256 48ad04cb5cf222962a11aa4b65b54fd2d125c7c6d581c999197bbeafaa520339

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 811a2efdeb95f5881e27aee703e43885e75db2e3082dc752b87cc656278ead14
MD5 d06b3896d9f7ec7ced4f317628f60074
BLAKE2b-256 7090d04c2fb6e2d03758d1c9e3a4676bf5ebb83d48f51e467bfd6039f9a23c05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 412496995528038ce9ca21b34f0abf60f1f67eda231756ed2523233be22c479c
MD5 8292bd69a6983206e6d5b8facf50503b
BLAKE2b-256 b0124343e31bf1ba7db8fdb274ec13ce84d2296be963973e7b331994ea45246b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 351.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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8ad4a65f07e5c387b6551b9e3bb08c85b6fcd4c22f5d0af57cd6e471c8cc0cf9
MD5 b275162c459217cf0dc5a98ef4941679
BLAKE2b-256 34ded6ba1de9dc5bfde250757e7797e52d8c40cc4d091b890ccdc5e2e08fe29c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 352.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.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ac144395bfe94f5d1bfde3b2388698500a789efa22b768afe3b0c8877c978fd6
MD5 cea76a61bc94c48121c52a379f0ba728
BLAKE2b-256 81ff02099a6a26c62a5c9a6ce991ef251cc00aa40f729047175838bfec805c49

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.8-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 351.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.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e5e64226f7a0e9955173bacdd1bd4b6d3c739b7b8126cf612e2e548914f20913
MD5 264e7ff25c97c55600fc7aa0d7e4e491
BLAKE2b-256 1ed9a2ab8425207e1dafff35f22554ad8b68700b50dd81d1c0bd50bf4167f3f0

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