Skip to main content

🧾 disco-data-logger

High-performance, C++/NumPy-backed data logger
for Disco discrete-event and Monte Carlo simulation programs.

PyPI License: MIT Build Tests


Overview

disco-data-logger provides a fast, compressed, and lightweight data recording layer
for large-scale Disco simulations and other computational experiments.

It is optimized for capturing sparse numerical state updates and accumulators during simulation runs,
and writing them efficiently to disk as Zstandard-compressed segment files.
Each simulation entity or measurement can log its data independently through labeled streams.

It combines:

  • A C++/pybind11 core for high-throughput buffering and compression.
  • Python API for easy stream registration and control.
  • Built-in Parquet export for analysis and aggregation after runs.

✨ Features

  • Sparse vector logging powered by graphblas.Vector.
  • Fixed-point quantization for compact and deterministic encoding.
  • Buffered, lock-free write path (ring buffer + writer thread).
  • Zstandard compression (vendored, no external dependencies).
  • Segment rotation for large simulation outputs.
  • JSON metadata for each stream (organisation, model, experiment, …).
  • Periodic vector streams that emit state snapshots or accumulator sums once per period.
  • Integrated Parquet export for post-run analytics.
  • Arrow-based collector to filter finished loggers and emit RecordBatches directly.
  • MIT-licensed and designed for in-cluster (on-disk/in-memory) use.

🚀 Installation

pip install disco-data-logger

pyarrow ships with the package, so Parquet export works out of the box.


📚 Documentation

  • Collector – decode completed loggers, filter streams with label_selector, and write Arrow RecordBatch outputs efficiently.
  • Periodic vector stream logging – step-by-step guide for configuring periodicity, choosing between state and accumulator modes, and verifying the emitted sparse data.
  • ENGINEERING_SPEC.md – project history, motivation, and architectural overview.

🛠️ Development

Set up a virtual environment (for example, python -m venv .venv && source .venv/bin/activate), then install the project in editable mode with its development extras:

pip install -e '.[dev]'

Once the environment is ready, run the unit tests with:

pytest

License

This project is licensed under the Apache License, Version 2.0.

You are free to use, modify, and distribute this software, including for commercial purposes, subject to the terms of the license.

Contributions

By contributing to this project, you agree that your contributions will be licensed under the Apache License 2.0 and that you have the right to submit the work under those terms.

This project uses a Contributor License Agreement (CLA) to ensure clarity of intellectual property and patent rights.

Metadata

Release files for disco-data-logger 0.1.5

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

Source distribution (sdist)

Source distribution for disco-data-logger 0.1.5
File Size Uploaded Provenance Actions
disco_data_logger-0.1.5.tar.gz 32.3 kB With provenance Details for disco_data_logger-0.1.5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for disco-data-logger 0.1.5
File Actions
disco_data_logger-0.1.5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for disco_data_logger-0.1.5-cp313-cp313-win_amd64.whl
disco_data_logger-0.1.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for disco_data_logger-0.1.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
disco_data_logger-0.1.5-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for disco_data_logger-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
disco_data_logger-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for disco_data_logger-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl
disco_data_logger-0.1.5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for disco_data_logger-0.1.5-cp312-cp312-win_amd64.whl
disco_data_logger-0.1.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for disco_data_logger-0.1.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
disco_data_logger-0.1.5-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for disco_data_logger-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
disco_data_logger-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for disco_data_logger-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl
disco_data_logger-0.1.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for disco_data_logger-0.1.5-cp311-cp311-win_amd64.whl
disco_data_logger-0.1.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for disco_data_logger-0.1.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
disco_data_logger-0.1.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for disco_data_logger-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
disco_data_logger-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for disco_data_logger-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl

Total release size: 11.1 MB

Release files / disco_data_logger-0.1.5.tar.gz

Download URL disco_data_logger-0.1.5.tar.gz
Size 32.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1cad6ef51b91e47fbf4bfecd95a9eb02489222294f326b1dd63a932dfe33588b
BLAKE2b-256 checksum
How to use checksums
1f1260564e893f5cd22dae7c29c51ba0a370336489c150789580df519dc30c9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp313-cp313-win_amd64.whl

