Skip to main content

viva-emitters

Focused emitter library for process-bigraph composites. Hosts the heavy-dependency emitters out-of-tree so the process-bigraph core stays lean.

The zero-dependency built-ins — RAMEmitter, ConsoleEmitter, JSONEmitter — continue to live in process_bigraph.emitter. This package adds:

Emitter Extra What it does
SQLiteEmitter [sqlite] One row per tick into a single .db file (stdlib).
ParquetEmitter [parquet] Hive-partitioned Parquet dataset, batched writes.

Install

pip install 'viva-emitters[sqlite]'        # SQLiteEmitter only
pip install 'viva-emitters[parquet]'       # ParquetEmitter only
pip install 'viva-emitters[sqlite,parquet]'  # both

The [sqlite] extra is empty (Python's stdlib sqlite3 is enough); it exists for symmetry. The [parquet] extra pulls in duckdb, polars, pyarrow, fsspec, and tqdm.

Usage

from viva_emitters import SQLiteEmitter, ParquetEmitter

# Wire either as a step inside a process-bigraph Composite, e.g. via the
# usual emitter_from_wires helper:
#
#   from process_bigraph.emitter import emitter_from_wires
#   spec = emitter_from_wires(wires, address='local:SQLiteEmitter')

Reader helpers for the Parquet datasets (create_duckdb_conn, read_stacked_columns, named_idx, ndidx_to_duckdb_expr, ...) are also re-exported from the top-level package.

Tests

pip install -e '.[parquet,dev]'
pytest

License

MIT. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

viva_emitters-0.2.2.tar.gz (110.2 kB view details)

Uploaded Source

Built Distribution

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

viva_emitters-0.2.2-py3-none-any.whl (90.2 kB view details)

Uploaded Python 3

File details

Details for the file viva_emitters-0.2.2.tar.gz.

File metadata

  • Download URL: viva_emitters-0.2.2.tar.gz
  • Upload date:
  • Size: 110.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for viva_emitters-0.2.2.tar.gz
Algorithm Hash digest
SHA256 7abc9aa7fa63b2c21d86c21b03e23c70e1b4e45b4cdbb6a03d1b302d04340348
MD5 168bb90b9eab4701f95a62fc7c7c2576
BLAKE2b-256 bc7ddea8ff99c549e1b18758c8b1ed4f2c1620c241339d67c7e546bf2b2c0611

See more details on using hashes here.

Provenance

The following attestation bundles were made for viva_emitters-0.2.2.tar.gz:

Publisher: release.yml on vivarium-collective/viva-emitters

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

File details

Details for the file viva_emitters-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: viva_emitters-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 90.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for viva_emitters-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 342000e6f36d981dac8bb1dfd5cda588febe80cf1a9a1be2452004ba9033079f
MD5 0a0441c5175da5e8376acff27027f824
BLAKE2b-256 b233ed822a33eca2373b12fe9f966ef4b431f5a96751b708da583a3048347605

See more details on using hashes here.

Provenance

The following attestation bundles were made for viva_emitters-0.2.2-py3-none-any.whl:

Publisher: release.yml on vivarium-collective/viva-emitters

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 Sentry Error logging StatusPage Status page