Skip to main content

JARVIS Atomic Nodes (Node Pack)

First-party “node pack” for the JARVIS stack. This package provides:

  • NodeType metadata for Node Registry + Selection
  • Atomic handler implementations for Atomic Executor

This is a trusted, in-process node pack (v0.x). It does not implement runtime code download.

Install

Metadata-only (safe for Node Registry):

python3 -m pip install arp-jarvis-atomic-nodes

Or explicitly:

python3 -m pip install "arp-jarvis-atomic-nodes[metadata]"

Runtime handlers (Atomic Executor):

python3 -m pip install "arp-jarvis-atomic-nodes[runtime]"

Usage

NodeType metadata (Node Registry)

from jarvis_atomic_nodes.catalog import node_types

node_type_list = node_types()

Handler registry (Atomic Executor)

from jarvis_atomic_nodes.handlers import handlers

handler_map = handlers(require_http=True)

Authoring nodes (JSON-first)

from typing import Any

from jarvis_atomic_nodes.sdk import atomic_node, NodeContext

HEALTH_INPUT_SCHEMA = {
    "type": "object",
    "additionalProperties": False,
    "properties": {
        "base_url": {"type": ["string", "null"]},
    },
    "required": ["base_url"],
}

HEALTH_OUTPUT_SCHEMA = {
    "type": "object",
    "additionalProperties": False,
    "properties": {
        "status_code": {"type": "integer"},
        "text": {"type": "string"},
    },
    "required": ["status_code", "text"],
}

@atomic_node(
    name="acme.api.health",
    side_effect="read",
    input_schema=HEALTH_INPUT_SCHEMA,
    output_schema=HEALTH_OUTPUT_SCHEMA,
)
async def acme_api_health(inputs: dict[str, Any], ctx: NodeContext) -> dict[str, Any]:
    """Call `GET /health` on an existing service and return the raw response text."""
    base_url = (inputs.get("base_url") or "").strip()
    if not base_url:
        raise ValueError("Missing base_url")
    resp = await ctx.http.get(f"{base_url.rstrip('/')}/health")
    return {"status_code": resp.status_code, "text": resp.text}

Entry point discovery

This package exposes a NodePack entry point:

  • group: jarvis.nodepacks
  • name: jarvis.core
  • object: jarvis_atomic_nodes.pack:core_pack
from jarvis_atomic_nodes.discovery import load_nodepacks, load_handlers, load_node_types

packs = load_nodepacks()
handlers = load_handlers()
node_types = load_node_types()

NodeType extensions metadata

Each NodeType emitted by this pack includes JARVIS metadata in NodeType.extensions, including:

  • jarvis.pack_id / jarvis.pack_version (provenance)
  • jarvis.node_name (stable node name)
  • jarvis.side_effect, jarvis.trust_tier (governance hints)
  • Optional: jarvis.egress_policy, jarvis.budget_hints, jarvis.tags

Node Registry stores these fields verbatim and Selection Service may use a subset to enrich candidate ranking.

Full cross-stack list: https://github.com/AgentRuntimeProtocol/BusinessDocs/blob/main/Business_Docs/JARVIS/Extensions.md.

Included nodes (v0.3.7 baseline)

Core:

  • jarvis.core.echo
  • jarvis.core.sleep
  • jarvis.core.uuid4
  • jarvis.core.time.now
  • jarvis.core.hash.sha256

HTTP:

  • jarvis.web.fetch

Release files for arp-jarvis-atomic-nodes 0.3.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arp-jarvis-atomic-nodes 0.3.8
File Size Uploaded
arp_jarvis_atomic_nodes-0.3.8.tar.gz 9.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arp-jarvis-atomic-nodes 0.3.8
File Interpreter ABI Platform
arp_jarvis_atomic_nodes-0.3.8-py3-none-any.whl Python 3 none any Details

Total release size:20.8 kB

Release files / arp_jarvis_atomic_nodes-0.3.8.tar.gz

Download URL arp_jarvis_atomic_nodes-0.3.8.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1ae7a2419d69dab0682d9b51efcdb0e2db0329d52776b913ea43d8bf171fcb88
BLAKE2b-256 checksum
How to use checksums
6f97119482da88d1afa972246a297da8c1b723d51778c6273aad0737e5ae681f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.

Transparency log

Release files / arp_jarvis_atomic_nodes-0.3.8-py3-none-any.whl

Download URL arp_jarvis_atomic_nodes-0.3.8-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ef97d34711220ee9f7d9d6fb087678ba325eec56eb889a28d29b3d751bb0da7
BLAKE2b-256 checksum
How to use checksums
ffba8b1e70a238071cf3ef978e8b168fc098e41a405b9b94b1ab6eb1bf733818
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.8 This release

2 release files

0.3.7

2 release files

0.3.5

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page