Download URL disco_data_logger-0.1.5-cp313-cp313-win_amd64.whl
Size 864.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
d7d59e0e850ab082f94e21d7c1018c7c22719ac769bbcfa1c7f35c2e30ac53c6
BLAKE2b-256 checksum
How to use checksums
e49513afeb50ae9ee0ce5a2a27319867208bd4062d419f0904fba28237f78267
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL disco_data_logger-0.1.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2a043ce901e4aa628de57644cfdb2a8ab078fd01dccdfcccd35deda3fbee75d9
BLAKE2b-256 checksum
How to use checksums
432e242ef6f3015f207b2cbcf31c04f534fc569103e78caeb64bb0377b91288b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp313-cp313-macosx_11_0_arm64.whl

Download URL disco_data_logger-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
Size 762.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
223e7e5eacebb75ed05c636f1cd14763a2df04c08c6ae5c512d08672b2748e00
BLAKE2b-256 checksum
How to use checksums
44d1d06ad6f70eb30c0433d96dd57142427b7788fa276fd71d6361f5f3e80088
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl

Download URL disco_data_logger-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl
Size 966.0 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
94efe19aec76c91132585a9de03aa5057b7af3b151c8b400c1a0cc9e402ce6ba
BLAKE2b-256 checksum
How to use checksums
d6530aed9d67f856148bb37bcc3c8fb9c66fd535c3e02164409db05d2b545c33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp312-cp312-win_amd64.whl

Download URL disco_data_logger-0.1.5-cp312-cp312-win_amd64.whl
Size 864.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5539861a61b4c9a01aa15e415e3c9acb70bdedd2c5cbfdd45681c9f012987561
BLAKE2b-256 checksum
How to use checksums
cda5104e9508ea441bdc249c9f9c16d22cc4a82122dc04ccb43fb6a5dcee3c17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL disco_data_logger-0.1.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2be55cab81648140fcb6d48ff85ec650c0b76a6acec8bdedb2e0f917d88d9ec0
BLAKE2b-256 checksum
How to use checksums
4fee718a8e7afebd9863721fb9b5010464866287d3be78a854a15bfdc183a0a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp312-cp312-macosx_11_0_arm64.whl

Download URL disco_data_logger-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
Size 762.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e8f0a2fa8ab6e37c4230938e9ce7d080a23a1b8868e2cd44897c41b620714c9d
BLAKE2b-256 checksum
How to use checksums
2f9e23191a31c598d80431514c2c4c809a6b7c0a3ff955d4b8fb6b04dc9a2fcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl

Download URL disco_data_logger-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl
Size 965.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
09b5bcffb0ac4c3644088abcc503eceeaee2f6ff4e76a717945ef8942e176f52
BLAKE2b-256 checksum
How to use checksums
b23160ba38ba8943f2a6fffc7e772378c22ad96d326f7b16adf662f2c8a01200
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp311-cp311-win_amd64.whl

Download URL disco_data_logger-0.1.5-cp311-cp311-win_amd64.whl
Size 862.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
40a5b68e2e591deb27909c4eb38a9407363d66e03ac0cb225af12ec0787590ac
BLAKE2b-256 checksum
How to use checksums
cda872a309fb6d2467eed157ed99ccc51f773dee52b1130e899c354bdc526695
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL disco_data_logger-0.1.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d7ba2c07d31417c0f847e20e68f9e0b3084a771e47d3a07445500e2a854f6772
BLAKE2b-256 checksum
How to use checksums
532617263831669f8c371780803cc36f216421ab363dbf29e220e91db9190c7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp311-cp311-macosx_11_0_arm64.whl

Download URL disco_data_logger-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
Size 761.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a999114c2fd5b43eb0ffd8c512241e774cb58e78e7788e4e9f083bb79bd515b8
BLAKE2b-256 checksum
How to use checksums
55821732d45258067b6acfc8888eee80a7b0307325e3fc4d788536e02bb33bd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Release files / disco_data_logger-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl

Download URL disco_data_logger-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl
Size 962.6 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
2c45a4074fb7a912f427e60f00645e54486075c342386a7752dbf1f992981a7d
BLAKE2b-256 checksum
How to use checksums
50574b184dfd7bb8a5c2d0327b981f557dde2af647621665fa75f3f72ce7de45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Feb 28, 2026.

Transparency log

Security for disco-data-logger 0.1.5

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 13 files in this release have been uploaded with provenance metadata.

Select from 13 files

Attestation for disco_data_logger-0.1.5.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 Feb 28, 2026.

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