AVICA: Automated VLBI pipeline in CASA
Accepted for publication in Astronomy & Astrophysics journal.
Complete demo: avikhagol.github.io/avica-demos
Contents
Installation
Requirements:
- Ubuntu 18.04+, Debian 10+, or RHEL/CentOS 8+
- Python >= 3.9
The avica package is publicly available on PyPI.
Use uv or pipx for an isolated command-line installation.
Recommended installation
Using uv:
uv tool install avica --python 3.10
Using pipx:
pipx install avica
Using pip:
pip install avica
If you install with pip, use a virtual environment unless you already manage Python packages another way.
Manual installation
Clone the repository and install it locally:
git clone https://github.com/avikhagol/avica.git
cd avica/
pip install .
Full installation script
Run install.sh as your normal user. The quickest way is to fetch
and run it in one step:
curl -LsSf https://avikhagol.github.io/avica/install.sh | bash
source "$HOME/.local/share/avica-stack/env.sh"
requires
rsync,git
The script installs AVICA using uv. If picard is already on PATH, it reuses that
installation and skips all CASA/rPICARD downloads and plotting/data setup.
Otherwise, it installs rPICARD, jiveplot (with python-pgplot==1.6.1), and monolithic CASA.
For a new rPICARD installation, set CASA_PATH to an existing CASA installation
directory (containing bin/casa and bin/mpicasa) or an archive URL:
CASA_PATH=/path/to/casa bash install.sh
Using the one-liner, place the variable after the pipe so it reaches bash,
not curl:
curl -LsSf https://avikhagol.github.io/avica/install.sh | CASA_PATH=/path/to/casa bash
If unset, the script prompts for the location. Press Enter to download:
ftp://ftp.mpifr-bonn.mpg.de/outgoing/mjanssen/casa-6.7.5-18-py3.12.el8.tar.xz
Without an interactive terminal, the same default is used. CASA_DIR and
CASA_URL are also accepted, after CASA_PATH in that order.
Set AVICA_INSTALL_DIR to change the default ~/.local/share/avica-stack
directory, or PICARD_REF to select the branch/tag of a new rPICARD clone.
Choose a CASA version that matches the selected rPICARD version.
When setting up rPICARD, the downloaded or supplied CASA directory is also saved
in AVICA's global configuration using avica pipe config --global casadir=....
The script adds an environment file to ~/.bashrc. It configures AVICA's CASA
and input-template paths when it can identify them, preserving other settings
and backing up an existing ~/.avica/avica.inp. For an existing picard command,
it reads the adjacent rPICARD your_casapath.txt when available; otherwise,
existing AVICA settings are left unchanged.
Run bash install.sh --help (or curl -LsSf https://avikhagol.github.io/avica/install.sh | bash -s -- --help
for the one-liner) for the environment options. The previous apt and
dependency-check options have been removed.
Usage
The pipeline calibration steps rely on rPicard. Follow the rPicard setup instructions first. After rPicard is configured, AVICA only needs a minimal configuration file to get started; see Configuration.
Pipeline
Run the default pipeline:
avica pipe run --fitsfilenames <file1.uvfits,file2.uvfits> --target <source-name>
The default pipeline executes these steps:
preprocess_fitsidifits_to_msphaseshiftavica_avgavicameta_msavica_snravica_fill_inputavica_split_msrpicard
You can pass one or more step names to run only part of the pipeline:
avica pipe run preprocess_fitsidi fits_to_ms --fitsfilenames <file.uvfits>
During fits_to_ms, AVICA also discovers station flag files in artifact_dirs,
folder_for_fits, the input FITS directories, and <workdir>/raw. AIPS UVFLG
files using ANT_NAME (such as EVN .flag files) are converted and added after the existing FITS-IDI/MS flags.
apply_flag_from_artifacts = True
artifact_flag_extensions = .fg;.uvflag;.uvflg;.uvfg;.flag;.flg;.uvflags;.uvflgs;.uvfgs;.flags;.flgs
artifact_flagfiles = []
Extensions are case-insensitive. A nonempty artifact_flagfiles list overrides
automatic discovery and accepts arbitrary filenames. Set
apply_flag_from_artifacts=False to disable this pass independently of
apply_flag_from_idi. Existing measurement sets are flagged only when
apply_flag_to_existing_vis=True.
Supported UVFLG fields are ANT_NAME, TIMERANG, OPCODE='FLAG', REASON,
TIMEOFF, DTIMRANG, BIF/EIF, and BCHAN/ECHAN. TIMEOFF and DTIMRANG are
in seconds and retain their nonzero settings between entries, following
AIPS UVFLG INTEXT semantics.
Malformed files and records with unsupported selectors, invalid IF/channel
ranges, absent antennas, or unrelated times are reported and skipped.
Generated commands are saved as <MS>.artifact_flags.flagcmd; its .json
sidecar records input files, row counts, skipped records and application status.
Each application saves uniquely named before_artifact_flags_* and
after_artifact_flags_* versions using CASA flagmanager. If application fails,
the step reports failure and the before-version remains available for restoration.
Source flag files are read in place and are not copied into rPICARD directories.
Common options:
| Option | Description |
|---|---|
--f, --fitsfilenames |
Comma-separated FITS-IDI file names. |
--t, --target |
Selected field or source name. |
--configfile |
Configuration file containing key=value entries. Defaults to avica.inp. |
--help |
Show the full command help. |
Pipeline results
After each step completes, AVICA appends a row to reductions/<target>_result.csv. Use avica pipe result to render that file:
avica pipe result --target <source-name>
This prints a progress ladder — one row per step — with status, success/fail counts, duration, and a condensed note for any failures. Full failure traces appear in panels below the table.
Common options:
| Option | Description |
|---|---|
--t, --target |
Target name; used to locate the result CSV. |
--oneline |
Single status line — good for scripts and CI. |
--history |
Show every retry of every step, not just the latest. |
--no-detail |
Suppress the full failure panels below the table. |
--check |
Exit non-zero when any step has not fully succeeded. |
--csvfile |
Pass the CSV path directly, skipping config lookup. |
--help |
Show the full command help. |
The default view collapses to the most recent attempt per step; --history shows all attempts. The footer prints the command to resume from the next incomplete step.
Manipulating FITS-IDI
Check FITS-IDI files for known issues:
avica fitsidi_check <file.uvfits>
Useful options:
| Option | Description |
|---|---|
--fix, --no-fix |
Apply available fixes. Defaults to --no-fix. |
--desc, --no-desc |
Show issue descriptions. Defaults to --no-desc. |
--help |
Show the full command help. |
Example output:
avica fitsidi_check VLBA_VSN005412_file3.uvfits
+--------------------+---------+-------+-------+----------------+----------+
| hdu | fixable | total | fixed | problem_code | affected |
+==========================================================================+
| ARRAY_GEOMETRY | 0 | 8 | 0 | [] | [] |
| ANTENNA | 0 | 16 | 0 | [] | [] |
| FREQUENCY | 0 | 8 | 0 | [] | [] |
| PHASE-CAL | 0 | 12 | 0 | [] | [] |
| PRIMARY | 1 | 10 | 0 | ["extra_byte"] | [""] |
| SOURCE | 0 | 8 | 0 | [] | [] |
| FLAG | 0 | 12 | 0 | [] | [] |
| UV_DATA | 0 | 8 | 0 | [] | [] |
| GAIN_CURVE | 0 | 8 | 0 | [] | [] |
| SYSTEM_TEMPERATURE | 0 | 8 | 0 | [] | [] |
+--------------------+---------+-------+-------+----------------+----------+
List observation information:
avica listobs <file.uvfits>
Configuration
The pipeline configuration is a key=value file. By default, AVICA looks for avica.inp in the current directory. See the example configuration for a minimal setup.
Pass a custom configuration file with --configfile:
avica pipe run --configfile <path/to/config/file>
If --configfile is not provided, AVICA uses avica.inp by default.
To store defaults persistently, merge an existing file into ~/.avica/avica.inp:
avica pipe config --default --inpfile <path/to/avica.inp>
You can also set default values directly:
avica pipe config --default key=value key2=value2 key3=value3
To set global defaults in AVICA's installed directory, use --global in the same way:
avica pipe config --global --inpfile <path/to/avica.inp>
avica pipe config --global key=value key2=value2 key3=value3
Each of these commands only touches one file: --default writes to
~/.avica/avica.inp, --global writes to the installed avica.inp, and plain
avica pipe config writes to the local avica.inp (or --outfile). Only the
keys you give it are changed; everything else already in that file — other
settings, comments, # str/# int notes — stays as it was. A backup of the
old file is saved as avica.inp.bak.
To supersede the rPicard input_template files (array.inp, observation.inp, array_finetune.inp, flagging.inp, constants.inp) used by the rpicard step, point picard_input_template_update at a folder containing the parameters you want to fix:
picard_input_template_update = "path/to/folder/with/fixed/inp/files"
Parameter summary
Use --summary to print a report of every pipeline parameter, its resolved value, and where that value came from (global, user, inpfile, cli, built-in default, or runtime context). The /core and /step suffixes distinguish general parameters from step-specific overrides:
avica pipe config --summary --inpfile <path/to/avica.inp>
The summary overlays the installed global avica.inp, then ~/.avica/avica.inp, then the local avica.inp (or an explicit --inpfile), with command-line key=value overrides applied last. Later layers override matching keys and preserve other settings. --no-inpfile skips automatic local-file discovery; an explicit --inpfile is still used. Summaries do not write configuration files.
Cleaning up intermediate data
Each pipeline step can remove its own intermediate files (temporary files, superseded Measurement Sets, etc.) once it finishes. This is controlled by:
| Option | Description |
|---|---|
delete_removables |
Master switch; must be True for any cleanup to happen. Defaults to False. |
removables |
List of glob patterns (relative to the step's working directory) to delete. Can be set globally or per step as <step_name>.removables. |
rm_pre / <step_name>.rm_pre |
If True, delete the matching files before the step runs instead of after. |
rm_only |
Only perform the deletion and skip running the step itself. |
Several steps ship with sensible defaults, e.g.:
delete_removables = True
preprocess_fitsidi.removables = ["raw/*.tmp"]
rpicard.removables = ["wd_[SLKQXPD]/VLBI_*.ms"]
fits_to_ms.removables = ["*.old"]
Deletion is always confined to the step's working directory; patterns that resolve outside it are ignored.
Attribution
When using AVICA, please add a link to this repository in a footnote.
Acknowledgement
AVICA was developed within the "Search for Milli-Lenses" (SMILE) project. SMILE has received funding from the European Research Council (ERC) under the HORIZON ERC Grants 2021 programme (grant agreement No. 101040021).
Release files for avica 0.3.1.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| avica-0.3.1.16.tar.gz | 2.0 MB | Details |
Built distributions (wheels)
Total release size: 42.7 MB
Release files / avica-0.3.1.16.tar.gz
| Download URL | avica-0.3.1.16.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f88caa4094ccf02a7bd66b981ce513ca8f8bbc9791001decb89c5dac54fd040
|
|
BLAKE2b-256 checksum How to use checksums |
932422041ffd925fe599eb41b4178649ece3f14352f9044fc1441e5d9b7177d5
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | avica-0.3.1.16-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
5cd7103f547c6490c9f9b1d1b7754a982b68b3f39ec16693ed87d4f06575a437
|
|
BLAKE2b-256 checksum How to use checksums |
ccff128351d7802ae10eb8a86d4c0c053042524479ef81f2d9ed28cd00e80d61
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | avica-0.3.1.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f98a40a3044cbf6fe0acd3bba070b211279c2b4a3b7c3ca4b1fa9c6d6360b98d
|
|
BLAKE2b-256 checksum How to use checksums |
8d0fcdb793c3444be99bb90b67d52255d590368bb7b4ffe702d76a97d1ef1e2c
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | avica-0.3.1.16-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8ae2c77853a120c91c94ff8adcdb5f507339b927ec712618a972a58322872382
|
|
BLAKE2b-256 checksum How to use checksums |
56777bd35646ed01b2ce62780d05105c975a40f24fae0c3c3eb368989c9768b9
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | avica-0.3.1.16-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c298919919dc63afc6bb17a8a54bc1ed02ba1dc7ca010d638be957e2ca0acf15
|
|
BLAKE2b-256 checksum How to use checksums |
773dc7a72788d089d1c2cbb399aedd8d4ddfe81fd7e5dacc38a7b212d930f3b1
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | avica-0.3.1.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3340d8e36243d73d0279a3f2a7fb23c5b31e3c57eba062a33db66a0adfe156fa
|
|
BLAKE2b-256 checksum How to use checksums |
7aa34d08c8debfbb5c5f2df6f2528de1f8f881b53889a23210cfdecd5948bd1e
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | avica-0.3.1.16-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8af36771fe967ac169ab188ae07d5649fa079206508aaebf2c4074a53d103aae
|
|
BLAKE2b-256 checksum How to use checksums |
9323d11b3d65d575f4aaca719bee4d9692ba5d21270371f7537cb2648410c84c
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | avica-0.3.1.16-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
cf1d3884a175992f1d03e10f854d6f9c6f4a4219241617b5734817aff6aa2b32
|
|
BLAKE2b-256 checksum How to use checksums |
61fa0f82752a906c789b5415e7e6fd879b036c1b28c78d2473c4d85b8a9a17e3
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | avica-0.3.1.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d263ee5154020c82dd9bd0526be0b84e7aea702da0884674a2bc61203b5f0f3e
|
|
BLAKE2b-256 checksum How to use checksums |
804d7f370124fafce901909e089d9e481332c0126e1c379dac9b2ea56828419b
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | avica-0.3.1.16-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ad275a8168ae6d1b060f9a4f8a99d04903ff534153589c126c346d04fc1d7a5f
|
|
BLAKE2b-256 checksum How to use checksums |
fb60dbafdbd24d26f342b9c8903311d02ca8230e64e543a6455d01298a03fe3b
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | avica-0.3.1.16-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
b64ce41e54106958039b8cd65063f825676a2a2f5cb962c076ae62775e8b26b3
|
|
BLAKE2b-256 checksum How to use checksums |
022ab4d7f10a5ac52daa8e5b6bc87439ce9afbf2244484f0672338ca2e145020
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | avica-0.3.1.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
88fb65d41bb7927bdbb9f3b69d06dd799042a4c714f0fbdb1b333f854f676eb4
|
|
BLAKE2b-256 checksum How to use checksums |
ebc2967a5663cbfdae9c25c3e39452c297f445653da58ca123cbde4c399222d6
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | avica-0.3.1.16-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0d77dd149c21f432075eaf5aed08ffd9791bbfc61276263e546ef4a1d1861040
|
|
BLAKE2b-256 checksum How to use checksums |
cded434a657bf281dec6af8286363fa1d2f426c4460bca13aa389819d7de8e73
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | avica-0.3.1.16-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.5 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
bd4ee061a35e1ebe07eb6b998e322b13dd826e0296b38669f17594a4370d55af
|
|
BLAKE2b-256 checksum How to use checksums |
df6fa15b0ce9707d7502bee498659b0d1a1307482d614203d68bd1dceb6fd777
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | avica-0.3.1.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c3f143c24efa21f5819d4efcc647ec19daafa7c2d2bee27a0d7fcaac95dfd58d
|
|
BLAKE2b-256 checksum How to use checksums |
7d2181eee8525c8621251b61df0cd56f96d4b18affe7f06c9e8c5ba351f3acd4
|
| 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 26, 2026.
Transparency logRelease files / avica-0.3.1.16-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | avica-0.3.1.16-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ad0918f162ad703861c9f8e361e1b8a0c8569440370a4f21d840aeac802101fb
|
|
BLAKE2b-256 checksum How to use checksums |
7f7113267b970cafcf8337dfd3b1a0495d0371772d9a3a8b768f88ed2a589364
|
| 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 26, 2026.
Transparency log