Vendored agent tools for the calfkit SDK: hermes shell/files/web/todo and an SSRF-safe web_fetch, each deployable as a calfkit tool node.
Project description
🐮 calfkit-tools
A single distribution where calfkit vendors agent tools ported from many upstream open-source codebases into one place.
calfkit's tool interface is Kafka-based (language-agnostic): a "node tool" is a process
that consumes a request topic and produces a reply. This repo packages those tools as one
installable distribution, calfkit-tools — organised internally by the upstream source
each tool was vendored from, each a subpackage exposing its tools over the calfkit Kafka
contract.
Layout
src/calfkit_tools/<source>/— one subpackage per upstream source (e.g.hermes,web_fetch); its tool nodes live under<source>/node/.vendor/<source>/— provenance only (LICENSE,METADATA.yaml,NODE.md,README.md,patches/). Never onsys.path, never in the wheel.vendor/_template/— copy this to start a new source.tests/<source>/— per-source test suites.pyproject.toml— the singlecalfkit-toolsdistribution (deps + extras).docs/project-structure.md— start here to add a source.docs/reference/tool-contracts.md— roll-up of every tool node's interface contract (params, deps/resource wiring, env config, reply shapes); each source'svendor/<source>/NODE.mdstays authoritative.docs/design/— per-tool design docs (e.g. the hermes-agent shell+file port).docs/tools-research/— the upstream survey that informed which tools to vendor.THIRD_PARTY_NOTICES.md— aggregated attribution index (per-sourcevendor/<source>/LICENSEMETADATA.yamlare authoritative).
Install
One distribution covers every default tool path:
pip install calfkit-tools # or: uv add calfkit-tools
The base install runs all tools with their default backends. Three opt-in extras enable remote shell-execution backends only (the default local backend needs none of them):
pip install "calfkit-tools[shell-docker]" # docker backend
pip install "calfkit-tools[shell-modal]" # modal backend
pip install "calfkit-tools[shell-daytona]" # daytona backend
pip install "calfkit-tools[all]" # all three
Adding a source
Add code under src/calfkit_tools/<source>/, provenance under vendor/<source>/, tests under
tests/<source>/, and any new deps/extras to the root pyproject.toml. Follow
docs/project-structure.md. Vendor by source (license-first,
per the open-source-vendoring-best-practices conventions), expose by tool, and keep
upstream code import-rewritten under _vendor/.
Status
Stage D landed: all eleven vendored tools are deployable calfkit tool nodes (calfkit ≥ 0.9.0, 1:1 tool→node, in-memory multitenancy keyed per calling agent — ADR-0004). Import-and-deploy:
from calfkit_tools.hermes.node import HERMES_NODES # terminal, process, files, todo, web, execute_code
from calfkit_tools.web_fetch.node import web_fetch
See docs/design/node-port.md and each source's
vendor/<source>/NODE.md for contracts, wiring, and the trust model. Durable state and
security hardening remain deferred.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file calfkit_tools-0.1.0.tar.gz.
File metadata
- Download URL: calfkit_tools-0.1.0.tar.gz
- Upload date:
- Size: 504.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
386c697b6948a1ff70ccf1b590892967917d495f2b87f6d065e85e9716e54576
|
|
| MD5 |
4723cbf235c320901979a973e2bba653
|
|
| BLAKE2b-256 |
26d4b418da24728b3f433701003aa0fdefa927735e97e8788ddf45494af0406b
|
Provenance
The following attestation bundles were made for calfkit_tools-0.1.0.tar.gz:
Publisher:
release.yml on calf-ai/calfkit-peripherals
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
calfkit_tools-0.1.0.tar.gz -
Subject digest:
386c697b6948a1ff70ccf1b590892967917d495f2b87f6d065e85e9716e54576 - Sigstore transparency entry: 1806731176
- Sigstore integration time:
-
Permalink:
calf-ai/calfkit-peripherals@dc8acb490b1044019d15a1984722b3c1d4e739af -
Branch / Tag:
refs/heads/main - Owner: https://github.com/calf-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dc8acb490b1044019d15a1984722b3c1d4e739af -
Trigger Event:
push
-
Statement type:
File details
Details for the file calfkit_tools-0.1.0-py3-none-any.whl.
File metadata
- Download URL: calfkit_tools-0.1.0-py3-none-any.whl
- Upload date:
- Size: 527.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84b4947417532c8cb7a7ab4a2170774201eda5a78743e7769e892d1cf8727a98
|
|
| MD5 |
0f6e1888010b0cbea068df9ed47f6e8a
|
|
| BLAKE2b-256 |
c64cf58013d179819c0b96fb56e99e93ab34f0da322da300fae9a3ab21165cb8
|
Provenance
The following attestation bundles were made for calfkit_tools-0.1.0-py3-none-any.whl:
Publisher:
release.yml on calf-ai/calfkit-peripherals
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
calfkit_tools-0.1.0-py3-none-any.whl -
Subject digest:
84b4947417532c8cb7a7ab4a2170774201eda5a78743e7769e892d1cf8727a98 - Sigstore transparency entry: 1806731286
- Sigstore integration time:
-
Permalink:
calf-ai/calfkit-peripherals@dc8acb490b1044019d15a1984722b3c1d4e739af -
Branch / Tag:
refs/heads/main - Owner: https://github.com/calf-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dc8acb490b1044019d15a1984722b3c1d4e739af -
Trigger Event:
push
-
Statement type: