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.2.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.2-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.2-py3-none-manylinux_2_17_aarch64.whl (829.5 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

skilltest_sdk-0.2.2-py3-none-macosx_11_0_arm64.whl (784.2 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

Details for the file skilltest_sdk-0.2.2.tar.gz.

File metadata

  • Download URL: skilltest_sdk-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 8e9f9914702f0812b341e8dd6e5e2e214938c4eed88ab5d5cc0b014ef7e46740
MD5 b4b856dd845cf9fc4fd15208dd9ac315
BLAKE2b-256 f0d26aa6d5eadaeab9a27d66077bace6314bed60a2b2b56b8b9708e457dc1a96

See more details on using hashes here.

File details

Details for the file skilltest_sdk-0.2.2-py3-none-manylinux_2_17_x86_64.whl.

File metadata

  • Download URL: skilltest_sdk-0.2.2-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.2-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7de7913e5df74da593f6e9165b102d3996b500c4230c4c616951cf0917d4439e
MD5 201101203b3bc5776a6a82cd5f6582c1
BLAKE2b-256 e1684e16151055d98e28aa421a7ec8704aec263b3aac79969bba64c83a5cb087

See more details on using hashes here.

File details

Details for the file skilltest_sdk-0.2.2-py3-none-manylinux_2_17_aarch64.whl.

File metadata

  • Download URL: skilltest_sdk-0.2.2-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 829.5 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.2-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 9712845f1d85e58676cc481c1c38db05e31b02ea8f49aa4b222a591b93d8cb13
MD5 a5f54a16845d3047b07c1733c1350f73
BLAKE2b-256 611c33a223a957350c7abea1062bc038027e8be0893b64a4e38abe65adc7c821

See more details on using hashes here.

File details

Details for the file skilltest_sdk-0.2.2-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: skilltest_sdk-0.2.2-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 784.2 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.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c21f970df5c5e2420d864faa004b14f5c6a2e06c85fa6a4553d554d6b342351d
MD5 949d6c3b009edb83ff014823ea0f82d5
BLAKE2b-256 1017f777d883fdb911afd95be01a901f6a72f53ec3eab92264928e0e83d0daf5

See more details on using hashes here.

File details

Details for the file skilltest_sdk-0.2.2-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: skilltest_sdk-0.2.2-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.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d095ea50b2e4f401cd79e0f96fcabb67d98b56ae6dd5504b90a5040747900887
MD5 706160810e1334fa9a05b21f47df8056
BLAKE2b-256 fdbf4b5d98b056034c1832b51b7d6564e3dc80933d76a9c843ccc988e8137071

See more details on using hashes here.

File details

Details for the file skilltest_sdk-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: skilltest_sdk-0.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b0618c6a5cfd0e451eaba33203a54be3cb78013ffb2b819b3dc852ca4436a851
MD5 d1401c0233f48cb24ecf58aebd3e0516
BLAKE2b-256 450bd192e0cb47f80107b361ae22fc87e4eb839edbe4798ea107a57801f444e2

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