ark-opensource
Open Pydantic schemas for describing bioreactor run setup data.
ark-opensource provides a typed data structure for the scientific inputs that define an Ark run: vessel geometry, medium composition, gas transfer, headspace conditions, and process-control setpoints. The models are useful in scripts, notebooks, services, and partner integrations that need to validate or exchange run setup payloads while preserving explicit units and domain enums.
Installation
After publication:
pip install ark-opensource
From a local build artifact:
pip install dist/ark_opensource-0.1.0-py3-none-any.whl
Quick Start
from ark_opensource import RunSetup
setup = RunSetup.model_validate(
{
"bioreactor": {"bioreactor_name": "BRX-1", "manufacturer": "Ark"},
"feed_liquids": {
"feed": {"ph": 7.1, "osmolality": 300},
},
"dissolved_oxygen_control": None,
"ph_control": None,
"agitation_control": None,
"headspace": {"headspace_pressure": 1.0, "gas_overlay": None},
}
)
payload = setup.model_dump(mode="json")
Data Model
RunSetup is the root object. It groups the physical vessel, liquid feeds, gas environment, and optional control loops that define the initial state and operating policy for a run.
bioreactordescribes the hardware: reactor type, dimensions, impellers, spargers, shaker flasks, deep-well plates, and manufacturer metadata.feed_liquidsmaps liquid names to chemically defined media or feeds. Each liquid records pH, osmolality, sugars, amino acids, ions, buffers, metabolites, and tracer concentrations with explicit concentration units.headspacecaptures the gas-side environment: pressure, overlay gas composition, humidity, condenser efficiency, lid permeability, and time-based overlay schedules.dissolved_oxygen_controlrepresents oxygen-control strategy, setpoints, PI gains, sparger dependencies, gas limits, and scheduled or conditional flow-rate changes.ph_controlrepresents low-side and high-side pH correction using liquid additions or CO2 delivery, including controller gains, deadbands, setpoint schedules, and reagent composition.agitation_controldescribes mixing speed, orbital diameter, scheduled speed changes, scale-control alternatives, and DO-driven agitation constraints.
The schema uses Pydantic v2 for validation and serialization. Unit and option fields are represented as string enums so JSON payloads remain portable while still being checked against the supported scientific vocabulary.
Package Layout
ark_opensource.RunSetup: the public root model.ark_opensource.jsonb_models: nested scientific data structures.ark_opensource.string_constants: units, options, and domain enums.- Runtime dependency:
pydantic>=2.10.6.
Development
Install the package in editable mode with the optional test dependency:
python -m pip install -e ".[dev]"
Run the test suite:
python -m pytest
Publishing
Before publishing a public release, confirm the version in pyproject.toml and build a wheel and source distribution from a clean checkout.
Built artifacts are written to dist/.
License
MIT. See LICENSE.
Metadata
Release files for ark-opensource 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 | |
|---|---|---|---|
| ark_opensource-0.1.0.tar.gz | 10.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ark_opensource-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.1 kB
Release files / ark_opensource-0.1.0.tar.gz
| Download URL | ark_opensource-0.1.0.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d1c1846cec8a08fe8789d3cfeee6e51d47048eedaad424e93994f6ce28ec432
|
|
BLAKE2b-256 checksum How to use checksums |
5d22bf9a49f933ac0f13cf6739087da16b80c0215d7c6a9d901a307935b24264
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / ark_opensource-0.1.0-py3-none-any.whl
| Download URL | ark_opensource-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84150d255028c741c7c6d60c9ac3677ca24dda464ea68fb85b8638870c587d86
|
|
BLAKE2b-256 checksum How to use checksums |
e1d9b20e368c99488c79426767a3e34e2475e17e7ba0b52795261a3928c58e74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|