tank-sdk
Official Python SDK for Tank — the security-first package manager for AI agent skills.
Search, download, read, and audit skills from the Tank registry. Designed for agent frameworks, notebook workflows, and any Python tool that wants to consume AI skills with provenance and integrity guarantees.
Install
pip install tank-sdk
For faster integrity verification, install the native extra:
pip install "tank-sdk[native]"
This installs tank-core — pre-built Rust wheels for Linux x86_64/aarch64, macOS x86_64/arm64, and Windows x86_64 (Python 3.11+). On unsupported platforms, pip will either build from source (requires a Rust toolchain) or fail. If you don't want the native dep, install the plain tank-sdk — every feature remains available via the pure-Python fallback.
Quick start
from tankpkg import TankClient
with TankClient() as client:
results = client.search("nextjs")
for skill in results.get("skills", []):
print(skill["name"], skill["description"])
skill = client.read_skill("@tank/nextjs")
print(skill.content)
Authentication
The SDK reads ~/.tank/config.json (managed by the tank CLI) or the TANK_TOKEN environment variable. Login with:
tank login
Or pass a token explicitly:
TankClient(token="your-token")
Self-hosted registries
TankClient(registry_url="https://tank.your-company.com")
Or set TANK_REGISTRY_URL.
API
search(query, *, page, limit)— search the registryinfo(name)— skill metadataversions(name)— list available versionsversion_detail(name, version)— full version record includingscan_verdict,audit_score,integrity(SHA-512)download(name, version, *, dest)— download and verify tarballread_skill(name, version=None)— SKILL.md + references + scripts inlinelist_files(name, version=None)— file listing within a versionread_file(name, version, path)— read a single fileaudit(name, version=None)— security scan verdict for latest or pinned versionpermissions(name, version=None)— resolved permission budgetwhoami()— authenticated user infostar(name)/unstar(name)/get_star_count(name)
All methods raise typed exceptions: TankAuthError, TankNotFoundError, TankPermissionError, TankNetworkError, TankIntegrityError, TankConflictError.
Native acceleration
tank-sdk works fully in pure Python. Installing tank-sdk[native] pulls tank-core — Rust bindings that are wired in where it matters most today: SHA-512 integrity verification on TankClient.download(). The Rust core also exposes tarball extraction, semver resolution, and permission checks as primitives that are used by the Tank CLI and available for direct import as tankpkg_core.
Check whether native acceleration is active:
from tankpkg import has_native
print(has_native()) # True if tank-core is installed and loaded
When native acceleration is unavailable, tank-sdk falls back to hashlib.sha512 for integrity verification — same security guarantees, pure Python.
Requirements
- Python 3.11+
httpx(installed automatically)
Links
- Homepage: https://tankpkg.dev
- Documentation: https://www.tankpkg.dev/docs/sdk-python
- Source: https://github.com/tankpkg/tank
- Issues: https://github.com/tankpkg/tank/issues
License
MIT
Metadata
Release files for tank-sdk 0.16.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tank_sdk-0.16.2.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tank_sdk-0.16.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.8 kB
Release files / tank_sdk-0.16.2.tar.gz
| Download URL | tank_sdk-0.16.2.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e17fd0aa549000e0d8bcbc1e163e90663423b1cf80a4397b8017f990f6039342
|
|
BLAKE2b-256 checksum How to use checksums |
e686ad81bff9bd6efebb5471d0677250249052464e8f3f3b3e2592ab55e6a42f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 23, 2026.
Transparency logRelease files / tank_sdk-0.16.2-py3-none-any.whl
| Download URL | tank_sdk-0.16.2-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ff814884cd0810efb9d5b47de023d2e9eff3f1d64ae2ed7c2e0b48431fdf964
|
|
BLAKE2b-256 checksum How to use checksums |
7afd98db2c7c61fd064077a49543b673fcb52389870ed09edd3db9c5fdcf904b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 23, 2026.
Transparency log