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.4.tar.gz (66.5 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.4-cp313-cp313-macosx_11_0_arm64.whl (491.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mbn-1.0.4-cp313-cp313-macosx_10_12_x86_64.whl (481.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

mbn-1.0.4-cp312-cp312-win_amd64.whl (351.0 kB view details)

Uploaded CPython 3.12Windows x86-64

mbn-1.0.4-cp312-cp312-manylinux_2_34_x86_64.whl (532.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

mbn-1.0.4-cp312-cp312-macosx_11_0_arm64.whl (492.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mbn-1.0.4-cp312-cp312-macosx_10_12_x86_64.whl (482.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

mbn-1.0.4-cp311-cp311-win_amd64.whl (344.9 kB view details)

Uploaded CPython 3.11Windows x86-64

mbn-1.0.4-cp311-cp311-macosx_11_0_arm64.whl (486.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mbn-1.0.4-cp311-cp311-macosx_10_12_x86_64.whl (475.9 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

mbn-1.0.4-cp310-cp310-win_amd64.whl (344.9 kB view details)

Uploaded CPython 3.10Windows x86-64

mbn-1.0.4-cp39-cp39-win_amd64.whl (346.1 kB view details)

Uploaded CPython 3.9Windows x86-64

mbn-1.0.4-cp38-cp38-win_amd64.whl (345.6 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

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

File metadata

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

File hashes

Hashes for mbn-1.0.4.tar.gz
Algorithm Hash digest
SHA256 704e22981f7e0e1f019fe0a27812c881e4cb188856ad65f56074b660b4192c74
MD5 5d1508910f325fe3d5626d93aea3aa17
BLAKE2b-256 4673538115be43a868916c5b9216939ca722d41eac0c22198cf8c82911c7c53c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76a27fc253cd7947ed45d2089e6382d08f69d224f29dd18a8b43b16a13a14d79
MD5 e4781eda581182208273ddb0cc36a4b4
BLAKE2b-256 29359b4d3b9f40f771ba2177858b5fd23e0576c42202c9c3f3cfbd565e12b66c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.4-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cd81fe0e9bbd56247f7ceb76308c5d571ce54de0802567a473600a31b954d586
MD5 d476269db23172d57dc38a0ec62bc611
BLAKE2b-256 dcd9ad8e2df49f55335443f4f21d7d8be0824600f7dfb557ab897d7494064b7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 351.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.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d2ca058264f961c5351eb49ea3ef8bd22f94e643054515ce7dc46a209bcfd1fe
MD5 2ad918d94ec9942352fe8a1ebe4999a2
BLAKE2b-256 82c3a967adc9a23921db80f4de6b45f6597e4901626b445f3f64fce143c62b7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.4-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 99928e79f8c5b7e50e8b9c14c7b94c00102b5878e71a43e859195a6077d8013d
MD5 90602205022216afad5e1f1da49ab631
BLAKE2b-256 5463f61a99762c72ff8272e6d58904c2065bd23a3c47c33deba0e6207c51d500

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ea67236c3b928e9f4404a845ba23b2fd9f1d25fd77bb388bef15a589630d976e
MD5 1aa16e8bca88e535a21b1e3706d82834
BLAKE2b-256 994be69456db9feeeba78b7642f2fa940c5c64c8818bd157cd6fd1f006648db1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b18c1d7fb92fc45679533a032569ca1dc8c41dff608a6b1dd7ac828130f4a356
MD5 bafd363c84510aa144f7c4a866e53cdd
BLAKE2b-256 583d418a5d9a1354323067b48d0e22e1bfa17fbdd637cdf0b18eea604d0de9f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 344.9 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.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 01a80e1df8d9626721c719cb612748ca93b1d22a976c04c9c2c6946c71192365
MD5 2829606ae11f75a32d0e60a47bb56809
BLAKE2b-256 b7af3ff7c0ea56a5fdfedba21fe3748390ee82d61a6754c9034058386ea26c24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b1a061cc446ca3ade8e4a61838475f8534063004c0d34ebc6e44c165bab9c88
MD5 c58af263a90c03c4ca2fdf762fc037c8
BLAKE2b-256 82e259f7339b1fe2cd6754e9d85b3760d6bbdf1592a7fee159069154f4dad8ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mbn-1.0.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a93f0af363003cce2b480c0fd2e479a3cfdbffffe8a7e976a180e4e90222542b
MD5 e902efc05a7c546fbed7ef66b9f3c777
BLAKE2b-256 987894f3ed73a29bfecac1b3190cdab79de497f984aaea51af0a4c84888f3258

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 344.9 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.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f493ab86501f25154c552762b1f2023b8eb3425d37d55c36ef3e7b1019612a8d
MD5 e675ee345ebf519e9a466653eb90f0ed
BLAKE2b-256 e677f9a831e3d38cb77eec3bdb63265b876a3b881f5a159bbb51a3ea8bbf6578

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 346.1 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.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 861dcc124d1f527b9df245a452440e3468f448b7750a0984d31385415b7a740c
MD5 3386f5f36664b6d0da456a70215fde27
BLAKE2b-256 470df169b0ed9356778cd5cbf286a30aa0f12b8a881170abd94be017c56e6b62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mbn-1.0.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 345.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.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 05672e2ee845f24e8bf176bff8326e22f089b820ba69ea0aa854cc30ea383455
MD5 6e86041a17d28cab76aeab02bc924320
BLAKE2b-256 8c7212070de334277a24d8b1844e2c7204f3014c4789f85af701d497b2f5296a

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