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.3.tar.gz (64.7 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.3-cp313-cp313-macosx_11_0_arm64.whl (453.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.3-cp313-cp313-macosx_10_12_x86_64.whl (443.8 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.3-cp312-cp312-win_amd64.whl (326.0 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.3-cp312-cp312-manylinux_2_34_x86_64.whl (500.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.3-cp312-cp312-macosx_11_0_arm64.whl (453.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.3-cp312-cp312-macosx_10_12_x86_64.whl (443.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.3-cp311-cp311-win_amd64.whl (319.0 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.3-cp311-cp311-macosx_11_0_arm64.whl (448.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.3-cp311-cp311-macosx_10_12_x86_64.whl (440.5 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.3-cp310-cp310-win_amd64.whl (319.0 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.3-cp39-cp39-win_amd64.whl (319.8 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.3-cp38-cp38-win_amd64.whl (319.7 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b5edb639cff0078feec660e2d1436f4ab1b8e5d45861c67b0ffccef6ca3fa7b1
MD5 86be2808ae10af0ec3011dc2e74ff5dd
BLAKE2b-256 f0040e854f6292e5883db4af46a04d40701b8c39383aab52049e823108360714

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a1608ec744d430e4d7b4171ec98eb05d3892809cc24d06ebaa3ed7c495e186d9
MD5 0d786b2785c38a4990cd9019c1c06288
BLAKE2b-256 95bdfc2b65a12e378eb2cb148cf5803261a8423501df50320200353464a4c7af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ee192c76c0cfb8258e857755c44aba5e7ed403224192f03c05d653aed787f9b5
MD5 5f9f2cd9b4ff5d51b32a0c59eb4d9a36
BLAKE2b-256 223adcf7feadee286b5f3b8b0d4a175f7a240670441a324793b7fccdd097f4e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 326.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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 37ade68f99d5ea26752f0e6580a384c3ad77fbe241bc5daa24de51caabd4afe8
MD5 98c7102e8e45a3dd8597326dc2da17e8
BLAKE2b-256 44b5462b3e1b30d3c38b0e9a4e53e48360da506fe1af75c15a3ac63b93ebe3c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3ca7de41e6d3e1639dc93bfe61a2125101ca6bbd3e6a72ae91daeb66d86b9c3d
MD5 c191e1a5a488805fb25c99e27cf6700f
BLAKE2b-256 3259abbd8fd696b67191c0f9ab0b8dfd8f9a20963dbcd4452636f853b071c504

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 61a72651082f8d7db908d9fa92b9744532cf3c520eb2139202cd892aaf425803
MD5 1407070bd56f489c346ad72ef77a57cf
BLAKE2b-256 3136f8b49e93812df70fc393647ddf16b1dc18e4f5d39bddcd7874fc0eee0aa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1c51c94109b6f62c25787bcaf2ad825086563f8a7c0bb47e7764c94e48dcb4b8
MD5 10aa7d0e6b54f5415b32bbb18ff1ca2d
BLAKE2b-256 752f129d911a5152f6f41adef9d3f0cc845b18af92bd301eca923d5b3a81031c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 319.0 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 30f3434cfc934e70479832accb95b65a13da32167203c47aade4a4cf01a81be0
MD5 432b5c0c85887f42d1481f1082149813
BLAKE2b-256 1323147ccdaf6d94bbae36485c529c7474b627c67f549aa8cd22a5ac32e73730

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b1f67108e1a706767d5be2fddf69a7d9e1c1cc975a9cdcbada088982ba4ece0
MD5 c58731b4e9c06c06c9908e1e92162008
BLAKE2b-256 781cc5887840b5ba3c80eb866392ed7c413032e5f757e1cb65917c05ec7f3f63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 14b445290897e5252d7e65229567739aa9dd7d92bb2957a3a3723f12bd5d2959
MD5 83d73017791a09e8150f31d0ddde00a6
BLAKE2b-256 0c89b83cb7e602d7fefd45e8a44d621663a7a6a590eb86ef776487023b6cae5e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 319.0 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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8f8d58a80b2511040febd46b659c5557b6317d2dc56b76cd560b28ae31156c1d
MD5 7126bef70bf9bb1aa41f636a43d66788
BLAKE2b-256 4b73d6192b7b06b26dffca17e5876d6464695bcee33e67714574cae362a7b2c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 319.8 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.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0c1dae24a37a59a1813ce415165e92ee33e47a65788203a7d54d4ea8bc331e0c
MD5 8f6c642c7719484b546e586f08669ed6
BLAKE2b-256 fdc11b131d4263a14ee4af13a86f19c5b1fcfa611aadc2243a565574f54ba0c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 319.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.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d406bf86cca4e9b4148a99f500575d97d8a79fdacd90da84b5367ac8a1a5a0aa
MD5 212b06f37ed48b0536bf111700d071ab
BLAKE2b-256 0fca0d3629d6b1d183b10432c4025d909df39492d5baae4e3ced2c79ef58dd5f

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