Skip to main content

deploy deploy codecov

Chowda

CLAMS processing app

App

Application available at chowda.wgbh-mla.org

Documentation

Visit the documentation for install and usage instructions.

Basic Pipeline with 2 CLAMS Apps

Actors:

  • User
  • Chowda
    • Webapp
    • Pulbicly available on internet
  • DB
    • Postgresql
    • VPC
    • Sperate Cluster?
  • Runner
    • Pipeline Runner
    • In CLAMS cluster
  • CLAMS
    • Individual CLAMS apps
    • In CLAMS cluster
    • Deployed as either:
      • Webservice
      • Kubernetes Job

Call Sequence Diagram

  • User starts job
  • Chowda enters it in the DB
  • Runner sees new job and starts CLAM1 with initial MMIF
  • CLAM1 Processes data and returns MMIF to Runner
  • Runner Updates DB and starts CLAM2
  • CLAM2 Processes data and returns MMIF to Runner
  • Runner Updates DB
  • User gets data from Chowda
sequenceDiagram
    actor User
    participant Chowda
    participant DB
    participant Runner
    participant CLAM1
    participant CLAM2


    %% User starts job
    activate User
    note left of User: Hey, Chowda! Start batch 123 on pipeline 456
    User ->> + Chowda: Start batch 123 with files [] through pipeline 456
    Chowda ->> + DB: INSERT (batch, pipeline, Initial mmif) to TABLE pipeline_runs
    DB ->> - Chowda: {pipeline_run_id, status: waiting}
    Chowda ->> - User: Pipeline run {id} is {status}
    deactivate User
    loop backgroud process
        Runner ->> DB: Check for new jobs
    end

    %% Runner
    activate Runner
    note left of Runner: Found new job!
    Runner ->> + CLAM1: Start app 1, with initial MMIF
    deactivate Runner

    %% CLAM1
    note right of CLAM1: Processing!
    loop Status check
        Runner ->> CLAM1: Status report!
        CLAM1 ->> Runner: XX %
        Runner ->> DB: UPDATE pipeline_run_id SET status CLAM1 XX %
    end
    note right of CLAM1: Done!
    CLAM1 ->> - Runner: intermediate MMIF
    activate Runner
    Runner ->> DB: UPDATE pipeline_run_id SET status 'done' + MMIF

    %% CLAM 2
    Runner ->> + CLAM2: Start app 2 with intermediate MMIF
    deactivate Runner
    note right of CLAM2: Processing!
    loop Status check
        Runner ->> CLAM2: Status report!
        CLAM2 ->> Runner: XX %
        Runner ->> DB: UPDATE pipeline_run_id SET status CLAM2 XX %
    end

    %% User update
    activate User
    note left of User: Is it done yet?
    User ->> + Chowda: Pipeline update?
    Chowda ->> + DB: WATCH pipeline_runs WHERE status=running
    DB ->> Chowda: ACTIVE_PIPELINE_RUNS
    Chowda -->> User: Websocket: Batch 123 status [CLAM1: done, CLAM2: XX %]
    note left of User: Not quite, but it should be done soon.

    %% CLAMS finished
    note right of CLAM2: Done!
    CLAM2 -->> - Runner: finished MMIF
    activate Runner
    Runner ->> - DB: UPDATE pipeline_run_id SET status MMIF
    DB ->> Chowda: Batch 123 update
    Chowda -->> User: WS: batch 123 Finished!
    deactivate Chowda
    deactivate DB

    note left of User: Yay! My metadata is perfect!
    deactivate User

develop

pre-commit secret scanning

  1. Install ggshield
pip install ggshield
# or
brew install gitguardian/tap/ggshield
  1. Login to gitguardian
ggshield auth login
  1. Install the pre-commit hooks
pre-commit install

Release files for chowda 0.8.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 chowda 0.8.0
File Size Uploaded
chowda-0.8.0.tar.gz 27.8 kB Details

Built distribution (wheel)

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

Total release size: 61.8 kB

Release files / chowda-0.8.0.tar.gz

Download URL chowda-0.8.0.tar.gz
Size 27.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d7b26ed525dba7514565b2ddd2d684373a5d8c496394f846789ef470994d4bf6
BLAKE2b-256 checksum
How to use checksums
a814bad6896768b71a5cf5c6b0d429cc1a974a3ed14c9cb493a331364afbd0a3
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 25, 2026.

Transparency log

Release files / chowda-0.8.0-py3-none-any.whl

Download URL chowda-0.8.0-py3-none-any.whl
Size 34.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2518f321ea4513b47c4edc3cacda863f3daa5f1008d796f7b6a70da31a67489e
BLAKE2b-256 checksum
How to use checksums
87504938512840e0bb67e28efbb5fb059e6b69fc4a11194bac49131f6a7101f1
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 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.0.0

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