pbg-basic-processes
Reusable, composite-agnostic process-bigraph processes — the small, generic building blocks that show up in almost every workspace.
| Process | What it does |
|---|---|
Clock |
Emits an integer tick step counter each step — the one temporal quantity the engine does not expose as a store. (Absolute simulation time, global_time, is already maintained by the engine in every composite; wire any input to ['global_time'] to read it.) |
Intervention |
Applies a specific perturbation to one target store — set / knockout / scale / add / decouple / invert, optionally within a time window. The building block for negative controls and counterfactuals. |
MathExpressionStep |
Evaluates a list of named symbolic (SymPy) expressions as one Step, inferring input ports from free symbols and resolving inter-expression dependencies in topological order. |
Auto-registration
Like pbg-emitters, these processes auto-register into any workspace core. allocate_core() walks every installed distribution that depends on bigraph-schema and registers its Process/Step subclasses — no entry points, no register_* boilerplate:
from bigraph_schema import allocate_core
core = allocate_core()
assert 'Clock' in core.link_registry # just by being installed
assert 'Intervention' in core.link_registry
assert 'MathExpressionStep' in core.link_registry
Add pbg-basic-processes as a dependency of your workspace (it is a base dependency of pbg-superpowers, so every pbg workspace gets it) and reference the processes by local:Clock, local:Intervention, local:MathExpressionStep.
Install
pip install pbg-basic-processes # from PyPI (when published)
pip install -e . # from a checkout
Usage
Node-builder helpers make wiring into a composite easy:
from pbg_basic_processes import clock_node, intervention_node
state = {
'tick': 0,
'nutrient': 5.0,
'clock': clock_node(interval=1.0), # writes a step counter to ['tick']
# hold nutrient at 0 only between t=10 and t=20 of absolute sim time.
# use_global_time wires the window to the engine's reserved global_time store.
'starve': intervention_node(['nutrient'], mode='set', value=0.0,
window=[10, 20], use_global_time=True),
}
Develop
pip install -e '.[dev]'
pytest -q
MIT-licensed. Part of the vivarium-collective process-bigraph ecosystem.
Metadata
Release files for pbg-basic-processes 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pbg_basic_processes-0.1.0.tar.gz | 12.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pbg_basic_processes-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.2 kB
Release files / pbg_basic_processes-0.1.0.tar.gz
| Download URL | pbg_basic_processes-0.1.0.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
38f5754a7e6c8701def4977f96739cb4d1a22e716be16dfbe3f5c890ea15b684
|
|
BLAKE2b-256 checksum How to use checksums |
b50dbac572786e7e5a298aa3b20542d5a2860d87749f9dcc607a8e050e9d22d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 29, 2026.
Transparency logRelease files / pbg_basic_processes-0.1.0-py3-none-any.whl
| Download URL | pbg_basic_processes-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c778b49a96334f706d08cb04f0df2daffef974a3fb2821ce5a24fd6a1202d687
|
|
BLAKE2b-256 checksum How to use checksums |
9385406f522661aa4d5a6ed0c91a5bfc37085bd308cefc672c3d2496444b111f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 29, 2026.
Transparency log