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.3.tar.gz (111.5 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.3-py3-none-any.whl (91.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: viva_emitters-0.2.3.tar.gz
  • Upload date:
  • Size: 111.5 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.3.tar.gz
Algorithm Hash digest
SHA256 208bc26a7c69dfee8b7a62ac012a21d5eb834a5cbc9afd3fbf6a2661971bdba3
MD5 08c978fe7924e8aa16a1740ac7217df7
BLAKE2b-256 82b48c2294e66db930de5c2b69c3e867ce98cc53a7bbd0050403ae274c700930

See more details on using hashes here.

Provenance

The following attestation bundles were made for viva_emitters-0.2.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: viva_emitters-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 91.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 196cd751b4bb0023d08b7ea7668ba2f0c4a5c45518f927ea7d3c602f4c89fca5
MD5 205fec442c4991b63038516b713f5c07
BLAKE2b-256 19adadd1f3a64cf14bccdaa8e39f1209743d42a5a9f09c57264dadd12bcf576f

See more details on using hashes here.

Provenance

The following attestation bundles were made for viva_emitters-0.2.3-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