Supertest for Python
The distribution is schematic-supertest; import it as schematic.
Install from this repository until a registry release exists:
python3 -m pip install -e .
from schematic import *
@supertest
def integer_division_is_bounded(value: int, divisor: int):
assume(value >= 0 and divisor > 0)
assert value // divisor <= value
Explicit imports (from schematic import assume, supertest) and qualified names
(@schematic.supertest, schematic.assume(...)) also work at runtime. Current Pup
documentation requires the star import for discovery of the bare decorator.
The decorator preserves the original callable and attaches immutable metadata.
is_supertest and metadata_of expose it; duplicate markers and marker arguments
are rejected. Marked functions are excluded from pytest collection.
A true assumption continues. assume(False, message=None) raises AssumptionNotMet,
a SystemExit subclass with code == 0. Uncaught on the main thread, it exits
successfully without a traceback. The optional message is available as .message.
Run one input per process; this does not generate inputs or prove properties.
Python caveat: SystemExit can be intercepted, cleanup in finally blocks still
runs, and raising it on a worker thread only terminates that thread. Use the main
thread without catching SystemExit/BaseException, or explicitly catch
AssumptionNotMet in a runner that classifies rejected inputs. Ordinary
except Exception handlers do not catch it. This changes the base class from the
old library, which treated rejection as an ordinary exception.
python3 -m unittest discover -s tests -v
Requires Python 3.11+. Adapted from schematic-tech/schematic-supertests at
b6ccba3b5e0d42ea2846d0476eeb9496afb4a7f4.
Distribution
The public package name is singular: schematic-supertest on PyPI.
python -m pip install schematic-supertest
It supplies the same schematic import package. Releases contain a platform-neutral
wheel and a source distribution, each carrying both license texts and typing metadata.
See release automation and PyPI setup.
License
This interoperability library is available under either MIT or Apache-2.0, at your option.
Metadata
Release files for schematic-supertest 0.1.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 | |
|---|---|---|---|
| schematic_supertest-0.1.0.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| schematic_supertest-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / schematic_supertest-0.1.0.tar.gz
| Download URL | schematic_supertest-0.1.0.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b4d8c88f5df7f0ceea7501a92dcc9a0175f26549aa33bfaa620f0d523080227
|
|
BLAKE2b-256 checksum How to use checksums |
cfb4aa057807aa03075ebef6443147d3f8e703e5d1b234ae6f6503c22270887a
|
| 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 14, 2026.
Transparency logRelease files / schematic_supertest-0.1.0-py3-none-any.whl
| Download URL | schematic_supertest-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52b184a121517ba491bc452af28a115910152629ffb5bcb79b486477e50adcb8
|
|
BLAKE2b-256 checksum How to use checksums |
1a137a2ca1e0505e38618cb9e4c5dd1549bb1e674ee76c9b79c8b4b3eb41897c
|
| 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 14, 2026.
Transparency log