Skip to main content

SBOLInventory

SBOLInventory is a Python package for SBOL 2 inventory modeling that separates:

  • external storage hierarchy (Collection): fridges and shelves
  • physical containers/items (Implementation): boxes, plates, and contained materials

Object graph

Fridge4C (Collection)
└── Shelf (Collection)
      └── SolidMediaPlate (Implementation from MD)
            └── PlatedStrain (Implementation from MD)

FridgeMinus80C (Collection)
└── Shelf (Collection)
      └── Box (Implementation from MD)
            └── BacterialStock (Implementation from MD)
            └── ProcuredMaterial (Implementation from MD)

FridgeMinus20C (Collection)
└── Shelf (Collection)
      └── Box (Implementation from MD)
            └── DilutedPlasmid (Implementation from MD)
            └── ProcuredMaterial (Implementation from MD)

Key concepts

  • ModuleDefinition is a design.
  • Physical items are always InventoryImplementation with built pointing to the design.
  • SolidMediaPlate and Box are container implementations with explicit allowed row/column layout.
  • Placed items record:
    • contained_in_container
    • container_row
    • container_column
  • Every implementation has is_active and can be discarded (set inactive).

Example

from sbol_inventory import (
    make_document,
    add_all,
    make_fridge_4c,
    make_shelf,
    make_solid_media_plate,
    make_plated_strain,
    add_child,
    place_in_container,
)

# Storage hierarchy (Collections)
doc = make_document()
fridge4 = make_fridge_4c("https://example.org/storage/4C")
shelf = make_shelf("https://example.org/storage/4C/shelf1")

# Physical containers/items (Implementations)
plate = make_solid_media_plate(
    uri="https://example.org/implementation/plate1",
    plate_md_uri="https://example.org/designs/plate_md",
    rows=["A", "B", "C"],
    columns=range(1, 5),
)
plated_strain = make_plated_strain(
    uri="https://example.org/implementation/plated1",
    strain_md_uri="https://example.org/designs/strain_md",
)

add_all(doc, [fridge4, shelf, plate, plated_strain])
add_child(fridge4, shelf)
add_child(shelf, plate)

# Place by row/column, validated against allowed and occupancy
place_in_container(plate, plated_strain, row="A", column=1)

Main API additions

  • make_box(...)
  • make_diluted_plasmid(...)
  • make_procured_material(...)
  • make_plated_strain(...)
  • place_in_container(...)
  • move_item(...)
  • remove_from_container(...)
  • discard_implementation(...)

Metadata

Release files for SBOLInventory 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for SBOLInventory 0.1.0
File Size Uploaded
sbolinventory-0.1.0.tar.gz 8.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for SBOLInventory 0.1.0
File Interpreter ABI Platform
sbolinventory-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.1 kB

Release files / sbolinventory-0.1.0.tar.gz

Download URL sbolinventory-0.1.0.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
aa677f099a5069e4ced42acc837d7b5ffa9af7f5e8a78f8f195e7ab68680343f
BLAKE2b-256 checksum
How to use checksums
8044043fc7520ec262b14540a0667f07d5efc0e1b9094d595f9c9a4c09ec1fc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.16

Release files / sbolinventory-0.1.0-py3-none-any.whl

Download URL sbolinventory-0.1.0-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5613e276754697356c2a239bac32111bd6200683a2eb09b130ccc9db64fc7e60
BLAKE2b-256 checksum
How to use checksums
36d845b3fef06e0b14b7ebfd3688f72f00663f66e9d1ce30a28bca18402df58c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.16

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page