A CLAMS processing application
Project description
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
- Install ggshield
pip install ggshield
# or
brew install gitguardian/tap/ggshield
- Login to gitguardian
ggshield auth login
- Install the pre-commit hooks
pre-commit install
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chowda-0.6.0.tar.gz.
File metadata
- Download URL: chowda-0.6.0.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce1226feee2c732dc105e6835e1df5c29be5304a10ccdfb209851a2cf5d84d3d
|
|
| MD5 |
5f0ae237b0be75274056bec4e4575377
|
|
| BLAKE2b-256 |
2e2a4bb669b65158df928d32ab0f67c5b2f2d5a8f1de149f7d43dec063c3e9b2
|
Provenance
The following attestation bundles were made for chowda-0.6.0.tar.gz:
Publisher:
publish.yml on WGBH-MLA/chowda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chowda-0.6.0.tar.gz -
Subject digest:
ce1226feee2c732dc105e6835e1df5c29be5304a10ccdfb209851a2cf5d84d3d - Sigstore transparency entry: 1671238002
- Sigstore integration time:
-
Permalink:
WGBH-MLA/chowda@3a23da18c4eeb6f23401521d80fd492897b4e2c1 -
Branch / Tag:
refs/tags/😎 - Owner: https://github.com/WGBH-MLA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3a23da18c4eeb6f23401521d80fd492897b4e2c1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file chowda-0.6.0-py3-none-any.whl.
File metadata
- Download URL: chowda-0.6.0-py3-none-any.whl
- Upload date:
- Size: 27.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0b1af0197cf8b10b991cd490b22d7947e134d5ef59d31a85f32f20ac8345418
|
|
| MD5 |
c9efc0aadf37a5e4c87b1a03d9a82e92
|
|
| BLAKE2b-256 |
d89894cb9a2a6215055fab5ad838144c93ea2a2a42b9aaafaaf4eee665d579fe
|
Provenance
The following attestation bundles were made for chowda-0.6.0-py3-none-any.whl:
Publisher:
publish.yml on WGBH-MLA/chowda
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chowda-0.6.0-py3-none-any.whl -
Subject digest:
a0b1af0197cf8b10b991cd490b22d7947e134d5ef59d31a85f32f20ac8345418 - Sigstore transparency entry: 1671238130
- Sigstore integration time:
-
Permalink:
WGBH-MLA/chowda@3a23da18c4eeb6f23401521d80fd492897b4e2c1 -
Branch / Tag:
refs/tags/😎 - Owner: https://github.com/WGBH-MLA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3a23da18c4eeb6f23401521d80fd492897b4e2c1 -
Trigger Event:
push
-
Statement type: