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.14.2.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.14.2-cp39-abi3-win_amd64.whl (314.7 kB view details)

Uploaded CPython 3.9+Windows x86-64

tank_core-0.14.2-cp39-abi3-manylinux_2_28_x86_64.whl (398.5 kB view details)

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

tank_core-0.14.2-cp39-abi3-manylinux_2_28_aarch64.whl (381.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

tank_core-0.14.2-cp39-abi3-macosx_11_0_arm64.whl (365.5 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

tank_core-0.14.2-cp39-abi3-macosx_10_12_x86_64.whl (387.0 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: tank_core-0.14.2.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.14.2.tar.gz
Algorithm Hash digest
SHA256 b69cc049a10b29518f79062664dc0c3cece2274b50cc6d5951487ef5a01e3493
MD5 6445a9b6743ee5706f46156fc34762e9
BLAKE2b-256 209b93e3db2b43375890f9beab1dbf1da5fb5d114874c1b1cfb001912824d577

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.14.2.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.14.2-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: tank_core-0.14.2-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 314.7 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.14.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e7395b82fb0550637451beee10e355f183ad23a971984316587fbe150fc6e3fc
MD5 c2e1da2b16326d870f903bc059dee84a
BLAKE2b-256 49e1994df8bcd4ed0d8a56e697258ce0409abec4cbe271b30eec7799884730d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.14.2-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.14.2-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tank_core-0.14.2-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3861a2ea160ebd4199bdf5a51c4b5e45b40f5ae42bf63424357b6126c41a14d1
MD5 8be46e90e9b6ab1c5202d191583e536e
BLAKE2b-256 cf6deb1ed15f2bffd847029b63240b2a594176ca4e2a6d6e5a44d9575a536f4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.14.2-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.14.2-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tank_core-0.14.2-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 83c641c3dba886556029686d3818913348996ce063d5ee460a28aa0e4cdaca9b
MD5 6f9c31962a07e76fb1359d7783df11c9
BLAKE2b-256 d4e9e23390283c933043bc56b53aec92ae492bd9fba67120509fe36f59b4d221

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.14.2-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.14.2-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tank_core-0.14.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac4a17c385b5880f003b12b06f115bb3fb7c5d14ed14c0e3ae06d6f8b5e8b209
MD5 cbc854f73e543147d2f51c6546508f5b
BLAKE2b-256 0320fccd3ff0638989d3bbfa67a31e18742e4faca7e01f89c82bef04606cf01d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.14.2-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.14.2-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tank_core-0.14.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5f87c5619c67005f9170ba47f0184df777c3f78d7edb70269d26b446a9da70f0
MD5 9c0b95c230b8e75ee562da746ad762ab
BLAKE2b-256 ca50903c574436b1605398f244968a13c8edd21412b21c9ba63f20522265d422

See more details on using hashes here.

Provenance

The following attestation bundles were made for tank_core-0.14.2-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