Skip to main content

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.

Metadata

Release files for mbn 1.0.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mbn 1.0.16
File Size Uploaded Provenance Actions
mbn-1.0.16.tar.gz 62.8 kB Without provenance Details for mbn-1.0.16.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for mbn 1.0.16
File Actions
mbn-1.0.16-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for mbn-1.0.16-cp313-cp313-win_amd64.whl
mbn-1.0.16-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details for mbn-1.0.16-cp313-cp313-manylinux_2_34_x86_64.whl
mbn-1.0.16-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for mbn-1.0.16-cp313-cp313-macosx_11_0_arm64.whl
mbn-1.0.16-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for mbn-1.0.16-cp313-cp313-macosx_10_12_x86_64.whl
mbn-1.0.16-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for mbn-1.0.16-cp312-cp312-win_amd64.whl
mbn-1.0.16-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details for mbn-1.0.16-cp312-cp312-manylinux_2_34_x86_64.whl
mbn-1.0.16-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for mbn-1.0.16-cp312-cp312-macosx_11_0_arm64.whl
mbn-1.0.16-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for mbn-1.0.16-cp312-cp312-macosx_10_12_x86_64.whl
mbn-1.0.16-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for mbn-1.0.16-cp311-cp311-win_amd64.whl
mbn-1.0.16-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for mbn-1.0.16-cp311-cp311-macosx_11_0_arm64.whl
mbn-1.0.16-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for mbn-1.0.16-cp311-cp311-macosx_10_12_x86_64.whl
mbn-1.0.16-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for mbn-1.0.16-cp310-cp310-win_amd64.whl
mbn-1.0.16-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for mbn-1.0.16-cp39-cp39-win_amd64.whl
mbn-1.0.16-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for mbn-1.0.16-cp38-cp38-win_amd64.whl

Total release size: 7.5 MB

Release files / mbn-1.0.16.tar.gz

Download URL mbn-1.0.16.tar.gz
Size 62.8 kB
Tags Source
SHA-256 checksum
How to use checksums
59ff2679171406a2722e45176b706f76c571c7259b780af89d615f16ef3d78be
BLAKE2b-256 checksum
How to use checksums
d8be45d1ffb2d2522ed1572ee98d1c452fc72b3f8dcce28978ce20782ceeb7a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp313-cp313-win_amd64.whl

Download URL mbn-1.0.16-cp313-cp313-win_amd64.whl
Size 439.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
84affc9c38bb99249e1ef5d8d9588bee3c8e5d2b9b21d1d76495b2f3dd534e69
BLAKE2b-256 checksum
How to use checksums
13b0338df690237fdbe1f0e538406f2a083080c8209420e05ec1f860d764ef7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL mbn-1.0.16-cp313-cp313-manylinux_2_34_x86_64.whl
Size 637.3 kB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
25cc0dc4622062b9dca5f4786067d956ad20861175c3cfffaf589536cba9c25c
BLAKE2b-256 checksum
How to use checksums
2d28a2a11161d001bec0af2934b7b433906beee8c031605b74315bbf6561af0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp313-cp313-macosx_11_0_arm64.whl

Download URL mbn-1.0.16-cp313-cp313-macosx_11_0_arm64.whl
Size 585.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c9950e6b301a1f56c460142bda2a35dded3df39565ba762a60b712e92c8d7b45
BLAKE2b-256 checksum
How to use checksums
6e50dda20604f89daa704cd32cd6c2aa1f61f07e4a00c2ccc166981b72cd33e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp313-cp313-macosx_10_12_x86_64.whl

Download URL mbn-1.0.16-cp313-cp313-macosx_10_12_x86_64.whl
Size 587.5 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
484a3d0d0d2cb77a77f796929eb31c08734c5d2b3906da2d36edfd1f3b9e1f95
BLAKE2b-256 checksum
How to use checksums
4d187b58efec4a41dcf9e75579cb3eb816e936d2339d0c2886360040c2c9a08e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp312-cp312-win_amd64.whl

