Skip to main content

A python reimplementation of Checktestdata (https://github.com/DOMjudge/checktestdata).

Project description

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.

Checktestdata

This is a Python 3.10 compatible reimplementation of the checktestdata program.

[!NOTE] As of now, the python implementation on supports strict file validation. The arguments whitespace-ok and generate are not supported.

Grammar specification

The language specification can be found in the domjudge Checktestdata repository.

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]

[!TIP] The generated validator might not be easy to read, cosider adding -d to include the original code as comments.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checktestdata-2026.3.4.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

checktestdata-2026.3.4-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file checktestdata-2026.3.4.tar.gz.

File metadata

  • Download URL: checktestdata-2026.3.4.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for checktestdata-2026.3.4.tar.gz
Algorithm Hash digest
SHA256 09e54c124e6683db06244cf2244128aa8ba5a21b65218383965a2592f7c4e76d
MD5 04e1de0dc34b0071adfd7e45d69c148d
BLAKE2b-256 5a9a807d42edba9a72ce2421d74f1a6e5bf53d0f6d522176c65d42879065db55

See more details on using hashes here.

Provenance

The following attestation bundles were made for checktestdata-2026.3.4.tar.gz:

Publisher: release.yml on mzuenni/pyctd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file checktestdata-2026.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for checktestdata-2026.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d89a384328f7902b2a880c6df3e3363a05870975810c3efe4fb1849829be544c
MD5 743e61015fccd432cfbcded450dea99c
BLAKE2b-256 d9fd07b6b42f645a7cb54976679e33e5682964f228dc53b54caf03ccbdbf0f54

See more details on using hashes here.

Provenance

The following attestation bundles were made for checktestdata-2026.3.4-py3-none-any.whl:

Publisher: release.yml on mzuenni/pyctd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page