Python Checktestdata
Checktestdata is a tool to verify the syntactical integrity of test cases in programming contests like the ACM ICPC. It allows you to specify a simple grammar for your testdata input files, according to which the testdata is checked.
This is a Python 3.10 compatible reimplementation of the checktestdata program.
Documentation
- Introduction to the Checktestdata Language.
- The CTD language specification at the DOMjudge Checktestdata repository.
- The Regex Syntax.
Installation
Requirements:
- PyPy >= v7.3.15 (preferred)
- CPython >= 3.10 (alternative)
The package can be installed directly from pypi:
pypy3 -m ensurepip
pypy3 -m pip install checktestdata
pip install checktestdata
Use
You can use this program to run .ctd validators in the same way as the checktestdata binary:
pyctd validator.ctd [-d | --debug] < testcase
You can also use the programm to convert .ctd files into standalone python applications:
pyctd validator.ctd --convert [name] [-d | --debug]
Extensions
This checktesdata implementation supports the --constraints_file argument and can be used with BAPCtools to check the constraints of a problem.
Metadata
Release files for checktestdata 2026.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| checktestdata-2026.9.0.tar.gz | 21.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| checktestdata-2026.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.6 kB
Release files / checktestdata-2026.9.0.tar.gz
| Download URL | checktestdata-2026.9.0.tar.gz |
|---|---|
| Size | 21.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
652e0cf41c1f92860ab135ab44eda24390ad874569f59f4682ca9720efc5df98
|
|
BLAKE2b-256 checksum How to use checksums |
807a3988552ace4ff131369b936b3d2b6e099d8e776cb66c1c373e760e4cb271
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / checktestdata-2026.9.0-py3-none-any.whl
| Download URL | checktestdata-2026.9.0-py3-none-any.whl |
|---|---|
| Size | 18.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9d5abd05212764d841882a3f572ddd66e14d7e80b886250e831c45afc02f97b7
|
|
BLAKE2b-256 checksum How to use checksums |
716909a5312afb089dd374e0dac8a5ac47ef73e26a17ba1286b07ef2e49a4776
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log