Installing Packages
Applies to SDK 0.16+ · Last updated: 2026-06-12
Basic installation
terminal
$ agentnode install pdf-reader-pack
Installing pdf-reader-pack@1.2.0...
Downloading package done
Verifying hash (SHA-256) done
Installing dependencies done
Writing lockfile done
Installed pdf-reader-pack@1.2.0Install a specific version
terminal
$ agentnode install pdf-reader-pack@1.1.0Install multiple packs
terminal
$ agentnode install pdf-reader-pack web-search-pack email-drafter-packWhat happens during installation
When you run agentnode install, the following steps execute in order:
- Version resolution -- the registry resolves the latest compatible version (or the pinned version you specified).
- Download -- the package archive is downloaded from the registry.
- Hash verification -- the downloaded archive is verified against the SHA-256 hash stored in the registry. If the hash does not match, the install is aborted.
- Dependency installation -- Python dependencies declared in the pack are installed via pip.
- Lockfile update -- the pack version and hash are recorded in
agentnode.lockfor reproducible installations.
The lockfile
The agentnode.lock file records exactly which versions and hashes are installed. Commit this file to version control for reproducible builds across environments.
agentnode.lockyaml
# Auto-generated by agentnode. Do not edit manually.
lockfile_version: 2
packages:
csv-analyzer-pack:
version: "1.1.0"
hash: "sha256:a1b2c3d4e5f6..."
installed_at: "2025-01-15T10:30:00Z"
entrypoint: "csv_analyzer_pack.tool"
tools:
- name: "describe"
entrypoint: "csv_analyzer_pack.tool:describe"
capability_id: "csv_analysis"
- name: "filter"
entrypoint: "csv_analyzer_pack.tool:filter_rows"
capability_id: "data_cleaning"
pdf-reader-pack:
version: "1.2.0"
hash: "sha256:f6e5d4c3b2a1..."
installed_at: "2025-01-15T10:31:00Z"
entrypoint: "pdf_reader_pack.tool"
tools: []Using packs in code
Every pack is loaded through the SDK's load_tool() function. v0.2 packs support multiple tools with individual entrypoints. v0.1 packs work the same way with a single default entrypoint.
agent.pypython
from agentnode_sdk.installer import load_tool
# v0.2 multi-tool pack — load specific tools by name
describe = load_tool("csv-analyzer-pack", tool_name="describe")
filter_rows = load_tool("csv-analyzer-pack", tool_name="filter")
result = describe({"file_path": "data.csv"})
filtered = filter_rows({"file_path": "data.csv", "column": "status", "value": "active"})
# v0.1 single-tool packs — no tool_name needed
extract = load_tool("pdf-reader-pack")
pdf_result = extract({"file_path": "report.pdf"})
search = load_tool("web-search-pack")
search_result = search({"query": "AgentNode", "max_results": 5})Updating and rolling back
terminal
# Update to latest version
$ agentnode update pdf-reader-pack
Updating pdf-reader-pack 1.2.0 -> 1.3.0... done
# Roll back to a specific version
$ agentnode rollback pdf-reader-pack@1.2.0
Rolling back pdf-reader-pack 1.3.0 -> 1.2.0... done
# List all installed packs
$ agentnode list
Installed packages:
pdf-reader-pack v1.0.0 trusted
web-search-pack v1.0.0 trusted