BANZAI Pipeline
This repo contains the data reduction package for Las Cumbres Observatory (LCO).
BANZAI stands for Beautiful Algorithms to Normalize Zillions of Astronomical Images.
See also https://banzai.readthedocs.io for more information.
Please cite the following DOI if you are using processed LCOGT data.
We have recently implemented a neural network model to detect cosmic rays in ground based images. For more information pleas see our paper on arXiv. If possible please also cite Xu et al., 2021, arXiv:2106.14922.
Installation
BANZAI uses uv for dependency management. Install uv first if you don’t have it:
curl -LsSf https://astral.sh/uv/install.sh | sh
Then install BANZAI and all dependencies including CPU-only PyTorch:
uv sync
All dependencies are managed automatically. A virtual environment is created in .venv in the project directory. Activate it before running any commands:
source .venv/bin/activate
Installing from PyPI
When installing BANZAI as a package (rather than from source), pass the pytorch-cpu index to avoid pulling the full CUDA-bundled PyTorch wheel from PyPI (~2GB):
uv pip install lco-banzai --extra-index-url https://download.pytorch.org/whl/cpu
The same flag applies when using pip instead of uv pip.
Usage
BANZAI has a variety of console entry points:
banzai_reduce_individual_frame: Process a single frame
banzai_reduce_directory: Process all frames in a directory
banzai_make_master_calibrations: Make a master calibration frame by stacking previously processed individual calibration frames.
banzai_automate_stack_calibrations: Start the scheduler that sets when to create master calibration frames
banzai_run_realtime_pipeline: Start the listener to detect and process incoming frames
banzai_mark_frame_as_good: Mark a calibration frame as good in the database
banzai_mark_frame_as_bad: Mark a calibration frame as bad in the database
banzai_update_db: Update the instrument table by querying the ConfigDB
banzai_add_instrument: Add an instrument to the database
banzai_add_site: Add a site to the database
banzai_add_super_calibration: Add a super calibration frame to the database
banzai_populate_bpms: Automatically populate the db with bpms from the archive
banzai_create_db: Initialize a database to be used when running the pipeline
banzai_create_local_db: Initialize a local database for site deployment, copying site/instrument info from a remote calibration database
You can see more about the parameters the commands take by adding a –help to any command of interest.
BANZAI can be deployed in two ways: an active pipeline that processes data as it arrives or a manual pipeline that is run from the command line.
For a runnable example of BANZAI in manual pipeline mode, refer to this jupyter notebook:
The main requirement to run BANZAI is that the database has been set up. BANZAI is database type agnostic as it uses SQLAlchemy. To create a new database to run BANZAI, run
from banzai.dbs import create_db
create_db('sqlite:///banzai-test.db')
This will create an sqlite3 database file in your current directory called banzai-test.db.
To run database migrations (e.g. after upgrading BANZAI), use the Alembic migration files bundled with the package:
DB_ADDRESS=postgresql://user:pass@host/dbname alembic -c $(python -c "import importlib.resources; print(importlib.resources.files('banzai').joinpath('alembic.ini'))") upgrade head
If you are not running this at LCO, you will have to add the instrument of interest to your database by running banzai_add_instrument before you can process any data.
By default, BANZAI requires a bad pixel mask. You can create one that BANZAI can use by using the tool here. To add a local bpm to the database, run
banzai_add_super_calibration path/to/bpm/file --db-address path/to/db
Generally, you have to reduce individual bias frames first by running banzai_reduce_individual_frame command. If the processing went well, you can mark them as good in the database using banzai_mark_frame_as_good. Once you have individually processed bias frames, you can create a master calibration using banzai_make_master_calibrations. This master calibration will then be available for future reductions of other observation types. Next, similarly reduce individual dark frames and then stack them to create a master dark frame. Then, the same for skyflats. At this point, you will be able to process science images using the banzai_reduce_individual_frame command.
To run the pipeline in its active mode, you need to setup a task queue and a filename queue. See the docker-compose-local.yml file for details on this setup.
Running Locally
To run BANZAI as a local pipeline, use docker-compose-local.yml. This is the recommended setup for development and for processing data independently of LCO’s site infrastructure.
Redis and RabbitMQ are managed separately via docker-compose-dependencies.yml so they can be left running across pipeline restarts. Start them first:
docker compose -f docker-compose-dependencies.yml up -d
Pipeline containers connect via the REDIS_URL and RABBITMQ_URL environment variables (defaulting to host.docker.internal). Site deployments can point these at existing infrastructure instead.
Copy local-banzai-env.default to local-banzai-env and set your AUTH_TOKEN and DB_ADDRESS.
Start the containers:
docker compose -f docker-compose-local.yml --env-file local-banzai-env up -d --build
Queue images for processing. Raw files must be in $HOST_RAW_DIR:
uv run python scripts/queue_images.py $HOST_RAW_DIR
Processed output will be saved in $HOST_REDUCED_DIR.
Tests
Unit tests can be run using pytest. End-to-end tests are skipped by default, so to run only the unit tests locally run:
uv run pytest
The default pytest options exclude the e2e and e2e_site markers. The following markers are defined if you only want to run a subset of the tests:
e2e: End-to-end tests. Skip these if you only want to run unit tests.
master_bias: Only test making a master bias
master_dark: Only test making a master dark, assumes master bias frame already exists
master_flat: Only test making a master flat, assumes master bias and dark frames already exist
science_files: Only test processing science data, assumes master bias, dark, and flat frames already exist.
The end-to-end tests run on Jenkins at LCO automatically for every pull request.
To run the end-to-end tests locally, the easiest setup uses docker-compose. In the code directory run:
export DOCKER_IMG=banzai
docker build -t $DOCKER_IMG .
docker-compose up
After all of the containers are up, run
docker exec banzai-listener pytest --pyargs banzai.tests "-m e2e"
Site Deployment E2E Tests
The site E2E tests validate the full site deployment caching system, including PostgreSQL logical replication, calibration file caching, and Smartstack reduction and stacking. The site deployment is Smartstack-only: it does not run the realtime (fits_files → e91) pipeline. These tests are opt-in and are excluded from default pytest runs by the e2e_site marker.
They require Docker, Docker Compose, uv, and an LCO archive API token. The recommended entrypoint starts the shared Redis/RabbitMQ dependencies, then runs pytest. Pytest currently starts and tears down the publication database and site deployment containers.
To run the site E2E tests:
# Copy and configure the environment file
cp banzai/tests/site_e2e/site_e2e.env.template banzai/tests/site_e2e/site_e2e.env
# Edit site_e2e.env and add your AUTH_TOKEN
# Run the tests
scripts/run_site_e2e.sh
For advanced debugging, you can run pytest directly after starting Redis/RabbitMQ yourself:
docker compose -f docker-compose-dependencies.yml up -d
uv run pytest -m e2e_site banzai/tests/site_e2e/test_site_e2e.py -v -s
The following markers can be used to run subsets of the site E2E tests:
e2e_site: All site deployment tests
e2e_site_startup: Publication DB and site deployment startup tests
e2e_site_cache: Cache synchronization tests
e2e_site_reduction: Smartstack reduction and stacking tests
Publish Changes to PyPI
Update Change log in CHANGES.md.
uv version --bump [major/minor/patch] # use UV to bump version, sync, and update lock file.
Commit changes and merge into main.
git checkout main # checkout main branch (be sure to pull/push as need to be in sync)
git tag -m '[message]' x.x.x # tag main to the new version
git push --tags # Push tags up to github
Go to tags on github, select new tag and generate a release.
Publish release.
If there are problems, check the recent github action named after the new tag for more information. Packages should be published to https://pypi.org/project/lco-banzai/.
License
This project is Copyright (c) Las Cumbres Observatory and licensed under the terms of GPLv3. See the LICENSE file for more information.
Support
Metadata
Release files for lco-banzai 1.39.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lco_banzai-1.39.1.tar.gz | 1.1 MB | Details |
Built distributions (wheels)
Total release size: 28.4 MB
Release files / lco_banzai-1.39.1.tar.gz
| Download URL | lco_banzai-1.39.1.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
311083f0240568590f72d68f7a5669f407ad2cdd663f2932570ec54397d4bedd
|
|
BLAKE2b-256 checksum How to use checksums |
e47f1ebc4789003869613741e9081016fcac229eb93e46e82b7222de6d64afc6
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp315-cp315t-musllinux_1_2_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp315-cp315t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
9e7f1e490229cd483e24b3b29a64e3dd9a1b94d941008e40ffb3b0325c4658d6
|
|
BLAKE2b-256 checksum How to use checksums |
f7420838841fce763ccbb47e940b23520578bdaa0b48d7af2674c0a231ae72fd
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
82a5eef3ceeead00a848f09826a0f44c1ed2ebc36f9277ae7d39fddaf7cff384
|
|
BLAKE2b-256 checksum How to use checksums |
b4276c1f023dbd2cfd05bfbaed23a41606938669ed3b0a82a716ce572df46de0
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp315-cp315-musllinux_1_2_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp315-cp315-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.15 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
3e785d67d586619f77362bd8523c6fe8fcc1a4949226f981a5b93f58245b88d5
|
|
BLAKE2b-256 checksum How to use checksums |
37641909b5ffafa1d4860719fbd58759ca32337ecbc4cf880f9368a5cf54bcf2
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5f0a413b111facad2aa8cabb950edb6482f26f893569a4a8e73139e34216e8f0
|
|
BLAKE2b-256 checksum How to use checksums |
ed2d57ee901420b1c5cdd2c247b9dd00cf644efda88c8403915a12df5a617879
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
fa43befccc4cb4f886959df8b39193b26897ef5c26a15e24c78493f73a9c6b55
|
|
BLAKE2b-256 checksum How to use checksums |
9de22cc8d3e81bfd9d8e316851dfcebe52318ba6aa493c994b5ca44a62f6712c
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9bfa5764f1e0244a316680f679fc69dee1bb398878ed85730b881210b8c2fc15
|
|
BLAKE2b-256 checksum How to use checksums |
6e99793632529f0a1b2d7596c2bd0aeae6f968e98bfbfb0b80c5888ab71b1047
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
45908ef40bd84b5efe684b81e810efaa98b7d40e919347708cad2193146b9a4c
|
|
BLAKE2b-256 checksum How to use checksums |
f12e461264ce8ebe58d5e7a82d74c7fcdc46d6f3e781a79ea52dd48a54a719d8
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6ceb73bc7b5fdfd31b587ee7a062143e39d03d43751487aa3d42ba552962bd8e
|
|
BLAKE2b-256 checksum How to use checksums |
e82d1a3b1d1d89f3c41ec330081cc74c0ece950a042b192bbb60f4ed2f3a2f14
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
6616b4d00ffcb14b6e529ea360827d2d32681efa54029cd0c225949ab3a19284
|
|
BLAKE2b-256 checksum How to use checksums |
1d13e9f687b6a676d5a157ad660f12640598ac3cda89cf3accd22a8564dac520
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3b803cc707afa590faec5ec8be17f86106d5aae016e9af94bbfa9a1ec9ecd63c
|
|
BLAKE2b-256 checksum How to use checksums |
74e50c4d6339e9828e5c6c40a50420a7af64c5967771f687c0eff7104c3912e8
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
f82a6481c02c82e2b7e80146cb98d06e759d517a289b01a1d2dcd35aa0d280bb
|
|
BLAKE2b-256 checksum How to use checksums |
5904ef6590c49421602987b047937a100da6f0ca82468fb5ac747e2f39aafce8
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9806dea20bc2c8f13a189f7dda3c12c633d9d4a0bac8a264b4484c2c76e14dea
|
|
BLAKE2b-256 checksum How to use checksums |
28f4fe3cc70f75078beee11ba9ac29c517bec9e6aa9916b0d1f8716ee6d24fda
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
758ffc2f0cfac2d6b7724a4e78d092e0c2ccf9e4ab4fe82a17b1c711f4f287c8
|
|
BLAKE2b-256 checksum How to use checksums |
60979d59115df3213af042ba01c08a76183149c9b7d16997c6cfd2b49567ca67
|
| 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 29, 2026.
Transparency logRelease files / lco_banzai-1.39.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lco_banzai-1.39.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
bc5a973d1d6c71615a6b121cf5198c6b2a4cb2c3ec53e760068b6194a289146d
|
|
BLAKE2b-256 checksum How to use checksums |
fdab0678a4f8a8470f510b8a62d71ea6dc91debbe315f4d2005a635833edbfd7
|
| 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 29, 2026.
Transparency log