Skip to main content

Native Rust primitives for the Tank SDK — integrity verification, tarball extraction, version resolution, permission checks

Project description

tank-core

Native Rust primitives for the Tank Python SDK. Provides SHA-512 integrity verification, tarball extraction with path traversal protection, semver resolution, and permission checks — built in Rust, exposed via pyo3.

Most users do not install this directly. Install the high-level SDK instead:

pip install "tank-sdk[native]"

That pulls tank-core as a dependency and the SDK loads it transparently. Installing tank-core alone is supported but exposes a low-level API that the SDK abstracts.

Install

pip install tank-core

Pre-built wheels ship for:

  • Linux x86_64 and aarch64 (manylinux_2_28)
  • macOS x86_64 (10.12+) and arm64 (11+)
  • Windows x86_64

Built against Python's stable ABI (abi3), compatible with Python 3.11+. Unsupported platforms (e.g. musllinux, FreeBSD) fall back to an sdist build that requires a Rust toolchain.

Low-level API

import tankpkg_core

tankpkg_core.verify_integrity(data, "sha512-...")
tankpkg_core.extract_tarball(data, "/tmp/dest")
tankpkg_core.resolve_version(["1.0.0", "1.1.0", "2.0.0"], "^1.0.0")
tankpkg_core.is_path_allowed("/src/foo.ts", ["/src/**"])
tankpkg_core.is_domain_allowed("api.anthropic.com", ["*.anthropic.com"])

budget = tankpkg_core.Permissions(
    network_outbound=["*.anthropic.com"],
    fs_read=["/src/**"],
    fs_write=["/output/**"],
    subprocess=False,
)
skill_perms = tankpkg_core.Permissions(fs_read=["/src/**"])
tankpkg_core.check_permission_budget(budget, skill_perms, "@example/skill")

Errors use standard Python exceptions: ValueError for integrity failures, IOError for extraction failures, PermissionError for budget violations.

Building from source

Requires Rust and maturin:

cd packages/sdk-core/crates/python
maturin develop

Links

License

MIT

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

tank_core-0.15.4.tar.gz (13.2 kB view details)

Uploaded Source

Built Distributions

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

tank_core-0.15.4-cp39-abi3-win_amd64.whl (314.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

tank_core-0.15.4-cp39-abi3-manylinux_2_28_x86_64.whl (398.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

tank_core-0.15.4-cp39-abi3-manylinux_2_28_aarch64.whl (382.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

tank_core-0.15.4-cp39-abi3-macosx_11_0_arm64.whl (364.9 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

tank_core-0.15.4-cp39-abi3-macosx_10_12_x86_64.whl (386.4 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file tank_core-0.15.4.tar.gz.

File metadata

  • Download URL: tank_core-0.15.4.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tank_core-0.15.4.tar.gz
Algorithm Hash digest
SHA256 36574bff320b68d8191248084bb2b40f4006d4cbb3011604266f722aab716991
MD5 c2e48cce429be204fc26a62aff96c378
BLAKE2b-256 4dabcaa920d120e0ce715286d57b99ae1b745641999864aa2d5307edd4d6fd6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.15.4.tar.gz:

Publisher: release.yml on tankpkg/tank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tank_core-0.15.4-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: tank_core-0.15.4-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 314.8 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tank_core-0.15.4-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2f0cbe6d1b485dd22ec6d4e5e9ccff52d05d04e9d1743cdae8cd11f4488de74b
MD5 4980f333d0702cfdba908246193976dc
BLAKE2b-256 5117aab0c2f0ee7e2abf70b576d6bf29822e3296637f74fdb3be441c86615254

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.15.4-cp39-abi3-win_amd64.whl:

Publisher: release.yml on tankpkg/tank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tank_core-0.15.4-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tank_core-0.15.4-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 40802f915101cf7118d9f8b8fff2b353478d7e44ba58922ff914b979c60ff3ac
MD5 849c3fd072b1e6f1814b68397f55f98b
BLAKE2b-256 d396bdf01a4bcb7bea2604bb82cd97f2f66a3c8c11a1cd4cc31210427f71ec09

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.15.4-cp39-abi3-manylinux_2_28_x86_64.whl:

Publisher: release.yml on tankpkg/tank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tank_core-0.15.4-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tank_core-0.15.4-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 56982432463829214dbd3388de213443c298808b37a8cf59a715e3f69adf9e74
MD5 1e38082859a683cc1e7ff8843448fb36
BLAKE2b-256 6718770fbe8a483bdf1a2d19561841d0829b2d08de686160b912aa8a40610f48

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.15.4-cp39-abi3-manylinux_2_28_aarch64.whl:

Publisher: release.yml on tankpkg/tank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tank_core-0.15.4-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tank_core-0.15.4-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5386bacb4c85c5a81eea6521dfe06d8f04bf6e5111da6c273a1c876100b11f0
MD5 0de4b8faa775fe9d69ebb61a92b73001
BLAKE2b-256 f769b456130f2ee8fca7725f302ead52446afb29edf1b1843c5ed193ccd36a91

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.15.4-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on tankpkg/tank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tank_core-0.15.4-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tank_core-0.15.4-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b02cf947fbd2f180778a6da711ac0d873c40fa5207b69b648342c844b9baf6cb
MD5 cb979ebec89c11b89380c968039a6b97
BLAKE2b-256 01d1673d1a46dbcd5169579ec43220d67e01d41a1686f152bad99b08ba53840d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.15.4-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on tankpkg/tank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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