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.
Metadata
Release files for viva-emitters 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| viva_emitters-0.4.2.tar.gz | 144.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| viva_emitters-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 261.3 kB
Release files / viva_emitters-0.4.2.tar.gz
| Download URL | viva_emitters-0.4.2.tar.gz |
|---|---|
| Size | 144.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b05d89bfa9ee484f718907ed397b5a69969e9f7acda15f82c0f6d9635aaa4ae9
|
|
BLAKE2b-256 checksum How to use checksums |
555786d07796ec190a4085a333366605511ba5590c69be01a307d61a13c1916c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 30, 2026.
Transparency logRelease files / viva_emitters-0.4.2-py3-none-any.whl
| Download URL | viva_emitters-0.4.2-py3-none-any.whl |
|---|---|
| Size | 116.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88e7fe748b82524536fd6d22fa57755d7751b7f68d5231cce90ab7b0e893b001
|
|
BLAKE2b-256 checksum How to use checksums |
fed755db6802144da14ef8bbc5bc1f7b6b32aa19c5e909f2da92aeb4ef91c260
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 30, 2026.
Transparency log