Skip to main content

📦 cvxbson

PyPI version Apache 2.0 License Downloads Coverage Status Renovate enabled

Open in GitHub Codespaces

🔄 IPC

IPC stands for InterProcess Communication. It is a mechanism that allows to share data between processes. A traditional way to do so is to use json files. Json files are rather flexible and can be used to share data between different programming languages. However, they are not very efficient.

Here we use their binary counterpart, bson files. Bson files are much more efficient but somewhat lack the flexibility of json files. Here we rely on the bson package to read and write bson files. We are interested in parsing dictionaries of numpy arrays, pandas and polars dataframes as fast as possible.

There might be faster ways to achieve this goal and we are open to suggestions and pull requests.

We recommend using json files to transfer configurations and small amounts of data. Bson files can then be used to transfer large matrices. A coexistence is possible and encouraged.

🚀 Demo

>>> import numpy as np

>>> from cvx.bson import read_bson, write_bson

>>> data = {"A": np.random.rand(50, 50), "B": np.random.rand(50)}

>>> write_bson("test.bson", data)
>>> recovered = read_bson("test.bson")

>>> assert np.allclose(data["A"], recovered["A"])
>>> assert np.allclose(data["B"], recovered["B"])

We have also implemented the same functionality in for json files but would advise against using it. It is much slower and less efficient.

You may want to avoid the explicit construction of files. It is possible to work directly with bson strings. We provide methods for that, too.

🛠️ uv

You need to install task. Starting with

task build:install

will install uv and create the virtual environment defined in pyproject.toml and locked in uv.lock.

📊 marimo

We install marimo on the fly within the aforementioned virtual environment. Executing

task docs:marimo

will install and start marimo.

Metadata

Release files for cvxbson 0.2.0

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

Source distribution (sdist)

Source distribution for cvxbson 0.2.0
File Size Uploaded Provenance Actions
cvxbson-0.2.0.tar.gz 96.7 kB With provenance Details for cvxbson-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cvxbson 0.2.0
File Interpreter ABI Platform Actions
cvxbson-0.2.0-py3-none-any.whl Python 3 none any Details for cvxbson-0.2.0-py3-none-any.whl

Total release size: 109.5 kB

Release files / cvxbson-0.2.0.tar.gz

Download URL cvxbson-0.2.0.tar.gz
Size 96.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ece56c607bf81ad87250b9430fb43aaec34c429ab388e3e6b844a86bc931793c
BLAKE2b-256 checksum
How to use checksums
547a2cdb0211384cec040423e8e24f7ffcc9e372274c86a3e9bc05c79c34c973
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2025.

Transparency log

Release files / cvxbson-0.2.0-py3-none-any.whl

Download URL cvxbson-0.2.0-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5749c9bb8a797f589d0f2ebd3d1666507c11d622c2666e5549b809dab737db43
BLAKE2b-256 checksum
How to use checksums
d7334cfc96af654944a9324df89e3832175e4b87413a0c3c033483f66849e173
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2025.

Transparency log

Security for cvxbson 0.2.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cvxbson-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2025.

Transparency log

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