Training-aware machine translation evaluation for MT.
Project description
TAME-MT
Training-Aware Machine Translation Evaluation.
TAME-MT is a command-line tool and Python package for evaluating machine translation systems while accounting for the data they were trained on.
Standard MT metrics such as BLEU and chrF answer:
How close are the system translations to the references?
TAME-MT keeps those scores, but adds a second question:
How close is each test example to the training corpus?
That second question matters because many MT benchmarks, especially low-resource benchmarks, are built from narrow and overlapping sources: scripture, government documents, educational text, health leaflets, NGO materials, oral narratives, dictionaries, crawled web pages, or small public corpora reused across projects. A high BLEU score on a train-similar test set can be a valid in-domain result, but it is weaker evidence of broad translation ability.
TAME-MT makes this visible.
It reports ordinary system quality, a nearest-neighbor translation-memory baseline built from the training corpus, train-test exposure scores, leakage-style overlap diagnostics, and quality broken out by distance from the training data.
Contents
- When To Use It
- What It Reports
- Installation
- Quick Start
- Large Corpora
- Many Systems
- How To Read The Results
- How It Works
- The Math
- Command Line Reference
- Python API
- Outputs And Reproducibility
- Package Architecture
- Performance
- Privacy And Security
- Limitations
- Development And Contributing
- Release Process
- Citation
- License
When To Use It
Use TAME-MT when you have:
- a machine translation training corpus;
- a test source file;
- one or more reference translation files;
- one or more system output files;
- a need to understand whether high scores come from broad generalization or from test examples that look very close to training examples.
TAME-MT is especially useful for:
- low-resource MT evaluation;
- benchmark audits before publishing scores;
- comparing several MT systems on the same train/test split;
- finding train-test exact overlaps and near duplicates;
- reporting whether BLEU/chrF claims are mostly supported by far-from-training examples or by near-training examples.
TAME-MT is not a replacement for BLEU, chrF, COMET, human evaluation, or error analysis. It is a training-aware layer around corpus evaluation.
What It Reports
| Output | Meaning |
|---|---|
BLEU, chrF |
Standard corpus quality scores for the system output. |
TM-BLEU, TM-chrF |
BLEU/chrF of a simple translation-memory baseline built from nearest training examples. |
delta over TM |
System score minus translation-memory baseline score. |
SourceExposure |
For each test source, similarity to the closest training source. |
TargetExposure |
For each reference, similarity to the closest training target. |
PairExposure |
Whether a test source/reference pair is close to the same training source/target pair. |
PairLeakTopK@0.85 |
Fraction of test pairs whose top-k pair-reranked exposure is at least 0.85. |
PairLeakExact@0.85 |
Optional exact no-false-negative pair-threshold rate when --exact-pair-thresholds is used. |
source_exact |
Test source exactly appears in normalized training sources. |
pair_exact |
Test source and reference exactly appear as a normalized training pair. |
Far-BLEU, Far-chrF |
Quality on test examples far from the training source corpus. |
GenGap-BLEU, GenGap-chrF |
Near-bin score minus far-bin score. |
The shortest interpretation is:
- high system score and high TM baseline means the benchmark is partly solvable by training-set nearest-neighbor reuse;
- high delta over TM means the system is doing more than that baseline;
- strong far-bin scores are better evidence of generalization than strong near-bin scores alone;
- high PairLeakTopK or exact-pair overlap should be reported next to raw MT scores.
Installation
pip install tame-mt
Check that the package and native backend are available:
tame-mt doctor
Published wheels include the Rust backend. If doctor reports Native backend: unavailable, the install is incomplete and the default auto mode will refuse
to score until the native extension is installed.
For local development from a checkout:
pip install -e '.[dev]'
If an editable install was created before the Rust extension was built, rebuild it with:
python -m pip install --force-reinstall --no-deps -e .
Quick Start
TAME-MT expects aligned UTF-8 text files, one segment per line:
train.src source side of the training corpus
train.tgt target side of the training corpus
test.src source side of the test set
test.ref reference translation for the test set
system.out system hypothesis translations
Run a full train-aware score:
tame-mt score \
--train-src train.src \
--train-tgt train.tgt \
--test-src test.src \
--ref test.ref \
--hyp system.out
Run the bundled toy example:
tame-mt score \
--train-src examples/toy/train.src \
--train-tgt examples/toy/train.tgt \
--test-src examples/toy/test.src \
--ref examples/toy/test.ref \
--hyp examples/toy/hyp.out
The toy report includes the main pieces:
Quality
-------
Metric System TM baseline delta over TM
BLEU 85.02 59.00 +26.01
chrF 85.45 61.73 +23.72
Exposure
--------
Source exposure:
mean: 0.484
exact overlap: 25.00%
>= 0.85: 25.00%
Pair exposure:
exact overlap: 25.00%
PairLeakTopK@0.85: 25.00%
Generalization gap
------------------
GenGap-BLEU: 53.09
GenGap-chrF: 42.53
Write machine-readable artifacts:
tame-mt score \
--train-src train.src \
--train-tgt train.tgt \
--test-src test.src \
--ref test.ref \
--hyp system.out \
--json-out report.json \
--diagnostic-out segments.diagnostic.jsonl \
--cache-out segments.tamecache \
--tm-out tm.out
The JSON report is for dashboards and reproducible experiment records. The
diagnostic JSONL file is for per-example analysis. The .tamecache artifact
contains the TM hypotheses needed by score-cached.
Large Corpora
Nearest-neighbor retrieval over the training corpus is the expensive part. For large corpora, build a reusable training index once:
tame-mt index build \
--train-src train.src \
--train-tgt train.tgt \
--out train.tameidx
Then score or audit without passing the training files again:
tame-mt score \
--index train.tameidx \
--test-src test.src \
--ref test.ref \
--hyp system_a.out \
--json-out system_a.tame.json
Inspect an index bundle without loading the full native indexes:
tame-mt index inspect train.tameidx
Important: .tameidx bundles contain enough training text to reproduce
translation-memory outputs and neighbor diagnostics. Treat them like the
original training corpus.
Many Systems
When the training corpus, test source, and references are fixed, cache the train-aware diagnostics once:
tame-mt audit \
--index train.tameidx \
--test-src test.src \
--ref test.ref \
--cache-out segments.tamecache \
--json-out audit.json
Then score one hypothesis without another training-corpus pass:
tame-mt score-cached \
--cache-in segments.tamecache \
--ref test.ref \
--hyp system_a.out \
--json-out system_a.tame.json
Or score many systems in one batch:
tame-mt score-cached-batch \
--cache-in segments.tamecache \
--ref test.ref \
--system baseline=baseline.out \
--system model_a=model_a.out \
--system model_b=model_b.out \
--json-out-dir tame_reports
This is the closest TAME-MT path to ordinary BLEU/chrF runtime. The expensive exposure pass has already happened.
How To Read The Results
| Pattern | Interpretation |
|---|---|
| High BLEU, high TM-BLEU, high PairLeakTopK, low Far-BLEU | Raw corpus score may overstate broad generalization. Report this as high-exposure or narrow-domain performance. |
| Moderate BLEU, low TM-BLEU, high delta over TM, good Far-BLEU | Stronger evidence that the system is doing more than nearest-neighbor reuse. |
| Low BLEU, low TM-BLEU, low Far-BLEU | The test set is not easy for the TM baseline, and the system is also weak. |
| High BLEU, low TM-BLEU, high Far-BLEU, low PairLeakTopK | Stronger evidence of generalization under this test distribution. |
| High exposure and no far-bin data | Valid in-domain result, but weak evidence for broad out-of-domain generalization. |
Use these diagnostics as context, not as automatic pass/fail rules. A high-exposure benchmark can still be useful if the claim is in-domain performance. It is a problem when high-exposure scores are presented as broad generalization evidence.
How It Works
TAME-MT builds a simple translation-memory baseline from the training corpus:
- Normalize all strings for exposure scoring.
- Represent each string as a set of character n-grams.
- For each test source, find the most similar training source.
- Reuse that training source's paired target translation as the TM hypothesis.
- Score the system output and the TM hypotheses with BLEU and chrF.
- Compute exposure summaries and source-distance bins.
The default similarity is tokenizer-free character n-gram Jaccard similarity. That keeps the method deterministic and usable for languages without reliable tokenizers, segmenters, pretrained encoders, or external downloads.
By default TAME-MT normalizes only:
text = unicodedata.normalize("NFKC", text)
text = text.strip()
text = re.sub(r"\s+", " ", text)
It does not lowercase, strip diacritics, strip punctuation, or normalize digits unless you ask for those options.
The Math
This section uses simple GitHub-supported Markdown math and avoids custom operator macros.
Assume a training corpus with m aligned pairs:
(u_1, v_1), (u_2, v_2), ..., (u_m, v_m)
and a test set with n examples:
(x_1, r_1), (x_2, r_2), ..., (x_n, r_n)
Here:
u_jis a normalized training source;v_jis the paired normalized training target;x_iis a normalized test source;r_iis a normalized reference translation;h_iis a system hypothesis;h_i^TMis the translation-memory hypothesis.
Character N-Gram Sets
For a normalized string s, let G_k(s) be the set of character n-grams of
length k.
$$ G(s) = G_3(s) \cup G_4(s) \cup G_5(s) $$
String Similarity
Similarity is Jaccard similarity over the character n-gram sets:
$$ \mathrm{sim}(a,b) = \frac{|G(a) \cap G(b)|}{|G(a) \cup G(b)|} $$
If both strings are empty, similarity is defined as 1.0. If only one string
is empty, similarity is 0.0.
Source Exposure
For each test source, source exposure is the similarity to the nearest training source:
$$ E_i^{src} = \max_{1 \le j \le m} \mathrm{sim}(x_i,u_j) $$
The nearest training source index is:
$$ n_i^{src} = \min {j : \mathrm{sim}(x_i,u_j) = E_i^{src}} $$
Ties are broken by choosing the lowest training index.
Target Exposure
For each reference translation, target exposure is the similarity to the nearest training target:
$$ E_i^{tgt} = \max_{1 \le j \le m} \mathrm{sim}(r_i,v_j) $$
Pair Exposure
Pair exposure asks a stricter question: is there one training pair whose source and target sides are both close to the test source/reference pair?
For test pair i and training pair j:
$$ P_{ij} = \min(\mathrm{sim}(x_i,u_j), \mathrm{sim}(r_i,v_j)) $$
The pair exposure for test example i is:
$$ E_i^{pair} = \max_{1 \le j \le m} P_{ij} $$
For threshold t, pair leak is:
$$ \mathrm{PairLeakTopK}{t} = \frac{1}{n}\sum{i=1}^{n}\mathbf{1}[E_i^{pair} \ge t] $$
For example, PairLeakTopK@0.85 = 0.20 means 20% of test examples have a
source/reference pair that is very close to one training pair within the
top-k candidate set. Exact pair overlap is exact; top-k pair leak is labeled
separately because it is candidate-set limited.
When --exact-pair-thresholds is enabled, TAME-MT also reports
PairLeakExact@t. That value checks whether any same-index training pair has
both source similarity and target similarity at least t. It has no false
negatives for the configured threshold, but it can be much slower than top-k
pair reranking on large corpora.
Translation-Memory Baseline
The TM hypothesis for test source x_i is selected using only the source side:
$$ h_i^{TM} = v_{n_i^{src}} $$
If no useful candidate shares character n-grams with the test source, the default TM hypothesis is an empty string.
TAME-MT never uses the reference translation to choose the TM hypothesis. References are used only for scoring and diagnostics.
Delta Over TM
The system and TM baseline are scored with the same corpus metric:
$$ B_{sys} = \mathrm{BLEU}(h,r) $$
$$ B_{TM} = \mathrm{BLEU}(h^{TM},r) $$
The BLEU improvement over the training-memory baseline is:
$$ \Delta B = B_{sys} - B_{TM} $$
The same definition is used for chrF.
Distance Bins
TAME-MT bins test examples by source exposure:
| Bin | Definition |
|---|---|
source_exact |
Normalized test source appears exactly in normalized train.src. |
near |
Not exact, and SourceExposure >= 0.70. |
medium |
0.30 <= SourceExposure < 0.70. |
far |
SourceExposure < 0.30. |
Generalization gap is near-bin quality minus far-bin quality:
$$ Gap_{BLEU} = B_{near} - B_{far} $$
A large positive gap means the system performs much better on train-similar examples than on train-distant examples. A small gap is not automatically good: a weak system can score poorly in every bin.
Command Line Reference
Main commands:
| Command | Use |
|---|---|
tame-mt doctor |
Show package, Python, dependency, and native backend status. |
tame-mt score |
Run full train-aware scoring for one hypothesis. |
tame-mt audit |
Compute exposure diagnostics without a system hypothesis. |
tame-mt tm-baseline |
Write nearest-neighbor TM hypotheses. |
tame-mt index build |
Build a reusable .tameidx training index. |
tame-mt index inspect |
Inspect a .tameidx bundle manifest. |
tame-mt index verify |
Verify bundle hashes, archive shape, and native-index invariants. |
tame-mt score-cached |
Score one hypothesis from cached segment diagnostics. |
tame-mt score-cached-batch |
Score many hypotheses from one cached segment file. |
Common options:
--metrics bleu chrf
--ngram-orders 3,4,5
--far-threshold 0.30
--near-threshold 0.70
--leak-thresholds 0.70,0.85,0.95
--pair-k 50
--index-mode auto
--lowercase
--strip-diacritics
--normalize-punctuation
--bleu-tokenize 13a
--bleu-lowercase
--chrf-word-order 2
--verbose
Raw text is excluded from segment reports by default. These flags write raw text and should be used only when the data can safely be stored:
--include-source-text
--include-reference-text
--include-hyp-text
--include-neighbor-text
--include-neighbor-text may write raw training text.
Plain UTF-8 files and .gz files are supported for corpus inputs and for
text, JSONL, and JSON outputs.
For exhaustive CLI details, see docs/cli.md.
Python API
Score files:
from tame_mt import ScoreConfig, TameScorer
scorer = TameScorer(ScoreConfig())
report = scorer.score_files(
train_src="train.src",
train_tgt="train.tgt",
test_src="test.src",
refs=["test.ref"],
hyp="system.out",
)
print(report.system_scores["bleu"])
print(report.tm_scores["bleu"])
print(report.delta_scores["bleu"])
print(report.signature)
Score in-memory corpora:
from tame_mt import TameScorer
scorer = TameScorer()
report = scorer.score_corpus(
train_src=train_src_lines,
train_tgt=train_tgt_lines,
test_src=test_src_lines,
refs=[ref_lines],
hyp=hyp_lines,
)
Get segment diagnostics and TM outputs:
result = scorer.evaluate_corpus(
train_src=train_src_lines,
train_tgt=train_tgt_lines,
test_src=test_src_lines,
refs=[ref_lines],
hyp=hyp_lines,
)
report = result.report
segments = result.exposures
tm_hypotheses = result.tm_hyp
Reuse a saved training index:
from tame_mt import load_index_bundle, save_index_bundle
save_index_bundle("train.tameidx", train_src_lines, train_tgt_lines, scorer.config)
bundle = load_index_bundle("train.tameidx", scorer.config)
result = scorer.evaluate_index_bundle(
bundle=bundle,
test_src=test_src_lines,
refs=[ref_lines],
hyp=hyp_lines,
)
Prepare cached diagnostics once and score many systems:
from tame_mt import load_cached_artifact
artifact = load_cached_artifact(
"segments.tamecache",
refs=[ref_lines],
config=scorer.config,
)
cached = scorer.prepare_from_cached_artifact(
artifact,
refs=[ref_lines],
)
reports = cached.score_many(
{
"baseline": baseline_lines,
"model_a": model_a_lines,
"model_b": model_b_lines,
}
)
For deeper API documentation, see docs/api.md.
Outputs And Reproducibility
--json-out writes a stable report structure:
{
"schema_version": "1.0",
"tame_version": "0.2.1",
"signature": "tame-mt|v:0.2.1|...",
"data": {
"num_train": 125000,
"num_test": 1000,
"num_refs": 1
},
"retrieval": {
"mode": "exact",
"source_exposure_mode": "exact",
"target_exposure_mode": "exact",
"pair_exposure_mode": "topk_rerank",
"tm_retrieval_exact": true
},
"backend": {
"name": "native_exact",
"native": true,
"exact": true,
"requested_mode": "auto",
"resolved_mode": "native_exact",
"index_reused": false
},
"quality": {
"system": {"bleu": 31.4, "chrf": 54.2},
"tm": {"bleu": 23.8, "chrf": 47.1},
"delta_tm": {"bleu": 7.6, "chrf": 7.1}
},
"exposure": {
"source": {"mean": 0.71, "exact_overlap": 0.042},
"target": {"mean": 0.684, "exact_overlap": 0.038},
"pair": {"exact_overlap": 0.031}
},
"bins": [],
"generalization_gap": {"bleu": 20.7, "chrf": 19.3},
"warnings": []
}
Every report includes a deterministic signature that records:
- TAME-MT version;
- normalization settings;
- similarity function;
- retrieval mode, approximation flag, backend, and index mode;
- TM baseline policy;
- bin and leak thresholds;
- pair reranking top-k and whether exact pair thresholds were computed;
- BLEU/chrF settings;
- metric-affecting dependency versions.
Example:
tame-mt|v:0.2.1|norm:nfkc_ws_case|sim:char_jaccard_3-5_set|retrieval:exact|approx:0|idx:auto|backend:native_exact|tm:src_nn_top1_zero_empty|bins:far0.30_near0.70_leak0.70,0.85,0.95|pair_k:50|pair_exact:0|fast:8,500,3000,1000|metrics:bleu,chrf|sacrebleu:bleu_tok_13a_lc_0_chrf_wo_2|deps:sacrebleu_2.6.0
For the JSON schema, see docs/json_schema.md.
Package Architecture
TAME-MT is split into small, testable modules:
src/tame_mt/
cli.py command-line interface
api.py public Python scoring API
config.py typed configuration and validation
schema.py report and segment dataclasses
normalize.py deterministic text normalization
ngrams.py character n-gram extraction
similarity.py Jaccard similarity logic
index/ retrieval interfaces, native wrapper, and exact reference index
native.py native backend selection/status
exact.py exact overlap and exact-match helpers
exposure.py source, target, and pair exposure assembly
approx_validation.py per-run fast-mode validation against exact retrieval
tm.py source-nearest-neighbor TM baseline
bins.py source-distance bins and gap metrics
scoring.py BLEU/chrF corpus and bin scoring
metrics/ SacreBLEU integration
artifacts.py cached segment JSONL validation
persistence.py .tameidx bundle save/load/inspection
performance.py timing, thread, and memory metadata
report.py text, JSON, and JSONL report rendering
io.py UTF-8 and gzip input/output helpers
The retrieval package is intentionally split:
src/tame_mt/index/
__init__.py stable import surface for retrieval types
base.py retrieval protocols and result/backend dataclasses
modes.py backend mode and threshold validation helpers
native.py Rust-backed production index wrapper
python_exact.py exact Python reference index for parity/debugging
factory.py construction helper for internal callers
The Rust/PyO3 native extension is the production retrieval engine. Python owns
packaging, the public API, CLI argument parsing, file IO, normalization,
SacreBLEU integration, aggregation, and report rendering. The internal
tame_mt.index package separates retrieval protocols, mode resolution, the
native wrapper, and a small Python exact reference index used for parity tests
and debugging. Rust owns high-throughput nearest-neighbor search, exact
reranking, pair reranking, and serialized native indexes. If the Rust extension
is unavailable, normal scoring fails with an installation error instead of
falling back silently.
Rust crate layout:
src/lib.rs PyO3 module registration
src/index/mod.rs native index construction and Python-exposed methods
src/index/query.rs top-k query orchestration and exact/fast dispatch
src/index/exact.rs exact nearest-neighbor ranking with reusable workspaces
src/index/fast.rs approximate rare-gram candidate collection and rerank
src/index/pair.rs pair-candidate reranking
src/index/validation.rs serialized-index invariant checks
src/index/workspace.rs reusable per-query native work buffers
src/index/tests.rs Rust native-index tests
src/ngrams.rs UTF-8-safe character n-gram slicing
src/similarity.rs integer Jaccard helpers
src/validation.rs shared validation helpers
src/types.rs compact native type aliases
Supporting directories:
tests/ Python unit and CLI tests
benchmarks/ synthetic performance and recall checks
examples/ toy data and public-corpus demo scripts/results
docs/ CLI, API, method, privacy, reproducibility, release, and demo docs
schemas/ JSON Schema contracts for reports and artifacts
.github/ CI, wheel, release, and Dependabot workflows
Performance
TAME-MT does more work than BLEU because it compares test examples to the training corpus. The package is designed so that cost is paid once whenever possible.
Retrieval modes:
| Mode | Behavior | Use |
|---|---|---|
auto |
Default. Requires Rust and resolves to exact native retrieval. | Production scoring and audits. |
native_exact |
Rust exact character n-gram Jaccard retrieval over shared-gram candidates. | Small and medium corpora when exact nearest-neighbor exposure is required. |
native_fast |
Rust rare-gram candidate generation plus exact reranking of a bounded shortlist. | Explicit approximate exploratory runs with --retrieval approx --allow-approximate. |
There are no Python retrieval backends. The small Python ngrams.py and
similarity.py modules define the public metric math for tests and examples;
they are not indexing engines.
Fast mode can be validated per corpus by sampling exact retrieval:
tame-mt audit \
--train-src train.src \
--train-tgt train.tgt \
--test-src test.src \
--ref test.ref \
--retrieval approx \
--allow-approximate \
--validate-approx-sample 1000 \
--json-out audit.json
The report then includes approx_validation, which compares approximate and
exact retrieval for nearest-neighbor agreement, source-bin decisions,
source-score error, pair-threshold decisions, and sample TM-BLEU. Validation is
a guardrail for fast exploratory runs; exact mode remains the canonical mode
for published numbers.
Recommended production workflow:
- Build
train.tameidxonce for a fixed training corpus. - Run
audit --index train.tameidx --cache-out segments.tamecacheonce for a fixed test/reference setup. - Run
score-cached-batchfor all systems.
Local benchmark notes for public corpora and synthetic corpora are in docs/performance.md and examples/public_corpora_demo/.
Every JSON report includes a performance block with backend, thread count,
index-reuse status, peak RSS, and available stage timings. Use
--profile-json profile.json on CLI runs to write a separate command profile
that includes final output-writing time.
Native retrieval uses Rayon. Pass --threads N to fix the worker count for a
CLI run; --threads auto keeps Rayon defaults. Report JSON records the actual
thread count in performance.threads.
Privacy And Security
TAME-MT runs locally. It does not download models, call remote services, or send text anywhere.
Data can still leak through artifacts you choose to write:
--include-neighbor-textcan write raw training text;.tameidxbundles contain training text needed for reproducible TM outputs;.tamecachefiles contain TM baseline hypotheses and may therefore contain raw training-target text;- diagnostic/cache JSONL files may contain raw test/reference/hypothesis text if raw text flags are enabled.
Use --diagnostic-out for privacy-safer diagnostics that omit TM hypotheses by
default. Use --include-tm-text only when that diagnostic artifact may safely
store TM hypotheses. Cached scoring uses --cache-out, which intentionally
includes TM hypotheses because they are required to recompute TM-BLEU and delta
over TM.
Treat .tameidx, .tamecache, diagnostic JSONL, and metadata files from
unknown sources as untrusted. The loader rejects malformed or suspicious index
bundles before native deserialization, including unexpected ZIP members,
duplicate names, unsafe declared sizes, excessive compression ratios,
load-memory budget violations, unsupported schema versions, and invalid
native-index invariants.
For more detail, see SECURITY.md.
Limitations
TAME-MT does not prove that a neural model memorized a sentence. It does not measure semantic adequacy. It does not decide whether a benchmark is valid. It does not replace human evaluation.
The default similarity is surface-based. It can miss semantic paraphrases and can overemphasize orthographic similarity.
Fast retrieval mode is approximate for nearest-neighbor retrieval, although shortlisted candidates are reranked with the exact Jaccard formula and exact normalized source, target, and pair overlaps remain exact.
Pair exposure in v0.1 reranks a candidate set for speed instead of scoring every possible training pair. Exact pair overlap is still exact.
Development And Contributing
Install development dependencies:
pip install -e '.[dev]'
Run the core checks:
pytest
ruff format --check .
ruff check .
mypy src/tame_mt
cargo fmt --check
cargo clippy --locked --all-targets -- -D warnings
cargo test --locked
python benchmarks/validate_fast_recall.py --require-native
python -m build
python -m twine check dist/*
Run the full release-candidate acceptance suite:
scripts/acceptance.sh
Contribution rules:
- keep runtime dependencies small;
- do not add model downloads or remote calls;
- do not change metric definitions without updating signatures, tests, and the changelog;
- do not print raw training-neighbor text by default;
- add tests for user-visible CLI, JSON, artifact, or metric changes.
See CONTRIBUTING.md.
Release Process
Releases are built by GitHub Actions and published through PyPI Trusted Publishing.
Before a release:
- Update versions in
pyproject.toml,Cargo.toml, andsrc/tame_mt/version.py, plusCITATION.cffand versioned README/schema examples. - Update CHANGELOG.md.
- Run
python scripts/check_versions.py. - Run
scripts/acceptance.sh. - Push a
v*tag. - Let the tag-triggered release workflow build wheels, validate distributions, and generate the SBOM artifact.
- Manually dispatch the release workflow from the tag with
publish=true. - Approve the protected
pypienvironment deployment.
See docs/release.md.
Citation
@software{tame_mt_2026,
title = {TAME-MT: Training-Aware Machine Translation Evaluation},
year = {2026},
version = {0.2.1},
url = {https://github.com/hunterschep/TAME-MT}
}
License
TAME-MT is released under the MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tame_mt-0.2.1.tar.gz.
File metadata
- Download URL: tame_mt-0.2.1.tar.gz
- Upload date:
- Size: 172.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
355cda777661a7a8a8804d24e405c2dfd94938daa1df37deee11acdedc323fd3
|
|
| MD5 |
05d96cfe305e400199ec336784c768f8
|
|
| BLAKE2b-256 |
dff77d0e30e023dfcb0409a8f172673269a0b60b99e3313e972d0264fc56c66e
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1.tar.gz:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1.tar.gz -
Subject digest:
355cda777661a7a8a8804d24e405c2dfd94938daa1df37deee11acdedc323fd3 - Sigstore transparency entry: 2019312529
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 400.4 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d7e1a20c367f9a7c86f69c3306d8f5a8744ab90ff31a2a870e4ade9e50a09fe
|
|
| MD5 |
ce0bb9dfe2be394e99d08caa8f561c29
|
|
| BLAKE2b-256 |
1b603a59290c2338ffdb19c56b8ba858fb3d63e3fe0b68c46f216b686a78bd13
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp313-cp313-win_amd64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp313-cp313-win_amd64.whl -
Subject digest:
5d7e1a20c367f9a7c86f69c3306d8f5a8744ab90ff31a2a870e4ade9e50a09fe - Sigstore transparency entry: 2019313511
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp313-cp313-win32.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp313-cp313-win32.whl
- Upload date:
- Size: 406.9 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc94eccf4b730f9ca898e569d54c6f0eddcaff52db388524aa0bb32c91849817
|
|
| MD5 |
0c1adef701f66ef613c8dee122614c8a
|
|
| BLAKE2b-256 |
3bb90d89d9d26bedaf427d6307f214b77589304a25bf311ca6d98f24dd030312
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp313-cp313-win32.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp313-cp313-win32.whl -
Subject digest:
bc94eccf4b730f9ca898e569d54c6f0eddcaff52db388524aa0bb32c91849817 - Sigstore transparency entry: 2019316148
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 572.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7fe89ba15e422a5289de2e3d66d8808db5537a1df43594e625aa509ad698ed2
|
|
| MD5 |
dd4d7ecde6c6cf5cdccd3818a93b3c07
|
|
| BLAKE2b-256 |
9103d6ea74d77e8dca80954c5ca99bfc12f60963317b2b7774077674ebd339a5
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl -
Subject digest:
a7fe89ba15e422a5289de2e3d66d8808db5537a1df43594e625aa509ad698ed2 - Sigstore transparency entry: 2019313038
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 500.6 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b59f3fb6e43e19a5f520c7372ed0c99fe91ea0e408ad74a0c25273ec6ace28f
|
|
| MD5 |
c431c8172aa1351e689597431cf872b5
|
|
| BLAKE2b-256 |
cdc2b05775a97cdeb86394afc16472aee2b6f2284ed2285b215f4d37a2235a38
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
5b59f3fb6e43e19a5f520c7372ed0c99fe91ea0e408ad74a0c25273ec6ace28f - Sigstore transparency entry: 2019313266
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 400.9 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcd07076fbcd90176d0ca413786da85d09f2b7613d163345e503b6a3107ab12b
|
|
| MD5 |
1c87b9b7e963ae4c1b932d6fcdb3cf5b
|
|
| BLAKE2b-256 |
dc72d847f1a8689b7c8b178d5eb44b4133fc97c698ed99a991dd8f8c5cdebdb5
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp312-cp312-win_amd64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp312-cp312-win_amd64.whl -
Subject digest:
dcd07076fbcd90176d0ca413786da85d09f2b7613d163345e503b6a3107ab12b - Sigstore transparency entry: 2019315729
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp312-cp312-win32.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp312-cp312-win32.whl
- Upload date:
- Size: 406.9 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd6e20bcc3f8a5b6800e7e16bae678802656381bf6a650cc22b7285e93bbbca4
|
|
| MD5 |
0f5d071015b08450839dbf2a9b8c0051
|
|
| BLAKE2b-256 |
a48647e7d2abd6937da22bb550bdf32d1245b3761b61097406bb20dab4185e4e
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp312-cp312-win32.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp312-cp312-win32.whl -
Subject digest:
fd6e20bcc3f8a5b6800e7e16bae678802656381bf6a650cc22b7285e93bbbca4 - Sigstore transparency entry: 2019316258
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 572.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0085426e61d7e94e1eaec52346156321081ae221fba9b1b4a567ef3fd03de7d0
|
|
| MD5 |
e7ec4b240fe865b3e708b42c7ee433f2
|
|
| BLAKE2b-256 |
dee04d9e7d0d77f7cc85b97ae9e082f35c09702c0ff031380e931cf0bd15b7ef
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl -
Subject digest:
0085426e61d7e94e1eaec52346156321081ae221fba9b1b4a567ef3fd03de7d0 - Sigstore transparency entry: 2019314126
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 500.5 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
020bcb8dc6e779d036de2f6d348139976dcbdcc2f94dae29541d228e3bd8f060
|
|
| MD5 |
fb865cdc9a84bd6f17ddf5fe31537974
|
|
| BLAKE2b-256 |
2cfa453141508a18b6841da9f44089edf01f8c6fbaa1e6fb133242f3601cdd78
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
020bcb8dc6e779d036de2f6d348139976dcbdcc2f94dae29541d228e3bd8f060 - Sigstore transparency entry: 2019312880
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 404.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12ab84becb40f6b26074fe792926201a6b2d8e2decd40fb3eb943b52d07672fc
|
|
| MD5 |
92b19ac41c3cf093deba2bbb589736eb
|
|
| BLAKE2b-256 |
ba1f8dbd10fb7c3c276f6452edcd79286d63086c2b144f83bf92cccfd5d757d2
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp311-cp311-win_amd64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp311-cp311-win_amd64.whl -
Subject digest:
12ab84becb40f6b26074fe792926201a6b2d8e2decd40fb3eb943b52d07672fc - Sigstore transparency entry: 2019314489
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp311-cp311-win32.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp311-cp311-win32.whl
- Upload date:
- Size: 410.9 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e74925dcac17442bd09bc5276be4845db3b1710d032aa479c7d2daaccbdddeae
|
|
| MD5 |
b5dc865b71d1910baac4e3a149d789cc
|
|
| BLAKE2b-256 |
041a63d5962e61375afba19acf2d84fd9285c146131ce24a87360e0acd4d6100
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp311-cp311-win32.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp311-cp311-win32.whl -
Subject digest:
e74925dcac17442bd09bc5276be4845db3b1710d032aa479c7d2daaccbdddeae - Sigstore transparency entry: 2019315598
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 576.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5df46e45cb4bf5eee0f7fac73179227788a843c18ac037ddd6260c3e2219c490
|
|
| MD5 |
19a7a81a009cb72f8a9799e0a6d3c7f2
|
|
| BLAKE2b-256 |
d69a77a2d9be0990d339c7f94207c1939d6ad5e396b527ba7044542e0ca50114
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl -
Subject digest:
5df46e45cb4bf5eee0f7fac73179227788a843c18ac037ddd6260c3e2219c490 - Sigstore transparency entry: 2019315340
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 506.5 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1516649d402cfa67f6acea3aee93e79879e010fc683cae49d4f096247f9b25c0
|
|
| MD5 |
603ac22fe76c864becfa02ffcbd6be12
|
|
| BLAKE2b-256 |
7d90471fc3ab461fa2b56ee376ac7c13c3497d9d37956dcab8b86c777a7b1f31
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
1516649d402cfa67f6acea3aee93e79879e010fc683cae49d4f096247f9b25c0 - Sigstore transparency entry: 2019315867
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 404.4 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e80e97febd88d0b04f09e8fba77441687552daa5d3d9a6e85443ab7e8d4ba35f
|
|
| MD5 |
45d48b8f3179812cb2a36af3c845c1b6
|
|
| BLAKE2b-256 |
f8b4eb87faf5bfb7a5756c39710105081c0fce7d6e2b35fdcc48150062ef6b6c
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp310-cp310-win_amd64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp310-cp310-win_amd64.whl -
Subject digest:
e80e97febd88d0b04f09e8fba77441687552daa5d3d9a6e85443ab7e8d4ba35f - Sigstore transparency entry: 2019316054
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp310-cp310-win32.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp310-cp310-win32.whl
- Upload date:
- Size: 410.9 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
101ff5ed448c654471f6977b7afe6b93361c3388e9ecf90193ce93d8047d4368
|
|
| MD5 |
4ebf4214fc7226a5c43e676c6683438d
|
|
| BLAKE2b-256 |
d488d368944d4fafdc28a460dd9032df741fd92820fc42cb68895e731a16146e
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp310-cp310-win32.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp310-cp310-win32.whl -
Subject digest:
101ff5ed448c654471f6977b7afe6b93361c3388e9ecf90193ce93d8047d4368 - Sigstore transparency entry: 2019315961
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 576.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f6f8a2d3e38bab3bd6a3d1fa0267db1966ebb216260bf149e38e2eda7c7163c
|
|
| MD5 |
d507cd607085fb91f116ebdfc2dab5df
|
|
| BLAKE2b-256 |
ba66ad0b2a5498d49c34d845e758025a38550364c87f2163a947cc55c4de7d0b
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl -
Subject digest:
0f6f8a2d3e38bab3bd6a3d1fa0267db1966ebb216260bf149e38e2eda7c7163c - Sigstore transparency entry: 2019314978
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file tame_mt-0.2.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: tame_mt-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 506.6 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb8626de523490ca570f6a0216741e3bd8e252e8a8beccfada8f11e54bd05681
|
|
| MD5 |
ad2e6ccf592bc15b32172953b6930bf1
|
|
| BLAKE2b-256 |
68fe49060957dc6705be7406aec65e7b379a59ea6d08f3b57f85cc9cc1a627cc
|
Provenance
The following attestation bundles were made for tame_mt-0.2.1-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
release.yml on hunterschep/TAME-MT
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tame_mt-0.2.1-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
bb8626de523490ca570f6a0216741e3bd8e252e8a8beccfada8f11e54bd05681 - Sigstore transparency entry: 2019313826
- Sigstore integration time:
-
Permalink:
hunterschep/TAME-MT@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/hunterschep
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@04868e2e74a5944360f56aa2b1f3febfcb558780 -
Trigger Event:
workflow_dispatch
-
Statement type: