Skip to main content

Data logger for Disco simulations

Project description

🧾 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.
  • Optional Parquet export for analysis and aggregation after runs.

✨ Features

  • Sparse vector logging powered by sparse_array.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.
  • Optional Parquet export for post-run analytics.
  • MIT-licensed and designed for in-cluster (on-disk/in-memory) use.

🚀 Installation

pip install disco-data-logger

For Parquet export support:

pip install "disco-data-logger[parquet]"

📚 Documentation

  • 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.

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

disco_data_logger-0.1.1.tar.gz (24.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

disco_data_logger-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

disco_data_logger-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

disco_data_logger-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

disco_data_logger-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

disco_data_logger-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

disco_data_logger-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

disco_data_logger-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

disco_data_logger-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

disco_data_logger-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

disco_data_logger-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

disco_data_logger-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

disco_data_logger-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file disco_data_logger-0.1.1.tar.gz.

File metadata

  • Download URL: disco_data_logger-0.1.1.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for disco_data_logger-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d36af2de026c1b6bbd9594747542bc5a0a40ef175e2166a92cdbbc365b752d76
MD5 065354ef0dffaa2a2d5121d777f9b055
BLAKE2b-256 25a8f08ecb08c644fd7cefe519586bdaedefb98db2bdaea37a9a0e441142cf4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1.tar.gz:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 17e4dbf19c01a79a242b66dc5d7461938e7d31c3c8a11e8ca6b67d18e6ff9890
MD5 2a96617c58b7e1b2a482fcb038d03802
BLAKE2b-256 fab23221b18feb3db43b2d23fa4f82a0d03b196e5b1d63da8c181f1462befa86

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e709cb4831aff0f46d9437f748fa7ab4872307f17f44b3a2129726e119385f27
MD5 5c812cb67e8bf709da322854f8b033ba
BLAKE2b-256 05beddf83bbb2ababc950c9c508f665eae90311972474d4b8c8983d94e8145dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 355c1e9cf237467a7bafd51186dbb66a8b3c8486fd1a78f1699f402e3561309c
MD5 b2e8616a9e985315c2f7ecb304b20185
BLAKE2b-256 ed7e03a047d3dd57fbf22288d4f2f6b640a256acfdb2fcf64723bc876e65a19d

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6069a8458a7782ae595fa08d8e90befdf5f572a050489033fe520d2ad4cb8f4d
MD5 38c2f45aab4160ac15260e4b5273121a
BLAKE2b-256 b8242555b1cf81a6dab906e05e7c5ad25c5aebdc3a66fd9116d921d1a0eb26f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 af352a991cf18a5aabbdf1f3aed4dc0ca010af37460663f8de6d40a555dfadf7
MD5 1fa5a84e68dcfec51664644742120fa9
BLAKE2b-256 2aed2577784e20662b7273356be03f7dacc40b9f7b618f1741af1e850c61ac42

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 48cf2db832ed50443cf5b004c5ec12fd74a5e16085184d7fd05ea9cd74c4d098
MD5 5c61cd5c5b344952c69d3d9e4ded347b
BLAKE2b-256 3dfac49642c59a62e639195d26f0119b69c516cee60fe78f66b3599db4140277

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9ef046f309542d5008c25a1adeab7bb94178983618e9f7b1fba613bb01e8a93
MD5 226a69100673d1fd7cc7c42b94eab413
BLAKE2b-256 9dc19c36e316dfa407cfaad6187d51d66117bf151f8a73fc1effa93e5d242625

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ac5551ff906b31f0fb9a89dce24d71880d69339ba86f365f4f35ee68555bc8e5
MD5 df9b61e2108318c357bed32ec04ebc44
BLAKE2b-256 fbffcd1fbb6fb2caf820b334cb8e28f99fa10760ab9fd9fb1c7d8bb03ea593f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b643f572a1ec797343997b61515d3644c90ba89b8d0930ccd411f6ed5c2bb6e8
MD5 c76506bff34e973e538c5182f8bfc71a
BLAKE2b-256 8b0dc417de4ca6ce7460c346395092e08dd420ae44f358c8b8cbfcc2069022a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 19ad798b9227defca308ca668eba51aaf5fcff90ad1cf1e7d12186ed533ccfb3
MD5 6a0ecb6d6ccb9c0089121dcfe375e0a9
BLAKE2b-256 1eb562482e583ce5496272debd880c98ff22f529f40cd61276525be9823ae676

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7275787c9df3a9e6dc27b4a4319bb966bada04bab70d940d9f7fe9979817269f
MD5 3f932baabdd6b680ebc0158326bf5d40
BLAKE2b-256 00faf3550b993c84520d0bbd205921d57804b37eb765ad24948499d22169f702

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_data_logger-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for disco_data_logger-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fadd0c3c5054758be2ab170495cc2672d9ad5543f0dbb011b737fb3b309180d1
MD5 8df4193a87f7b26791e92c9627bc53d2
BLAKE2b-256 5e497ad9acb3b95a2b3065d99073128b66fd62b7b75f6cc818a68e40d02e9af9

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_data_logger-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-data-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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