Skip to main content

Formal concurrency primitives for the agentic era. Too many bass players? Now they're in tune.

Project description

stbass

License: MIT

Formal concurrency primitives for the agentic era. Too many bass players? Now they're in tune.

Named after Spinal Tap's infamous revolving door of bass players -- each one meeting a more absurd fate than the last. Like an uncoordinated parallel system, nobody knew who was playing bass at any given time. stbass brings order to that chaos.

Why

stbass is a process algebra library inspired by Occam-2's CSP (Communicating Sequential Processes) concurrency model. CSP, originally formalized by Tony Hoare, models concurrent systems as independent processes that communicate exclusively through typed channels -- no shared mutable state, no locks, no data races.

Occam-2 brought CSP to hardware with constructs like PAR, SEQ, ALT, and channel-based communication. stbass brings these same formally-verified concurrency primitives to Python's async ecosystem, purpose-built for orchestrating agentic workflows.

Quick Start

from stbass import PAR, SEQ, Chan, Process

# Define typed channels
input_chan = Chan[str]("input")
output_chan = Chan[str]("output")

# Compose processes with PAR and SEQ
pipeline = SEQ(
    fetch_data(input_chan),
    PAR(
        analyze(input_chan, output_chan),
        summarize(input_chan, output_chan),
    ),
    report(output_chan),
)

result = await pipeline.run()

Installation

pip install stbass

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stbass-0.1.1.tar.gz (44.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stbass-0.1.1-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file stbass-0.1.1.tar.gz.

File metadata

  • Download URL: stbass-0.1.1.tar.gz
  • Upload date:
  • Size: 44.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for stbass-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a506d543a417323601abeba5a4c4b666db52248b16ae5208f6b5437bdc4b2861
MD5 9caf33fd823768d969b6dfc277089e05
BLAKE2b-256 8e3a19cb0bbe08b59f0938c38fe4fa5800c5e42c0bd36b51d6a8119ca6075b8d

See more details on using hashes here.

File details

Details for the file stbass-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: stbass-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for stbass-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 697b8809cc0a61259319dde237275898a6cb8e083c4c8f606c7fcf47f81a02c9
MD5 0c7c8685361fe130ae01b4dce1676b21
BLAKE2b-256 2d44036b9efa4f94b035ba9d91845b222379d15ba44d8028d6519c3ee543c5a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page