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.3.0.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.3.0-py3-none-manylinux_2_17_x86_64.whl (923.8 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

skilltest_sdk-0.3.0-py3-none-manylinux_2_17_aarch64.whl (869.6 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

skilltest_sdk-0.3.0-py3-none-macosx_11_0_arm64.whl (825.1 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

skilltest_sdk-0.3.0-py3-none-macosx_10_12_x86_64.whl (879.1 kB view details)

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: skilltest_sdk-0.3.0.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.3.0.tar.gz
Algorithm Hash digest
SHA256 65fd4779bfc330a734d3f3d824576aae61ee92d1d322c17bfdfe3a29d804efb9
MD5 36274387d7bc2ab449edfc2efc3c839f
BLAKE2b-256 a47b5c92505eddcecca6be60ea0f61f628274e359f38c92abf9f72e946ac9649

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilltest_sdk-0.3.0-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 923.8 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.3.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 77c57dbbbb06334354ce19db7494bb7c206f1a71a5c8f0433645222c21edb2fc
MD5 bd2881b85fb1638d4bb235e57f6d7149
BLAKE2b-256 9f6816532214d0b8a339d3e62864cf50378cae8f03c1bd62656dbf523fdc372f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilltest_sdk-0.3.0-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 869.6 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.3.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 e9f1f2617d6704883075f1b0c3d35edb877323408bf3d82113b3305229950c7b
MD5 e9da9f1ca0c27368f3f0c2862bf55d81
BLAKE2b-256 7f0e9240c09dc89f5caa00e5139d0c5006d62248bbcc0ee75f827e7041b36477

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilltest_sdk-0.3.0-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 825.1 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.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ec5ed1d9959930134f14f7a8702a32949bc1dc2d96f0fa02fbddefe6dfed81d
MD5 8e0e180cb131e65dc0682c78f47c3ea1
BLAKE2b-256 44ce272a85083679d883e1f27c2a7769958503f78bfe71ac952df27d5217b540

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilltest_sdk-0.3.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 879.1 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.3.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ba7c43b1406d2a88eb38f58244d794fc9e92cbfbc6f548875100d3a7429c823b
MD5 7172db49bf8eb76dc55c5bb8af5e5d4b
BLAKE2b-256 1417dc2d4bc3b85fd5babdd0bb88c45796222322f3f309e7fb921e299a202e3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skilltest_sdk-0.3.0-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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bdc55e7978857d576e458a9ae18e4b9927e0144075f960d65e1fedae8820c8e5
MD5 0f954c150123aff7411b8bea3521ae09
BLAKE2b-256 778474e00e48a766dbe88000e90680213a2d4e081fe7b3b66e23c7b2d5b76f78

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