Skip to main content

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. Part of tauargus-engine.

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.

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.13 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.

A ready-made image is published to GitHub Container Registry with each release (linux/amd64 and linux/arm64):

docker run --pull=always --rm -v "$PWD":/work ghcr.io/trygu/tauargus-engine:latest run batch.arb

latest is updated with each release; --pull=always checks for an updated image before running. To keep a specific release, choose a version from Releases and use ghcr.io/trygu/tauargus-engine:<version> (without the release tag's py-v prefix).

To build your own image:

FROM python:3.12-slim
RUN pip install --no-cache-dir pytauargus
WORKDIR /work
ENTRYPOINT ["tauargus"]

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 source-build instructions, then run uv sync --extra dataframe here.

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).

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.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pytauargus 0.5.0
File
pytauargus-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pytauargus-0.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pytauargus-0.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pytauargus-0.5.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
pytauargus-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pytauargus-0.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
pytauargus-0.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pytauargus-0.5.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
pytauargus-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pytauargus-0.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
pytauargus-0.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
pytauargus-0.5.0-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
pytauargus-0.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pytauargus-0.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
pytauargus-0.5.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
pytauargus-0.5.0-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details

Total release size: 69.2 MB

Release files / pytauargus-0.5.0-cp313-cp313-win_amd64.whl

Download URL pytauargus-0.5.0-cp313-cp313-win_amd64.whl
Size 8.4 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f6fa6801ab3ca15efaddab7985b3cba6d258d6fd81419bd24f69a8ef0ae86b1f
BLAKE2b-256 checksum
How to use checksums
e9952d919044c5a979f718b9c4afd7b75d94e8d471b30729d5cbfa84632676ee
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pytauargus-0.5.0-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
ea767ed0d9b9c289c2c0a5cd20c62745e3256a9b7fa94a2bb9cc5d9b05e9052f
BLAKE2b-256 checksum
How to use checksums
30237e33d7c88d2602b146bd3c4a66653f5072e1fd81f2bdf13d722b88289056
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pytauargus-0.5.0-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
7bb9de6d4a10941c06fd805c87bfea09ed49b67d2e4e2a03b07387b6276022bb
BLAKE2b-256 checksum
How to use checksums
ecd3b5a6501255f7a0331b43c2f62c2aa586cbd0d3051acf37674c8ee2201910
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL pytauargus-0.5.0-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
eebbfde4b063955fc9750b6eaf94ddf7f2dd92481deca5f1d09d29954299da08
BLAKE2b-256 checksum
How to use checksums
525eac0318f9e08525b17c8184476b1ff37846a9812c544590505d8e7aef163a
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp312-cp312-win_amd64.whl

Download URL pytauargus-0.5.0-cp312-cp312-win_amd64.whl
Size 8.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
46e34b2880bc1f2862563658c426126ab4bfb131f40adf9403c8ed0008ebaa7b
BLAKE2b-256 checksum
How to use checksums
f97b9426c8e6b39fa778d3767d8f8602333c10f5f4a6b0790cda0793db0d3e91
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pytauargus-0.5.0-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
8cfe6a4cc54f8b8477bc00657bc2d34f9b6a82ffec344f8c7d28c309678955b4
BLAKE2b-256 checksum
How to use checksums
478ddce9da6965f11d8e3c76bde7d195943022100d51673e9a5b39a166210af2
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pytauargus-0.5.0-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
11cda93d8314d5ae06250ad9fdfca6d28dfaa18035c604483397cebbe3000d40
BLAKE2b-256 checksum
How to use checksums
90254edda9f1dd7d1f4cae2bb6f0b857af3eba2706cd1d9a9c9ec90b8d47c776
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL pytauargus-0.5.0-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
6728db3b19967fc121fb5969b4afed7279887edea80e6bdaf4f1ec73abf72dab
BLAKE2b-256 checksum
How to use checksums
717035c3db0b83262d1bf5a34ff463f8648d5756abb1765e3c7e6607bfd1856d
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp311-cp311-win_amd64.whl

Download URL pytauargus-0.5.0-cp311-cp311-win_amd64.whl
Size 8.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d89113323ddd191d17bcf0cd0754db5ce83dc752e07c8fa16617124d39560e0e
BLAKE2b-256 checksum
How to use checksums
3bf8adec296696af7600fa972f090aefcee44c879f149fb07b47b4c2830c136d
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pytauargus-0.5.0-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
02fa0b888db8dbd0b597e013a5b8e7a4eb7f19cc173f8af766543d68c549d356
BLAKE2b-256 checksum
How to use checksums
3dc2eae861da8a5c6db29761f56130ec8a68af899fd13e732dd47c4dd019497f
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pytauargus-0.5.0-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
7c7b31999dd052cd7c63824f0f3342424f361dca064669a2f2df786d9c0df857
BLAKE2b-256 checksum
How to use checksums
7e77c3b81ff09c6f34f31bad4ce0cfc0183b2eb9b62c40efea92595cd1cdf16f
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL pytauargus-0.5.0-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
179dd3c2ffe277a8066b441dd4cd8db7786d1e6b589373bfd3d27f5175839361
BLAKE2b-256 checksum
How to use checksums
c44829775b9593521a796b39f2640ce61d4ebbc980cce095612861ff2480aed6
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp310-cp310-win_amd64.whl

Download URL pytauargus-0.5.0-cp310-cp310-win_amd64.whl
Size 8.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a5e2429f4a9c16e4965eb2756bba14b364d6b62551b180b9900c8cab0c9f3985
BLAKE2b-256 checksum
How to use checksums
4c393ca5ad1e518aa0eca0dc0b96342aa62852ba24bb42af69b080910bcdcab0
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pytauargus-0.5.0-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
89e0b644bbc6507e5c9e22724c6b05dc4894f5669028e498fe5cd390106cf8f3
BLAKE2b-256 checksum
How to use checksums
2f1f873b5283d5d0d7b8e7dd0d43b75706aa9d511e3ab0a59254fbec17f7099e
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pytauargus-0.5.0-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
3632b56756219696239709b3138460ec936546f8a2a63c8ebcfb2b1a97ac49a2
BLAKE2b-256 checksum
How to use checksums
abe0ec231a5229bddfbdf83b9ffc1110391d9dc198731871a9ae3f4a472a0bf6
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 12, 2026.

Transparency log

Release files / pytauargus-0.5.0-cp310-cp310-macosx_14_0_arm64.whl

Download URL pytauargus-0.5.0-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
7fd7b5dbd6098b50514d7315c08704ede67eb02453a3ef6053a4c07849559c32
BLAKE2b-256 checksum
How to use checksums
eafb2efed53067c30152bf12f675519461fc8af9ed39913a649ab072e0c08f31
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 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.5

24 release files

0.5.4

24 release files

0.5.3

24 release files

0.5.2

24 release files

0.5.1

16 release files

This release

0.5.0 This release

16 release files

0.4.0

16 release files

0.3.4

16 release files

0.3.3

16 release files

0.3.2

16 release files

0.3.1

16 release files

0.3.0

16 release files

0.2.1

16 release files

0.2.0

16 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page