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.16.tar.gz (62.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.16-cp313-cp313-win_amd64.whl (439.9 kB view details)

Uploaded CPython 3.13Windows x86-64

mbn-1.0.16-cp313-cp313-manylinux_2_34_x86_64.whl (637.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

mbn-1.0.16-cp313-cp313-macosx_11_0_arm64.whl (585.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.16-cp313-cp313-macosx_10_12_x86_64.whl (587.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.16-cp312-cp312-win_amd64.whl (440.0 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.16-cp312-cp312-manylinux_2_34_x86_64.whl (637.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.16-cp312-cp312-macosx_11_0_arm64.whl (586.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.16-cp312-cp312-macosx_10_12_x86_64.whl (588.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.16-cp311-cp311-win_amd64.whl (437.3 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.16-cp311-cp311-macosx_11_0_arm64.whl (592.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.16-cp311-cp311-macosx_10_12_x86_64.whl (598.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.16-cp310-cp310-win_amd64.whl (437.0 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.16-cp39-cp39-win_amd64.whl (438.3 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.16-cp38-cp38-win_amd64.whl (438.2 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.16.tar.gz
Algorithm Hash digest
SHA256 59ff2679171406a2722e45176b706f76c571c7259b780af89d615f16ef3d78be
MD5 f02c1e98059d3aa0b26be2c5ddd1b996
BLAKE2b-256 d8be45d1ffb2d2522ed1572ee98d1c452fc72b3f8dcce28978ce20782ceeb7a0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.16-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 439.9 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.16-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 84affc9c38bb99249e1ef5d8d9588bee3c8e5d2b9b21d1d76495b2f3dd534e69
MD5 8f32039e03a4921ed919c07a64518a93
BLAKE2b-256 13b0338df690237fdbe1f0e538406f2a083080c8209420e05ec1f860d764ef7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 25cc0dc4622062b9dca5f4786067d956ad20861175c3cfffaf589536cba9c25c
MD5 a0fda98ed46da79e897e72feda292fff
BLAKE2b-256 2d28a2a11161d001bec0af2934b7b433906beee8c031605b74315bbf6561af0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9950e6b301a1f56c460142bda2a35dded3df39565ba762a60b712e92c8d7b45
MD5 21c5f2465708c2883106e45e196a1b3a
BLAKE2b-256 6e50dda20604f89daa704cd32cd6c2aa1f61f07e4a00c2ccc166981b72cd33e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 484a3d0d0d2cb77a77f796929eb31c08734c5d2b3906da2d36edfd1f3b9e1f95
MD5 ddaf32e73a89f0a1930878d4249ee921
BLAKE2b-256 4d187b58efec4a41dcf9e75579cb3eb816e936d2339d0c2886360040c2c9a08e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.16-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 440.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.16-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6c6a4384adc2f5f80374c2a528cb5f3cf9d4b4e2c6dd2104005935e927bc3e3c
MD5 58c82fa088d980746399e8920a5e824a
BLAKE2b-256 d5313e0f71ef614cb3ae75e7c42cc7a2762c6576d8dd7e088e6271f583a45409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e0bbea0da9971939eecfe81b74c5a832bd32c0d76d098d894f69ec5c3110c425
MD5 7fda7e59e2133dcb10b67c6bd045c677
BLAKE2b-256 6f61c1d463e17784896cf85d730002812c5ea91daf433d57fa74f81b194bacbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77f4a187235a003dfa6547bf6abb0dce9df7124f1a051a8ec2916e9394b64400
MD5 7916ee1c60507df5730612ee327cc400
BLAKE2b-256 13e523c1ebfe98d384665de649c3b8107dfc1ead8a0a6195a52da79dc6bcf39e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c8787cd3c783339ca56c84c9bf43808c25c2fe48f82e0f69b5eb391bcb5c665d
MD5 5706849f53c5e47588ff22dfa2cd6885
BLAKE2b-256 70c33d5dac3d8b022609a7e764e53b680951ac68b417cb91372e765c7ee904e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.16-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 437.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.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ba9b746dcf98d4fd1a505b38731f88599f40ae56b690af48060c0554e5be71a9
MD5 3d8c43a3c9666fe80db59d6e0420e30e
BLAKE2b-256 9927b3122e018d43482f388beebf4352ff1df60ca3cb78637328c579d30f9511

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7160c74c96b17e37039fdc161326c9b763fc3efe1569d9de5dc394df9f13e44
MD5 3e1e49a77bcef713391e4944f61ca6f3
BLAKE2b-256 80f9e7657d138c1ca5273c2fb638211c90145057ede431f6e06cf8c628fed3bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.16-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0eaa8112ce1b97bd26bb1341e8176638b43793c05cb03edada70e9f97ef587e6
MD5 e7f7215230e22430beef1c530111fe11
BLAKE2b-256 dc92d2a280f347603d10b7c6e4dc2fa4b0a0c48767bc925881bd933c949c8a1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.16-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 437.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.16-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1b59b5b5b5e17321a0c31ca937714fc0719ede6bb613a8775a142e8937ad8a61
MD5 2977d71ef90900fadaaea1e13cb93e8b
BLAKE2b-256 54528d47217976f3f5e0774e7d9acf849aae4bc55711f56f275f2f64f98c579c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.16-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 438.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.16-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fb09820540e7a836eac2e8c55ce5b788c8f03dfe6bc080c1b054d381f0aa71d8
MD5 086e24025dc2c2ed41ca3e1f48adc619
BLAKE2b-256 36a6f14c56261feec95f3fba442f4e6a6b553ca9bc3307b53ea098e0d5adaf0d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.16-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 438.2 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.16-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f0af6f64e38f3d0ae9940c3d84b36a0f3d0bf68e0674c2131d4149567b2af459
MD5 d9e9d75414f2763a288e106b0964081b
BLAKE2b-256 9c01b5329a77dee7285497b332615eea22a838adb7ede0a3c90aa9e877b47187

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