Download URL mbn-1.0.16-cp312-cp312-win_amd64.whl
Size 440.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
6c6a4384adc2f5f80374c2a528cb5f3cf9d4b4e2c6dd2104005935e927bc3e3c
BLAKE2b-256 checksum
How to use checksums
d5313e0f71ef614cb3ae75e7c42cc7a2762c6576d8dd7e088e6271f583a45409
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL mbn-1.0.16-cp312-cp312-manylinux_2_34_x86_64.whl
Size 637.8 kB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
e0bbea0da9971939eecfe81b74c5a832bd32c0d76d098d894f69ec5c3110c425
BLAKE2b-256 checksum
How to use checksums
6f61c1d463e17784896cf85d730002812c5ea91daf433d57fa74f81b194bacbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp312-cp312-macosx_11_0_arm64.whl

Download URL mbn-1.0.16-cp312-cp312-macosx_11_0_arm64.whl
Size 586.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
77f4a187235a003dfa6547bf6abb0dce9df7124f1a051a8ec2916e9394b64400
BLAKE2b-256 checksum
How to use checksums
13e523c1ebfe98d384665de649c3b8107dfc1ead8a0a6195a52da79dc6bcf39e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp312-cp312-macosx_10_12_x86_64.whl

Download URL mbn-1.0.16-cp312-cp312-macosx_10_12_x86_64.whl
Size 588.4 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c8787cd3c783339ca56c84c9bf43808c25c2fe48f82e0f69b5eb391bcb5c665d
BLAKE2b-256 checksum
How to use checksums
70c33d5dac3d8b022609a7e764e53b680951ac68b417cb91372e765c7ee904e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp311-cp311-win_amd64.whl

Download URL mbn-1.0.16-cp311-cp311-win_amd64.whl
Size 437.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ba9b746dcf98d4fd1a505b38731f88599f40ae56b690af48060c0554e5be71a9
BLAKE2b-256 checksum
How to use checksums
9927b3122e018d43482f388beebf4352ff1df60ca3cb78637328c579d30f9511
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp311-cp311-macosx_11_0_arm64.whl

Download URL mbn-1.0.16-cp311-cp311-macosx_11_0_arm64.whl
Size 592.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c7160c74c96b17e37039fdc161326c9b763fc3efe1569d9de5dc394df9f13e44
BLAKE2b-256 checksum
How to use checksums
80f9e7657d138c1ca5273c2fb638211c90145057ede431f6e06cf8c628fed3bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp311-cp311-macosx_10_12_x86_64.whl

Download URL mbn-1.0.16-cp311-cp311-macosx_10_12_x86_64.whl
Size 598.2 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0eaa8112ce1b97bd26bb1341e8176638b43793c05cb03edada70e9f97ef587e6
BLAKE2b-256 checksum
How to use checksums
dc92d2a280f347603d10b7c6e4dc2fa4b0a0c48767bc925881bd933c949c8a1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp310-cp310-win_amd64.whl

Download URL mbn-1.0.16-cp310-cp310-win_amd64.whl
Size 437.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
1b59b5b5b5e17321a0c31ca937714fc0719ede6bb613a8775a142e8937ad8a61
BLAKE2b-256 checksum
How to use checksums
54528d47217976f3f5e0774e7d9acf849aae4bc55711f56f275f2f64f98c579c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp39-cp39-win_amd64.whl

Download URL mbn-1.0.16-cp39-cp39-win_amd64.whl
Size 438.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
fb09820540e7a836eac2e8c55ce5b788c8f03dfe6bc080c1b054d381f0aa71d8
BLAKE2b-256 checksum
How to use checksums
36a6f14c56261feec95f3fba442f4e6a6b553ca9bc3307b53ea098e0d5adaf0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Release files / mbn-1.0.16-cp38-cp38-win_amd64.whl

Download URL mbn-1.0.16-cp38-cp38-win_amd64.whl
Size 438.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
f0af6f64e38f3d0ae9940c3d84b36a0f3d0bf68e0674c2131d4149567b2af459
BLAKE2b-256 checksum
How to use checksums
9c01b5329a77dee7285497b332615eea22a838adb7ede0a3c90aa9e877b47187
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.1

Security for mbn 1.0.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page