Skip to main content

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.0

Install a specific version

terminal
$ agentnode install pdf-reader-pack@1.1.0

Install multiple packs

terminal
$ agentnode install pdf-reader-pack web-search-pack email-drafter-pack

What happens during installation

When you run agentnode install, the following steps execute in order:

  1. Version resolution -- the registry resolves the latest compatible version (or the pinned version you specified).
  2. Download -- the package archive is downloaded from the registry.
  3. 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.
  4. Dependency installation -- Python dependencies declared in the pack are installed via pip.
  5. Lockfile update -- the pack version and hash are recorded in agentnode.lock for 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