pytauargus
Statistical disclosure control (SDC) for tabular data, as a Python package and
a headless tauargus command. Protect tables directly from DataFrames with
protect(), or run supported legacy Tau-Argus .arb batches without the GUI.
The 4.1 manual is the batch/file-format reference, not a complete feature
compatibility guarantee.
The engine solves with the open-source
HiGHS solver. The native engine and
the thin bindings live in
tauargus-engine; every release
builds the wheel from a pinned engine revision (see
Building from source). The R front-end is
rtauargus.
Supported workflows and validation
- OPT, MOD and RND are implemented and regression-tested.
- CKM has a dispatch path, but no dedicated end-to-end CKM regression suite.
- GH, NET and CTA are rejected by the headless engine, even though the parser/generators accept their legacy syntax.
- Suppression audit runs in-process and has known-interval contract tests.
Regression tests do not establish comprehensive numerical equivalence with
original Tau-Argus. Compare protection requirements, realised audit intervals,
information loss and failure behaviour on representative tables before adopting
a workflow; solver changes can produce different valid suppression patterns.
Audit is explicit: engine.audit(tab) checks the supplied table's suppression
constraints. TableResult.safe() masks cells; it does not run the audit.
Run independent jobs in separate processes and working/output directories.
The native solver retains process-global state, and concurrent engine calls in
the same process are not validated. OPT/MOD limits are in minutes (0: no
limit); the positive-limit tests do not cover deadline expiry or partial results.
See Compatibility and validation for the project scope and the distinction between diagnostics and publication.
Results compared with legacy Tau-Argus
The port targets a drop-in replacement for legacy Tau-Argus 4.1: same batch grammar, same file I/O, same protection mathematics. Two caveats for anyone expecting number-for-number parity with a legacy run:
- Secondary suppression can differ cell by cell. OPT and MOD solve an integer program. When several suppression patterns are near-optimal, the legacy CPLEX backend and the HiGHS backend can pick different ones. Both patterns protect the table to the same standard: in the sy1 reference batch the two runs differ in 3 of 1654 cells (0.2%), the suppressed weight differs by 9 units (0.09%) and the secondary response by 149777 (0.0016%), and the audit reports 0 unsafe cells for both patterns. Primary suppressions (apriori and manual) are deterministic and match exactly.
- WRITETABLE types 6 (JJ) and 7 (CKM) are not implemented. The
legacy writers for these formats were GUI-only Java with no native
equivalent, so the command fails with a clear error. Types 1 to 5
follow the legacy argument mapping. In 0.5.4 and earlier, types 2
to 4 were written with a single argument set that did not match
legacy (suppressed cells masked as
x, empty rows written); that was fixed in 0.5.5.
Install
pip install --upgrade pytauargus
tauargus --version
These commands install the current release. To keep a specific version, use
pytauargus==<version> from PyPI.
Wheels bundle HiGHS and the native engine; no other installation is needed. Available for Python 3.10-3.15 on macOS arm64, Linux x86_64 and aarch64 (manylinux_2_28) and Windows x64. Other platforms: build from source (see the repository).
Cloud native
It runs unattended in containers, CI and batch services:
- Headless: no GUI, no display, no interactive prompts.
- Self-contained: one
pip install; the solver (HiGHS) and native libraries are bundled in the wheel. No licensed solver, license server, system packages or Windows registry. - Stateless: input and output are plain files in the working directory; scratch files go to the system temp directory.
- Scriptable: success is exit code 0; errors go to stderr with a non-zero exit code.
- Portable: wheels for Linux (manylinux_2_28, so any glibc 2.28+ image such
as
python:3.x-slim), macOS arm64 and Windows x64.
What problem it solves
Publishing a table can disclose information about individual respondents: a
cell with few contributors, or one dominated by a single contributor. Such
primary cells are suppressed, but totals would still reveal them, so secondary
cells are suppressed as well, chosen to minimise information loss. Alternatively
the table can be controlled-rounded. tauargus does this from a batch file.
Quick start
From a DataFrame
protect() is available from version 0.3.0. Install with
pip install --upgrade "pytauargus[dataframe]>=0.3.0" to include pandas support.
For a source checkout, follow the
Building from source instructions,
then run uv sync --extra dataframe.
import pandas as pd
from pytauargus import protect
micro = pd.DataFrame({
"Region": ["North"] * 6 + ["South"] * 6,
"Sector": ["Retail"] * 3 + ["Services"] * 3
+ ["Retail"] * 3 + ["Services"] * 3,
"Turnover": [100., 5., 5., 10., 10., 10., 20., 20., 20., 30., 30., 30.],
})
result = protect(
micro, ["Region", "Sector"], response="Turnover",
safety_rules="NK(2,75)", suppress="OPT(1)", workdir="tauargus_run",
)
table = result.tables[0]
publication = table.dataframe()[["Region", "Sector"]].copy()
publication["Turnover"] = table.safe()
publication.to_csv("protected.csv", index=False)
print(publication)
Each row is one respondent. NK(2,75) flags cells whose two largest
contributors exceed 75% of the response. The engine computes the crossing
and totals, identifies primary unsafe cells, and adds secondary suppression.
protect() coordinates microdata, metadata, batch generation and result parsing.
Pandas is optional for the core API: column dicts, lists of row dicts and
polars DataFrames are accepted too. dataframe() returns a pandas DataFrame
when available, otherwise polars, otherwise a list of row dicts.
Column labels become strings and must remain unique after conversion. Column
dicts require equal lengths; row dicts use the ordered union of all keys, with
missing fields represented by None.
Parquet files and cloud URLs
Install the optional dependency with pip install "pytauargus[parquet]"
(pyarrow). Then protect() also accepts a path to a .parquet file, or an
s3://, gs:// or https:// URL to one, instead of a DataFrame:
result = protect("s3://bucket/microdata.parquet",
["Region", "Sector"], response="Turnover",
safety_rules="NK(2,75)", suppress="OPT(1)")
result.tables[0].to_parquet("s3://bucket/protected.parquet")
to_parquet writes the published table: the explanatory columns plus the
response, with suppressed cells (U and M status) as null. Cloud
credentials come from the environment, as pyarrow requires them. The same
inputs and outputs work from the command line (protect verb below).
A runnable example lives in
data/examples/parquet/: micro.parquet
holds eight records crossing Sector and Geo, and
tauargus protect data/examples/parquet/micro.parquet \
--tables 'Sector,Geo' --response Value \
--safety 'NK(1,80)' --suppress 'OPT(1)' --out protected.parquet
protects it. The output protected.parquet keeps every published value and
writes the unsafe (Alpha, East) cell, plus the cells OPT suppresses to hide
it, as null.
Existing batch files
Put the data (.asc), its metadata (.rda) and a batch file in one folder.
Paths in a batch file are relative to the working directory.
<OPENMICRODATA> "tau_testW.asc"
<OPENMETADATA> "tau_testW.rda"
<SPECIFYTABLE> "Size""Region"|"Var2"||
<SAFETYRULE> NK(2,75)|NK(0,0)
<READMICRODATA>
<SUPPRESS> MOD(1)
<WRITETABLE> (1,3,AS-,"safe-table.txt")
tauargus run demo.arb
This reads the microdata, builds the Size x Region table of Var2, flags cells
failing the dominance rule NK(2,75) (two largest contributors may not make up
more than 75 %), applies secondary suppression with the modular method, and
writes the protected table as code/value pairs, with suppressed values masked.
The sample inputs are in the repository's
data/ folder.
Batch file commands
| Command | Purpose |
|---|---|
<OPENMICRODATA> / <OPENTABLEDATA> |
Input data file (microdata or a ready table) |
<OPENMETADATA> |
.rda metadata describing the file layout and variables |
<SPECIFYTABLE> |
Explanatory variables, response, shadow and cost variables |
<SAFETYRULE> |
Sensitivity rules, e.g. P(p,n), NK(n,k), FREQ(min,safety) |
<READMICRODATA> / <READTABLE> |
Build or read the tables |
<RECODE> |
Recode a variable, e.g. via a .grc file |
<SUPPRESS> |
Protection method: GH, MOD, OPT, NET, RND (rounding), CTA |
<WRITETABLE> |
Export: (TabNo,Type,Options,"file"); types 1 CSV, 2 pivot CSV, 3 code/value, 4 SBS, 5 intermediate, 6 JJ |
<SOLVER> |
Accepted for compatibility; only HiGHS is used. Other names log a warning |
<LOGBOOK> |
Write a log file |
The grammar and parameters follow the legacy Tau-Argus 4.1 manual.
Command line
tauargus run batch.arb # execute the whole batch
tauargus explore batch.arb # load data + metadata, list variables
tauargus compute batch.arb # table computation only
tauargus suppress batch.arb # compute, then apply suppression
tauargus round batch.arb # compute, then round
tauargus audit batch.arb # feasibility intervals of suppressed cells
tauargus save batch.arb # compute, then write tables
tauargus tables batch.arb # print a table summary
tauargus protect micro.parquet --tables 'Region,Sector' --response Turnover
version
protect runs the whole pipeline on microdata without a batch file: it
specifies the tables, applies the safety rules and the suppression method,
and writes the protected table. --out names the output; a .parquet suffix
writes a masked Parquet file (requires the parquet extra), any other name
writes the published CSV. --tables is repeated for multiple tables;
--safety and --suppress take the same rule bodies as the batch file.
The microdata argument is a .parquet path or a cloud URL (s3://, gs://,
https://).
tauargus protect micro.parquet --tables 'Region,Sector' --response Turnover \
--safety 'NK(2,75)' --suppress 'OPT(1)' --out protected.parquet
Exit code is 0 on success and non-zero on an error, with a message on stderr, so it fits into scripts and pipelines.
Audit (Intervalle)
A suppressed cell has a range of values it could take while staying consistent with the published totals, its realized lower/upper bounds, the feasibility interval. Protection requires sufficient uncertainty to meet the configured protection requirements. A narrow interval can reveal the original value or constrain it too closely; interval width alone does not establish protection. The audit checks for insufficient protection.
In legacy Tau-Argus this ran in a separate intervalle.exe (standalone
Delphi/Pascal executable); Tau-Argus wrote a .JJ file, launched it externally
and read the intervals back. The rewrite ports that logic into the engine
(TauAuditJj in the csp module), so it runs in-process over a temporary
.JJ file with nothing external to install:
from pytauargus.engine import run_batch
engine = run_batch("demo.arb")
rows = engine.audit(0) # one dict per suppressed cell:
# {"cell", "min", "max", "value", "status", "unsafe"}
The realized bounds are stored on the table (readable via get_table_cell).
tauargus save demo.arb --audit --format intermediate writes the legacy
INTERMEDIATE (type-5) audit file with the realized-interval columns.
Python API
DataFrame protection
from pytauargus import protect, ProtectResult, TableResult
# Multiple tables; scalar options are recycled across them.
result = protect(
micro, [["Region", "Sector"], ["Region"]], response="Turnover",
safety_rules="NK(2,75)", suppress="OPT(1)", workdir="multi_table_run",
)
assert isinstance(result, ProtectResult)
assert all(isinstance(table, TableResult) for table in result.tables)
| Argument | Meaning |
|---|---|
tables |
A flat list of explanatory names for one table; a nested list for several |
response |
Required numeric response column; a scalar or one name per table |
safety_rules |
A rule string or per-table list; None supplies no rules |
suppress |
Default "OPT(1)"; use "MOD(1)" for modular suppression. A single string gets each table's correct number |
run=False |
Write .asc, .rda, .arb and return planned output paths without running the engine |
workdir |
Retained directory, resolved from the caller's working directory; returned paths are absolute. Defaults to a new temporary directory |
Explanatory and response names must be unique within each table. The magnitude
result reserves freq, cost, status, lower and upper for diagnostics;
rename colliding source columns before calling protect(). Invalid names and
suppression sequences whose length is neither 1 nor the table count raise
ValueError before any input files are written.
Metadata and table options include weight_var, weighted, holding_var,
decimals, hrc, totcode, missing and codelist; see help(protect).
The high-level API requires a numeric response column; frequency-only tables
using the batch <freq> response use the lower-level API.
ProtectResult contains .tables in input order, .engine after the batch,
.files (asc, rda, arb, tab1, …) and .workdir. With run=False,
.tables is empty and .engine is None; the planned .tab files are not
created by that call. Files persist so callers can inspect them and choose
when to remove them.
TableResult accessor |
Returns |
|---|---|
safe(unsafe_marker="x") |
Response values with primary U and secondary M cells masked |
status() |
One S, U, P, M or E symbol per cell |
unsafe() |
Original, unmasked responses for analysis |
dataframe() |
Full diagnostic rows, including original responses |
to_parquet(path) |
Write the published table to Parquet, suppressed cells as null (needs the parquet extra) |
n_cells, columns, rows, response, path |
Result shape, rows and response name |
Use the explanatory columns plus safe() to construct the publication table,
as in the quickstart. dataframe() does not mask the response automatically.
safe(None) uses missing values instead of x.
Audit is explicit and engine indices are zero-based:
rows = result.engine.audit(0) # realized min/max and insufficient-protection flag
result.engine.write_intermediate_table(0, "audit.tab", with_audit=True)
The lower / upper columns in the default result are protection levels;
realized bounds are returned by audit(). TableResult is a parsed snapshot
and does not refresh when the engine is audited or modified. Raw intermediates
and audit reports contain original values and belong with analyst artifacts.
The list-of-dicts fallback from dataframe() is a defensive copy, so editing
it does not change the result's subsequent safe() or status() values.
Existing batches and individual commands
from pytauargus.engine import run_batch
engine = run_batch("demo.arb") # parse and execute; returns the Engine
Lower-level pieces: pytauargus.batch.parse_batch(path) returns the parsed
command list, and pytauargus.engine.Engine executes commands one at a time.
Generating batch inputs
pytauargus also generates the batch inputs. The generator is a port of
rtauargus, so it emits the exact
formats the engine reads:
from pytauargus.arb import micro_arb
micro_arb(
asc_filename="donnees.asc",
explanatory_vars=[["REGION"], ["SEXE"]],
response_var="CA",
safety_rules=["NK(1,85)", "FREQ(3,10)"],
suppress="OPT(.)",
output_names=["tab1.csv", "tab2.csv"],
output_type="1", # CSV; the generator default is SBS/type 4
)
pytauargus.micro.micro_asc_rda writes the fixed-width .asc file and its
.rda metadata. micro_arb references those files and writes a .arb batch.
pytauargus.hrc.write_hrc writes .hrc hierarchy files; the separate
pytauargus.rda.write_rda writer handles metadata text. protect() coordinates
these steps automatically; protect(..., run=False) previews the complete
generated pipeline without running it.
Example notebooks
notebooks/ contains three executed, output-saved notebooks that double
as API documentation (every code cell runs against the verified public API):
| Notebook | Covers |
|---|---|
01_quickstart |
A DataFrame through protect() to a TableResult, a masked CSV, then metadata and existing batches |
02_protection_and_audit |
OPT/MOD DataFrame protection, explicit audit and masked export; batch OPT/MOD/RND |
03_generators |
run=False file preview, multiple tables, individual writers and custom batch round-trip |
Run them interactively, or headless (the same command CI could use).
The notebooks extra includes pandas for the DataFrame examples:
# interactive
uv sync --extra notebooks
uv run --with jupyterlab jupyter lab notebooks/
# headless: execute every notebook and re-save its outputs
uv run --with nbclient --with nbformat --with ipykernel python notebooks/_run.py
uv run --with nbclient --with nbformat --with ipykernel pytest -k notebooks
executes them as tests too (the test skips when nbclient is absent, so the
default uv run pytest gate stays dependency-free).
Building from source
The wheel is built from this repo plus a pinned tauargus-engine checkout
(the native engine and the _tauargus extension; the pin is the commit
recorded in tauargus-engine-rev). Build the engine first, then the wheel:
# sibling checkout at the pinned revision (see tauargus-engine-rev)
git clone --recurse-submodules https://github.com/trygu/tauargus-engine.git
scripts/sync-venv.sh .venv # engine -> wheel -> venv, one command
uv build --wheel # dist/pytauargus-*.whl
Point TAUARGUS_ENGINE_DIR at a different engine checkout for local engine
work. Test data (.arb batches, microdata, example tables) lives in the
engine checkout's data/ directory; the tests read it through
TAUARGUS_ENGINE_DIR (default: the sibling checkout).
Repository layout
.
├── src/pytauargus/ the package (the `tauargus` CLI entry point)
├── tui/ pytauargus-tui, the interactive Textual terminal UI
├── tests/ package, CLI and end-to-end tests
├── notebooks/ example notebooks
├── docs/ TUI user guide and design notes
└── tauargus-engine-rev pinned tauargus-engine commit (wheel build input)
Protection regression tests
uv run pytest tests/test_protection_e2e.py runs OPT and MOD on two cases.
The ex1 tabular case checks the legacy 20% manual protection margin,
confirms that the original cell is recoverable before secondary suppression,
and checks its realised lower and upper protection after suppression.
The microdata case adapts the basic dominance example from
GaussSuppression's magnitude-table vignette,
by Statistics Norway. Contributions are scaled by ten to give integer input;
each row is treated as an independent contribution, without company IDs or
hierarchies. It checks the four cells selected by the 80% dominance rule.
Both cases run the feasibility audit and read back a CSV containing only dimensions and masked publication values. Primary and secondary suppressed values must be masked, and unmasked values must be retained. The tests do not require a particular secondary suppression pattern and do not compare results against the Gauss algorithm. They cover these two examples, not singleton knowledge, linked-table disclosure or general statistical safety.
Acknowledgements
This project builds on Tau-Argus, its statistical methods and native libraries, and the R and Python tools around it, developed by the people named below.
Original Tau-Argus and native libraries
The original Tau-Argus authors and contributors include Statistics Netherlands (CBS), Peter-Paul de Wolf, Anco Hundepool, Sarah Giessing (GHMITER and audit), Juan José Salazar González (optimisation methods), and Jordi Castro (network solutions and CTA).
| Component | Authors and contributors |
|---|---|
libtauargus (core) |
Statistics Netherlands and Peter-Paul de Wolf. |
CSP (cell suppression) |
Matteo Fischetti, Juan José Salazar González, and M. D. Montes de Oca. |
CRP (controlled rounding) |
Juan José Salazar González. |
tauhitas (modular suppression) |
Statistics Netherlands and Peter-Paul de Wolf. |
taurounder (rounding interface) |
Statistics Netherlands and Peter-Paul de Wolf. |
The engine uses HiGHS as its open-source LP/MIP solver.
R and Python interfaces
rtauargus is developed at
INSEE / InseeFrLab by Pierre-Yves Berrard, Julien Jamme, Nathanaël Rastout,
Jeanne Pointet, Félix Beroud, André-Raymond Socard, Wistan Pomel,
Clara Baudry, and contributors.
Its metadata, batch and hierarchy generation logic was ported to
pytauargus; its micro_rtauargus() workflow also informed the high-level
protect() pipeline.
PiArgus (piargus), by
Laurent Verweijen (lverweijen) and
contributors, inspired the DataFrame-to-table workflow and TableResult
with its safe(), status(), unsafe() and dataframe() accessors.
GaussSuppression is developed at Statistics Norway by Øyvind Langsrud, Daniel Lupp, Hege Bøvelstad and contributors. The protection regression tests adapt the dominance example from its magnitude-table vignette.
License
EUPL-1.2. Tau-Argus is (c) Statistics Netherlands.
Metadata
Release files for pytauargus 0.5.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 104.5 MB
Release files / pytauargus-0.5.5-cp315-cp315-win_amd64.whl
| Download URL | pytauargus-0.5.5-cp315-cp315-win_amd64.whl |
|---|---|
| Size | 8.7 MB |
| Tags | CPython 3.15 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f22df90ec97954f031f5709e145c2c3675112af3afb17627337aec9ff3e0edd2
|
|
BLAKE2b-256 checksum How to use checksums |
53e2a9adb5f54078ef753697994dcef5828e119bcf33ab0be2bea39cd256511e
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pytauargus-0.5.5-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.15 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8ee73d355a2504e50d624a243d21bb9d835b3367a4dceed1085762b7924e8918
|
|
BLAKE2b-256 checksum How to use checksums |
cc73c79ef0a47da39935a87f464724e0d82a6b64be7bb345ddf7596d8f0b40b9
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pytauargus-0.5.5-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.15 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
fd76b34f82965d09ec36e6e0a11bb9520a30eddf510f680bad13281a86045dfb
|
|
BLAKE2b-256 checksum How to use checksums |
2e42c2e4cf5b7f0b6d2f9b7ec203e6937305fd43e062fb860982a1173ea29716
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp315-cp315-macosx_14_0_arm64.whl
| Download URL | pytauargus-0.5.5-cp315-cp315-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.15 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3badbc9668445af77ed2fb1b0fb5d23abe4ea9e327cb6ed81351dff7addc6f97
|
|
BLAKE2b-256 checksum How to use checksums |
3f165fbb6a5d21c9dd89f41c5075979be7fe31dbaa07c99ec7a3cf791d04a9bf
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp314-cp314-win_amd64.whl
| Download URL | pytauargus-0.5.5-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 8.7 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
911aae944795244a1e55f1dfe84878f0f7deb16b4151754662262344150511f9
|
|
BLAKE2b-256 checksum How to use checksums |
730699bb31b0d99145f927c4fc502ce87e4a391c9ee4896aa51b8317541270fa
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pytauargus-0.5.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9719c8b9dc5fd8ce0a526bc33c07ed902bf82fd142b0758bb1b108800aa78f02
|
|
BLAKE2b-256 checksum How to use checksums |
762ba6c2182595f10bf732742f142d5ec5b8155a6ce83c128b3a12bdf77c929c
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pytauargus-0.5.5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
4286686811c3f5aeb307ee9e9c0b816721c243b7b92db6a43bf0c46c1177af82
|
|
BLAKE2b-256 checksum How to use checksums |
9414092cc5f2c6a3a2d803077908fdc7cfde1eff16c4232c96d44ca1a7376e1e
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp314-cp314-macosx_14_0_arm64.whl
| Download URL | pytauargus-0.5.5-cp314-cp314-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.14 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
00b075a64a621c2c4154edf27b9b463f3249daef1ff04d79575cbfd782caa661
|
|
BLAKE2b-256 checksum How to use checksums |
fa970e25ec222f902afd617dc159518613f507eb29fd8c0371704d2af34c5673
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp313-cp313-win_amd64.whl
| Download URL | pytauargus-0.5.5-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
85b542b22cdb0257f8d5dc9b70d174dfc941de8ce25a3163a1a17a66e27036a0
|
|
BLAKE2b-256 checksum How to use checksums |
69acfac86b504ee6c819496ab5d8082abae1410f5b80561072511f98a671aa17
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pytauargus-0.5.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1e85682add46ceb2c8ea5cb7638c6703aaab06ee339f2ac5e5e50cbde594743b
|
|
BLAKE2b-256 checksum How to use checksums |
ed59b6188324d72d7ee67957e6b5768a7ce7d1fec5cf658c9fc6c4884e2ebf06
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pytauargus-0.5.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
3a76ca853dd19464eaf211b01db71d6dc23071cc397dbcff38cf001034803cdc
|
|
BLAKE2b-256 checksum How to use checksums |
683cde6d3bda876322e4917fc6c591d800477bb9a691829437499e6fcef926b0
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp313-cp313-macosx_14_0_arm64.whl
| Download URL | pytauargus-0.5.5-cp313-cp313-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.13 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
201e7d74c30415a3c450fd96f3a99a5bf652ae785a27d424b7d2e95390b56210
|
|
BLAKE2b-256 checksum How to use checksums |
1932231039e3705e4e63d09675acd8423a477781bbfa942c6df7f0d37a14d470
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp312-cp312-win_amd64.whl
| Download URL | pytauargus-0.5.5-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b462c7f1e496547815d87ffa5001f2adddef8c16eefe6dae40b22727388c5a07
|
|
BLAKE2b-256 checksum How to use checksums |
845a8445590e4e2546ac860df10becaf1ded215be4de708f6c7d2fa0bc852c42
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pytauargus-0.5.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3304f65219e3470f5a71ef245a7181c484fde51f9fd385b68cf5fa1d1d0c62dc
|
|
BLAKE2b-256 checksum How to use checksums |
6f6a0ba1032bef369725b8390b14cf93dc69f33c63bf36979002ddc7690c32d9
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pytauargus-0.5.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
91a501e34cfe2dbddc7ed083a460c20649fba855a2b02b49f2962d5eab658691
|
|
BLAKE2b-256 checksum How to use checksums |
8e2fcb0a180637f802b860cd3f86f584e963146903497839c2133b7af5f7ab77
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp312-cp312-macosx_14_0_arm64.whl
| Download URL | pytauargus-0.5.5-cp312-cp312-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.12 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
86ee0ec1e9965f0c0232ed25ba2d4894f23850f72998d00c28ceac54790f9c0b
|
|
BLAKE2b-256 checksum How to use checksums |
a5a225b0dc85d2340ad83d61d6cf73d43a36cf616d782b66ddf5938f671259df
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp311-cp311-win_amd64.whl
| Download URL | pytauargus-0.5.5-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ab07600caa867afee7b867f109bd5f1195ace2fa68b6f445d7fea4a367a903f7
|
|
BLAKE2b-256 checksum How to use checksums |
5d499a16593f1ef6d733c4366e83081324c30bab5c9c6744284c390fe96a789f
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pytauargus-0.5.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6693cf985e77f4613e9a075061573bf9ff000b4355b75c86570433d39f6e0799
|
|
BLAKE2b-256 checksum How to use checksums |
5c19f51c7af51768240acc2d44262e9fb8ebcdb74a034f5855bdd9f61e5ec6cd
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pytauargus-0.5.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
5cd5702c41c661df58c538cced762837030fc9a1c44d03e78e5f4dabae55c8d3
|
|
BLAKE2b-256 checksum How to use checksums |
a799435933d17c5c368d1b1a63a113ba4cc6691c53c6139a646d00ed7d732bfa
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp311-cp311-macosx_14_0_arm64.whl
| Download URL | pytauargus-0.5.5-cp311-cp311-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.11 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
af27d0daa38604f62977c685e427b9155284ee8a0f4358410d928f4ed70662da
|
|
BLAKE2b-256 checksum How to use checksums |
54512455aa0e04dd7d469a2527e1af51785c17a1e6d6940cb7bb62f08e8ea43e
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp310-cp310-win_amd64.whl
| Download URL | pytauargus-0.5.5-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7761bd9caaa6ea15b950bc538e874d14e5f767bc43c82f8b971ae30446c08a2c
|
|
BLAKE2b-256 checksum How to use checksums |
ca6d8fcd87c06c3ff18dd66d8135127cdd146b67bf1626eeb783b611e3e99f68
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | pytauargus-0.5.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8ff76f719ea4a449a962b098c9d139de260ca7958abc79ab0b01f072bbc8fe73
|
|
BLAKE2b-256 checksum How to use checksums |
f799164da0faebcb21c76372acad15c9d9f951416f92a40d85bab13a2fffb055
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | pytauargus-0.5.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
ade27399f87aba13f7faed4e5ff54a754a656c0cb93c710e7782e84115142fec
|
|
BLAKE2b-256 checksum How to use checksums |
0d16e227b8a532d5155b0673abd2cccc53977f48bfcfceee43c1b1422dc12f3a
|
| 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 Oct 15, 2026.
Transparency logRelease files / pytauargus-0.5.5-cp310-cp310-macosx_14_0_arm64.whl
| Download URL | pytauargus-0.5.5-cp310-cp310-macosx_14_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.10 macOS 14.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
41f3014e8cee93973ab7eb55476f10ad2fa54d479ad38968afeea02b2263bc70
|
|
BLAKE2b-256 checksum How to use checksums |
c08e8142fcdd11817deb15a9fa97f103772d387b96259fa0df92525ab6bb636a
|
| 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 Oct 15, 2026.
Transparency log