Python SDK for the skilltest CLI: run AI-skill tests and natural-language evals from Python, with a typed report contract.
Project description
skilltest-sdk
The Python SDK for the skilltest
CLI. A thin, typed wrapper and nothing else: it runs the CLI as a subprocess and
parses the stable --format json contract into Pydantic models. Test-framework
integrations build on it — use skilltest-pytest if you
want pytest collection; use this package directly from any other Python code.
from skilltest_sdk import run_skill, validate_skill
report = run_skill("cases/greet.yaml")
assert report.passed, report.describe_failures()
# Mix in deterministic checks on the transcript:
assert "Dr. Smith" in report.runs[0].transcript.assistant_text()
result = validate_skill("skills/greeter")
assert result.valid
The skilltest binary is resolved from the bin= argument, the
SKILLTEST_BIN env var, or PATH; a provider override comes from provider=
or SKILLTEST_PROVIDER. A failing eval is reported (report.passed is
false), not raised; bad input raises SkilltestUsageError (CLI exit 2) and
provider problems raise SkilltestProviderError (exit 3).
The Pydantic models are generated from schemas/report.schema.json /
schemas/validation.schema.json — themselves generated from the CLI's own
types — via just gen-contract, and a drift gate in CI fails if anything is
stale, so the models cannot diverge from the binary.
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
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 skilltest_sdk-0.2.1.tar.gz.
File metadata
- Download URL: skilltest_sdk-0.2.1.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a70b0a58ccf7a9a15d45ac1b10035cc181bba5f8296bdf97e51dc894d01bb73f
|
|
| MD5 |
0ed8bf544e6c7f8a0adf057555116df2
|
|
| BLAKE2b-256 |
6f7893015931a33a6ad875b1b2eb6609c7a0d3d5e0d8b053517e57bfaf5d5843
|
File details
Details for the file skilltest_sdk-0.2.1-py3-none-manylinux_2_17_x86_64.whl.
File metadata
- Download URL: skilltest_sdk-0.2.1-py3-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 878.9 kB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98414358b39a59497ace709cc537186f27fdc4be8b5ff3df73a3cfc1ad59838b
|
|
| MD5 |
3cd18cd3eb1f02451ecfd98faeac2f6f
|
|
| BLAKE2b-256 |
f5ef302f07dc63c6682f9a7f45a1967ee824a473dd278b6521957be34181b130
|
File details
Details for the file skilltest_sdk-0.2.1-py3-none-manylinux_2_17_aarch64.whl.
File metadata
- Download URL: skilltest_sdk-0.2.1-py3-none-manylinux_2_17_aarch64.whl
- Upload date:
- Size: 829.4 kB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d256e8a01a2205c350858952e660a60d48e964d811a6448c70dca04c6e70d935
|
|
| MD5 |
4c70ab7dede87c8beebf141c53ad5fa6
|
|
| BLAKE2b-256 |
b6d3765fdcc1f958f18498b6807508c1127a3cb7ef5e06ffc01b0150c78a442e
|
File details
Details for the file skilltest_sdk-0.2.1-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: skilltest_sdk-0.2.1-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 784.0 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b80a5760aa3e84b4b0ef4003ba5e1f06ae2670f19c21b02ce3ec12e2b9dc7eaf
|
|
| MD5 |
1aada50666d539413e4c1a1baeb69409
|
|
| BLAKE2b-256 |
5f8b29e2eef4c7855db44745cc33b5b306b497b8d2bcf41b435d23de97a4f14c
|
File details
Details for the file skilltest_sdk-0.2.1-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: skilltest_sdk-0.2.1-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 835.6 kB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4d7abe74e788a854d0f6a4683d743df2af749755f9f2e3ea1a6d8327a4c135e
|
|
| MD5 |
c9069c8779db20f94d101c0864bfcfba
|
|
| BLAKE2b-256 |
91a91d94f3b8e2564646604bcad0cf09002dc212c0e0ce368bfbcc8b059e7e41
|
File details
Details for the file skilltest_sdk-0.2.1-py3-none-any.whl.
File metadata
- Download URL: skilltest_sdk-0.2.1-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35ad4491ec94ad2a490b40bef6ffab21e2b90635f48cdcf7eb547b36b9817dfa
|
|
| MD5 |
e0907497e81f97a0ef1cc0ac1a431e81
|
|
| BLAKE2b-256 |
eeaa59105886b50b05b1a9197ded696e9961c4a5d63348d228669c3de2b05e14
|