Skip to main content

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

skilltest_sdk-0.2.1.tar.gz (38.7 kB view details)

Uploaded Source

Built Distributions

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

skilltest_sdk-0.2.1-py3-none-manylinux_2_17_x86_64.whl (878.9 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

skilltest_sdk-0.2.1-py3-none-manylinux_2_17_aarch64.whl (829.4 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

skilltest_sdk-0.2.1-py3-none-macosx_11_0_arm64.whl (784.0 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

skilltest_sdk-0.2.1-py3-none-macosx_10_12_x86_64.whl (835.6 kB view details)

Uploaded Python 3macOS 10.12+ x86-64

skilltest_sdk-0.2.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

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

Hashes for skilltest_sdk-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a70b0a58ccf7a9a15d45ac1b10035cc181bba5f8296bdf97e51dc894d01bb73f
MD5 0ed8bf544e6c7f8a0adf057555116df2
BLAKE2b-256 6f7893015931a33a6ad875b1b2eb6609c7a0d3d5e0d8b053517e57bfaf5d5843

See more details on using hashes here.

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

Hashes for skilltest_sdk-0.2.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 98414358b39a59497ace709cc537186f27fdc4be8b5ff3df73a3cfc1ad59838b
MD5 3cd18cd3eb1f02451ecfd98faeac2f6f
BLAKE2b-256 f5ef302f07dc63c6682f9a7f45a1967ee824a473dd278b6521957be34181b130

See more details on using hashes here.

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

Hashes for skilltest_sdk-0.2.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 d256e8a01a2205c350858952e660a60d48e964d811a6448c70dca04c6e70d935
MD5 4c70ab7dede87c8beebf141c53ad5fa6
BLAKE2b-256 b6d3765fdcc1f958f18498b6807508c1127a3cb7ef5e06ffc01b0150c78a442e

See more details on using hashes here.

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

Hashes for skilltest_sdk-0.2.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b80a5760aa3e84b4b0ef4003ba5e1f06ae2670f19c21b02ce3ec12e2b9dc7eaf
MD5 1aada50666d539413e4c1a1baeb69409
BLAKE2b-256 5f8b29e2eef4c7855db44745cc33b5b306b497b8d2bcf41b435d23de97a4f14c

See more details on using hashes here.

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

Hashes for skilltest_sdk-0.2.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a4d7abe74e788a854d0f6a4683d743df2af749755f9f2e3ea1a6d8327a4c135e
MD5 c9069c8779db20f94d101c0864bfcfba
BLAKE2b-256 91a91d94f3b8e2564646604bcad0cf09002dc212c0e0ce368bfbcc8b059e7e41

See more details on using hashes here.

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

Hashes for skilltest_sdk-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 35ad4491ec94ad2a490b40bef6ffab21e2b90635f48cdcf7eb547b36b9817dfa
MD5 e0907497e81f97a0ef1cc0ac1a431e81
BLAKE2b-256 eeaa59105886b50b05b1a9197ded696e9961c4a5d63348d228669c3de2b05e14

See more details on using hashes here.

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