Skip to main content

Composable agentic framework on top of atomr actors and atomr-infer.

Project description

atomr-agents

A native Rust agentic framework built as a layered actor / strategy / harness substrate on top of atomr and atomr-infer. atomr-agents gives you a single mental model — pluggable strategies that resolve under shared budgets, channelled state with first-class checkpointing, tool-call orchestration with parallel dispatch, and durable harness loops — that scales from a one-off chatbot to a multi-tenant production agent platform.

use atomr_agents::prelude::*;

// One Pipeline composes prompt → model → parser like LCEL.
let pipeline = Pipeline::from(prompt)
    .then(model)
    .then(parser)
    .build();

let answer = pipeline.call(input, ctx).await?;

Python parity

The Python facade ships every Rust capability. The native extension atomr_agents._native is split into 28 hierarchical submodules: foundational (errors, core, callable_, strategy, instruction, context, state, observability, cache, parser, registry); tool / skill / memory / retrieval / ingest (tool, skill, memory, embed, retriever, ingest, persona); agent / workflow / harness / org / eval (agent, workflow, harness, org, eval); voice (stt, tts, voice, voice_extras); plus the guest registry. The top-level package re-exports the most-used classes, ships a PEP 561 py.typed marker, and exposes async coroutines / async iterators over pyo3-async-runtimes.

Install

pip install atomr-agents

For an editable workflow against the local checkout:

pip install maturin
maturin develop --features python -m crates/py-bindings/Cargo.toml
pip install -e ".[dev]"

Host-mode async event stream

EventBus.stream() returns an EventStream that implements the Python async iterator protocol. Drive a producer on the same loop and consume events as they fire:

import asyncio
from atomr_agents.observability import EventBus


async def main() -> None:
    bus = EventBus()
    stream = bus.stream()

    bus.emit_tool_invoked("calc", args_hash=0, elapsed_ms=5, ok=True)
    bus.emit_tool_invoked("search", args_hash=1, elapsed_ms=12, ok=True)

    async for ev in stream:
        print(ev.kind, ev.timestamp_ms)
        if ev.kind == "tool_invoked" and ev.tool == "search":
            break


asyncio.run(main())

Async registry publish

Registry.publish_async returns a Python awaitable backed by a tokio future, so version pins land without blocking the event loop:

import asyncio
from atomr_agents.registry import Registry


async def main() -> None:
    registry = Registry()
    record = await registry.publish_async(
        "tool_set", "calc", "0.1.0", {"name": "calc"}
    )
    print(record.kind, record.id, record.version)


asyncio.run(main())

Guest-mode @tool decorator

atomr_agents.guest exposes real decorators wired through _native.guest.register_*_factory. A guest tool is a class with an async def invoke(self, args, ctx) method:

from atomr_agents.guest import tool


@tool(toolset="calc")
class Add:
    name = "add"

    async def invoke(self, args: dict, ctx) -> dict:
        return {"sum": args["a"] + args["b"]}

Mirror decorators are available for the full set of 24 Rust traits: @strategy(kind=...), @persona, @skill, @parser, @scorer, @memory_store, @embedder, @callable_, @retriever, @loader, @splitter, @kv_cache, @long_store, @tracer, @conversation_agent, @diarizer, @vad, @phonemizer, @journal, @repair_model, @persona_reconciler, @inference_client, @ann_index. Each pairs with an atomr_agents.<module>.*_from_factory(key) builder that materialises the registered Python target as a Rust dyn handle.

Host-mode agent runtime

AgentBuilder assembles strategy slots into a runnable AgentRef that implements Callable, so an agent composes with the same decorators and pipeline operators as any other unit:

from atomr_agents.agent import AgentBuilder
from atomr_agents.harness import Harness, iteration_cap, loop_strategy_from_callable
from atomr_agents.workflow import Dag, Step, WorkflowRunner

# Strategy slots come from in-process factories or Python guests.
builder = AgentBuilder("research-agent", "gpt-4o-mini")
builder.with_instructions(instructions)
builder.with_tools(tool_strategy)
builder.with_memory(memory_strategy)
builder.with_skills(skill_strategy)
builder.with_inference(inference_client)
agent_ref = builder.build()
result = await agent_ref.run_turn("What's the GDP of France?")

# The agent is itself a Callable — drop it into a workflow.
dag = Dag("plan")
dag.add_step("plan", Step.invoke(agent_ref.as_callable()))
runner = WorkflowRunner("research-wf", dag.build())
await runner.run({"user": "..."})

Where things live

The hierarchical layout is reflected in the Python facade — every submodule has a one-to-one .py mirror under atomr_agents/:

from atomr_agents.errors import RegistryError
from atomr_agents.core import TokenBudget, AgentId
from atomr_agents.agent import AgentSpec, AgentBudgets
from atomr_agents.tool import ToolDescriptor, ToolCallParser
from atomr_agents.observability import EventBus, RunTreeBuilder
from atomr_agents.registry import Registry

The top-level package keeps the 0.2.x convenience names — so from atomr_agents import EventBus, Registry still works.

Runtime coverage

AgentRef.run_turn, Harness.run, WorkflowRunner.run, and Conversation are all callable from Python. The Rust runtimes are type-erased through BoxedAgent (in crates/agent) and Box<dyn LoopStrategy> / Box<dyn TerminationStrategy> (in crates/harness); the blanket impl Trait for Box<dyn Trait> impls live in their respective trait crates so the composition contract holds regardless of whether a strategy is monomorphic or boxed. See docs/python-api.md for the full module map and async-surface table.

Why an agentic framework, in Rust, on actors

Agentic systems don't fail because the models aren't good enough — they fail because the substrate underneath them treats context, composition, and persistence as afterthoughts. Glue-code retry policies, opaque memory, hand-rolled tool loops, brittle handoff between agents — that's where 3 a.m. pages come from.

Composition is the unit of work. A real agent is a Pipeline of prompts, models, parsers, and tools — each with its own retry, fallback, timeout, cache, and trace policy. atomr-agents makes every component a Callable with the same composition surface, so with_retry, with_fallbacks, and with_config apply uniformly to prompts, models, retrievers, and parsers alike.

State is channelled, durable, and forkable. Long-running agents need more than chat history. They need typed channels with reducers (AppendMessages, MergeMap, LastWriteWins, MaxByTimestamp), per-super-step checkpoints keyed by (workflow, run, step), and fork-with-edit so an operator can branch a divergent run from any prior state. atomr-agents ships LangGraph's state model verbatim in atomr's actor idiom.

Tool calls are parallel and provider-agnostic. When a model emits five tool calls in one turn, atomr-agents fans them into a JoinSet and aggregates in original order. The streaming tool_call_delta parser handles OpenAI and Anthropic deltas natively; new providers plug in behind the same Provider enum. Per-call deltas are also surfaced as Event::ToolCallStreamed so tracers and UIs see tool intent in real time, distinct from the post-call Event::ToolInvoked. RichTool returns ToolReturn::{Content, ContentAndArtifact, Command} so a tool can also drive graph control flow.

Provider runtimes are opt-in feature flags. Enable provider-anthropic, provider-openai, or provider-gemini on the umbrella to pull the corresponding atomr-infer-runtime-* crate and re-export its *Config / *Pricing / *Runner via atomr_agents::agent::providers::{anthropic, openai, gemini}. Cost reports include cached_tokens (Anthropic prompt-cache, OpenAI cached input) and reasoning_tokens (o1-style) automatically.

Granular efficiency. Rust gives us deterministic resource use, zero-cost abstractions, and ownership-as-concurrency-safety. Strategy trait generics monomorphize the per-turn pipeline; Box<dyn> opt-in exists for config-driven loading. The whole 26-crate workspace builds under cargo check --workspace in seconds and ships zero runtime overhead beyond what the actor crate already pays.

What's in the box

Crate What it does
atomr-agents Umbrella facade re-exporting the public surface, feature-flag-driven
atomr-agents-core Ids, budgets (token / time / money / iteration), AgentContext, RunId, structured Event taxonomy, error types
atomr-agents-callable Callable trait, CallableHandle, Pipeline builder (then / fan_out / assign), decorators (with_retry / with_fallbacks / with_config / with_timeout / Branch / Lambda)
atomr-agents-strategy Strategy trait family (ToolStrategy, MemoryStrategy, SkillStrategy, RoutingStrategy, PolicyStrategy, LoopStrategy, TerminationStrategy) + combinators
atomr-agents-context ContextAssembler — priority-merge under a TokenBudget
atomr-agents-observability EventBus, RunTree builder, Tracer trait, StdoutTracer / JsonlTracer / LangSmithTracer
atomr-agents-state StateSchema + 5 reducers, RunState, Checkpointer trait + InMemoryCheckpointer, fork-with-edit; SQLite/Postgres backend stubs behind features
atomr-agents-tool Tool / RichTool traits, ToolDescriptor, ToolSet + ToolSetRegistry, PermissionSpec, provider-aware ToolCallParser (OpenAI / Anthropic), HandoffTool
atomr-agents-skill Skill, SkillSet, Static / Keyword skill strategies
atomr-agents-memory MemoryStore (short-term) + LongStore (long-term, namespace-tupled), RecencyMemoryStrategy / SummarizingMemoryStrategy / ChainedMemoryStrategy, WriteMemoryTool / UpdateMemoryTool / RecallMemoryTool
atomr-agents-embed Embedder trait, MockEmbedder, AnnIndex + InMemoryAnnIndex, EmbeddingToolStrategy
atomr-agents-retriever Retriever zoo: Bm25 / Vector / MultiQuery / ContextualCompression / ParentDocument / Ensemble (RRF) / SelfQuery / EmbeddingsFilter / TimeWeighted
atomr-agents-ingest Loader (text / md / json / csv) + splitters (Recursive / MarkdownHeader / Code / Token / Semantic) + CachedEmbedder + IngestPipeline
atomr-agents-persona All five structural strategies (Static, BigFive, Mbti, Jungian, Composite) + emphasis strategies (Static, AudienceAdaptive, TaskAdaptive, MoodState, GoalConditioned)
atomr-agents-instruction ComposedInstructionStrategy<P, T, B>, ChatPromptTemplate, MessagesPlaceholder, FewShotChatTemplate, LengthBasedSelector / SemanticSimilaritySelector
atomr-agents-agent Agent<I, T, Ms, Sk> actor + per-turn pipeline, tool-call loop with parallel dispatch, AgentMiddleware (logging / retry / rate-limit / redaction / tool-error-recovery), InferenceClient adapter for any ModelRunner
atomr-agents-workflow DAG primitives, WorkflowRunner, StatefulRunner (channelled state), Interruptible (interrupt() + interrupt_before / _after + Command::{Continue, Resume, Update, Goto}), Subgraph, dispatch_fan_out (Send-API analogue)
atomr-agents-harness Harness<L, T> actor, LoopStrategy / TerminationStrategy, durable iteration log; Harness is itself a Callable
atomr-agents-org Org / Department / Team, OrgRoutingStrategy impls (RoundRobin / LoadAware / CapabilityMatch), Policy::narrow, NamespacedMemory (read-cascade + write-gating), swarm_loop helper
atomr-agents-registry Versioned artifact registry with (kind, id, version) keys + publish_gated for eval-regression blocking
atomr-agents-eval EvalSuite, Scorer (Contains / Equality / Regex / LlmJudgeScorer / RubricScorer / PairwiseScorer), RegressionGate, AnnotationQueue
atomr-agents-cache LlmCache trait + InMemoryLlmCache + SemanticLlmCache (cosine match on prompt embedding); SQLite/Redis backend stubs behind features
atomr-agents-parser Parser<T> trait, JsonParser / JsonSchemaParser / SchemaParser<T> / EnumParser / CommaListParser / XmlParser / YamlParser, OutputFixingParser, RetryWithErrorParser, StreamingPartialJsonParser
atomr-agents-stt-core SpeechToText / StreamingSession traits, Capabilities (advertised per backend via a pub const), AudioInput / Transcript / StreamEvent, MockSpeechToText
atomr-agents-stt-remote-core Shared HTTP / WebSocket plumbing for cloud STT backends: reqwest client builder, tokio-tungstenite connect helper, SecretRef (env / literal / file), retry / rate-limit / timeout config
atomr-agents-stt-audio symphonia-based decoder, rubato resampler, and (feature mic) cpal-based MicCaptureSession with backpressure-aware mpsc producer
atomr-agents-stt-runtime-openai OpenAI Whisper / gpt-4o-transcribe REST batch backend
atomr-agents-stt-runtime-deepgram Deepgram REST + WebSocket backend; speaker-count diarization, partial results, VAD endpointing
atomr-agents-stt-runtime-assemblyai AssemblyAI REST upload + Universal-Streaming WebSocket; named-speaker diarization
atomr-agents-stt-runtime-whisper Local whisper.cpp via whisper-rs (gated behind the whisper-cpp feature). Optional download-models helper fetches ggml weights
atomr-agents-stt-diarize-sherpa Diarizer trait, MockDiarizer, sherpa-onnx-backed SherpaDiarizer (gated behind sherpa-onnx), apply_to_transcript stitching
atomr-agents-stt-voice VoiceSession (Live vs TurnBased { silence_ms }), Vad trait + EnergyVad/SileroVad, pump_mic_to_stream glue
atomr-agents-stt-tool TranscribeTool (a Tool the model can call) and voice_input_skill(stt) -> (Skill, DynTool) for declarative agent integration
atomr-agents-sandbox-core Backend-agnostic microVM sandbox contract: SandboxBackend / SandboxHandle traits, the 5 SandboxProfile toolchains, ResourceBudget (2 GB / 2 vCPU Rust floor), SandboxEvent, and a deterministic MockBackend so the whole surface is testable with no Docker / KVM
atomr-agents-sandbox-harness Sandbox orchestration: pluggable backend, live-sandbox registry, TOCTOU-safe concurrency quota, BestFitScheduler bin-packing, warm SnapshotPool, SandboxEvent broadcast; ephemeral one-shot + persistent registry paths; itself a Callable
atomr-agents-sandbox-tool The execute_in_sandbox Tool — runs untrusted Python / Bash / JS / Rust in an ephemeral sandbox, applying the Rust floor, returning { exec_id, exit_code, success, stdout, stderr, timed_out }
atomr-agents-sandbox-backend-docker Docker "insecure dev mode" backend (bollard): one long-lived container per sandbox, tar-based file I/O confined to /workspace, commit-based snapshot/fork. Not a security boundary — that's Firecracker's job
atomr-agents-sandbox-proto Host↔guest wire protocol: length-prefixed postcard frames (u32 LE + body, 64 MiB cap) over AF_VSOCK; keeps the in-VM guest a tiny static binary
atomr-agents-sandbox-guest-agent In-VM PID-1 daemon serving the protocol: per-language exec, /workspace-confined file I/O, best-effort init; lean static musl build
atomr-agents-sandbox-harness-web Axum REST + SSE companion over a SandboxHarness (/run, /sandboxes…, /events, /healthz)
atomr-agents-py-bindings atomr_agents._native PyO3 module — 28 hierarchical submodules exposing every framework capability to Python (callable composition, strategies, instruction templates, memory + retriever zoo + ingest, agent / workflow / harness runtimes via BoxedAgent, eval, tracers, voice + conversation, 24 guest-trait decorators)
atomr-agents-cli atomr-agents binary with eval / registry / harness / serve (Studio-style read+resume inspector) subcommands
atomr-agents-testkit Stub crate today. For tests, depend on atomr-infer-testkit (re-exports MockRunner / MockScript) directly — that's what crates/agent tests use.

Plus a Python facade — pip install atomr-agents — that exposes the host-mode Registry / EventBus and the guest-mode @tool / @strategy / @persona decorators.

Untrusted code execution — the microVM sandbox. Seven sandbox-* crates give an agent secure, instant-boot compute to run model-authored Python / Bash / JS / Rust. A backend-agnostic contract (SandboxBackend / SandboxHandle) sits under a quota'd orchestration harness (bin-packing scheduler + warm snapshot pool), the execute_in_sandbox tool, an AF_VSOCK host↔guest protocol, an in-VM PID-1 guest agent, a REST/SSE web companion, and the atomr_agents.sandbox Python facade. Backends escalate by isolation strength — deterministic mock (CI) → Docker "insecure dev mode" → Firecracker microVM (the real boundary) → Tier-3 gRPC cluster. Full write-up in docs/sandbox-architecture.md.

Quick start (Rust)

The umbrella crate is published on crates.io as atomr-agents:

[dependencies]
atomr-agents = { version = "0.2", features = ["agent", "harness", "eval"] }
atomr-infer  = { version = "0.6", features = ["openai"] }   # or any provider

Or, to pull a provider runtime through the umbrella so Agent / LocalRunnerClient / OpenAiRunner come from one crate:

atomr-agents = { version = "0.2", features = ["agent", "provider-openai"] }
# or features = ["agent", "provider-anthropic"], ["agent", "provider-gemini"]

A minimal agent against MockRunner (good for tests; swap for any ModelRunner in production):

use std::sync::Arc;
use atomr_agents::prelude::*;
use atomr_agents::agent::{Agent, AgentBudgets, InferenceClient, LocalRunnerClient, Provider};
use atomr_agents::tool::{StaticToolStrategy, DynTool};
use atomr_agents::memory::{InMemoryStore, RecencyMemoryStrategy};
use atomr_agents::skill::StaticSkillStrategy;
use atomr_agents::persona::StaticPersonaStrategy;
use atomr_agents::instruction::{
    ComposedInstructionStrategy, StaticBehaviorStrategy, StaticTaskStrategy,
};
use atomr_agents::observability::EventBus;
use atomr_infer_testkit::{MockRunner, MockScript};

let runner = MockRunner::new(MockScript::from_text(["the answer is ", "42"]));
let inference: Arc<dyn InferenceClient> =
    Arc::new(LocalRunnerClient::new(runner, Provider::OpenAi));

let agent = Agent {
    id: AgentId::from("a-1"),
    model: "mock".into(),
    instructions: ComposedInstructionStrategy::new(
        StaticPersonaStrategy::new("You are a helpful assistant."),
        StaticTaskStrategy("Answer arithmetic questions.".into()),
        StaticBehaviorStrategy("Reply tersely.".into()),
    ),
    tools: StaticToolStrategy::new(Vec::<DynTool>::new()),
    memory: RecencyMemoryStrategy::new(Arc::new(InMemoryStore::new()), 5, 30),
    skills: StaticSkillStrategy::new(vec![]),
    inference,
    bus: EventBus::new(),
    max_tool_iterations: 3,
};

let r = agent
    .run_turn("what's 1+2".into(), AgentBudgets::default())
    .await?;
println!("{}", r.text);

Add tools, switch the MockRunner to a real ModelRunner (OpenAI, Anthropic, vLLM, …), and the same code runs unchanged.

Quick start (Python)

pip install atomr-agents
from atomr_agents import EventBus, Registry

bus = EventBus()
bus.subscribe(lambda ev: print(ev.kind, ev.timestamp_ms))

registry = Registry()
registry.publish("tool_set", "ts", "0.1.0", {"tools": ["calc"]})
print(registry.latest("tool_set", "ts"))

See docs/python.md for the full host/guest model and the subinterpreter-pool dispatcher pattern inherited from atomr's pycore.

Documentation map

docs/index.md is the full documentation hub. The map below links everything from this README.

Core framework

Subsystems & harnesses

  • docs/sandbox-architecture.md — microVM sandbox: untrusted-code execution, backend tiers (mock → Docker → Firecracker → cluster), vsock protocol, guest agent
  • docs/coding-cli-harness.md — wraps local AI coding CLIs (Claude Code, Codex, Antigravity) as callables; headless + interactive (xterm.js) modes
  • docs/stt-harness.md — agentic streaming speech-to-text, diarization, editable transcript review UI
  • docs/meetings-harness.md — attendees, notes, actions, tiered summaries over a diarized transcript
  • docs/avatar-harness.md — real-time embodied agent: perception → cognition → TTS → 60 Hz LiveLink sync to a UE5 MetaHuman
  • docs/deep-research-harness.md — multi-step, multi-source, citation-bearing research with pluggable topologies
  • docs/agent-host/index.md — long-lived on-disk runtime (SOUL / RULES / MEMORY / USER / SKILL.md) giving an agent persistent identity, skills, hooks, schedules, channels

Python

  • docs/python.md — Python bindings + subinterpreter-pool guest mode
  • docs/python-api.md — Python API reference: submodule map, async surfaces, 0.2 → 0.3 migration

Migration & AI-assisted coding

License

Apache-2.0.

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

atomr_agents-0.20.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

atomr_agents-0.20.0-cp313-cp313-win_amd64.whl (9.5 MB view details)

Uploaded CPython 3.13Windows x86-64

atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

atomr_agents-0.20.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

atomr_agents-0.20.0-cp312-cp312-win_amd64.whl (9.5 MB view details)

Uploaded CPython 3.12Windows x86-64

atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl (8.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

atomr_agents-0.20.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

atomr_agents-0.20.0-cp311-cp311-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.11Windows x86-64

atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

atomr_agents-0.20.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

atomr_agents-0.20.0-cp310-cp310-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.10Windows x86-64

atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

atomr_agents-0.20.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file atomr_agents-0.20.0.tar.gz.

File metadata

  • Download URL: atomr_agents-0.20.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for atomr_agents-0.20.0.tar.gz
Algorithm Hash digest
SHA256 80467dd0519b242713f2adf436c62f323158307cd0aaa334dfba9deddc0a8d07
MD5 7c69b716752916e7c22d8509c10bb118
BLAKE2b-256 9f7346bf21f7a853409ee75c26c6ace6a431e0820e51c4e7be90b47fd782ff75

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0.tar.gz:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ae3aaf1ab42eaa3e8f0ebe0ff07ee0de3d9cc49e18172d6970a378c4f03d9553
MD5 89de1039f28b7515739eab03688bdf9f
BLAKE2b-256 98451389999bd465f684c57328bae412cf4da620117e25a0eddc98605dbfabfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b002618aa188902d8e27183ea7b5e99b9eabb7700fbe2e90f29b3f24cce0f3a9
MD5 0720220709a90069d6189258002fe8a2
BLAKE2b-256 4fc777f46bb1f1d51984d0db143e6cdd3e09e0f028f39b0479b570fd6c17d019

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bb2a60f016fbc6c30ea05940377365a926be40ac65bf58e408d4b373b4198eac
MD5 94a46cc13109adeea93e8284545e21ed
BLAKE2b-256 0576d2bd901a767dd69a4f6122859232eb8d3b1614584373a73e8be5f02abaff

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10431dbdb7aaffabb31e8686e28310b80d1a8641d854aacc17c4c2895c6d1a6a
MD5 48f2b95bf09e8b17a531177d508bc6ed
BLAKE2b-256 e32fd1626fa5a14dfcd0151892f415eae829695f111eb38273c48b1fdf3b3e5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8ca16b3a52154b741798fdd6bf0306f7ac33480728553e1018da24375f274c51
MD5 f05a6e4447b37bd6200656ef6b22ca44
BLAKE2b-256 4487a9131a81c795e8e63675746fdfbdcf2b0fcf215945be33434af5a85a6b5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 c54a4bc38355701bcf0468b6b57100aa7a38de50026807d0bb5df2275d1c481c
MD5 8b4da1c98949dffa37f8bd2c5315eb09
BLAKE2b-256 5176e44a3eb3a891e089eb6ada3599f9429f24fd620fee152e2c7ee357339df3

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a5086155a5368dccb6ba2b5e673b09e7acb53d4c2bce974166ffc92e711116e2
MD5 17b3defec93c872a4d28a4c5125d1f7e
BLAKE2b-256 6424dafb0d90efd6cf5493afe73c94555a046077886e72e90d3540d51963a65a

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fcaaf6411317242a6f72181a760d9e7c7bb26fec8382ac287d642a824a9e4e2e
MD5 bd01b08bd37e41467de028a55a12f093
BLAKE2b-256 aebd9d52dd0ca4f306891e083390b8323ac364a8ef8af8055c1cc2c98a3d0080

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 80a9201d75edb24241c82279efafaaee9fcaec93e752f3a2e0c0db8e928a136d
MD5 5c7b780415f73ea5dd9b19b3e706b8ad
BLAKE2b-256 ca6543dfbc74ff44866e5d823a9b221597cd1d83cf78b960c7582f76c1d9cfb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67b4565193b891e842780f9f6c5798c0dbc4cef20919c912cc3b69a35a14679d
MD5 98d9838e34b56a3f754f2223dd10016a
BLAKE2b-256 f20beb2a60f445961ada39ef37455b94122330d7e51984b83dc45b426ac4c29d

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc457ce4ce4ea5de23888a7c4e000fc2b3896b3256b1433455d452c14a4de445
MD5 766b10b31aed5ac180afc36c4d7c8649
BLAKE2b-256 5634e3c5ee68fceaade8047e6cf100d958039e1f129ad2a0893182763e02632f

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 dced7eb60c08141a21f7284711b8122d05b7e508adbb5523efa6abe97f1b4b6d
MD5 b43fabfa848d036f1f7213d6a845dcbc
BLAKE2b-256 5c3d7ef3f594ae4b12649c2096a6e0592fc7c2f6d1c9fa2949b2785f38e3e9b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bdc999d6a3efb70ea2b01df0d848b247c86c6d5a5606e8c77bcefd92712b4aa9
MD5 e09e3b0cb9df8a515a3aada48fa261f3
BLAKE2b-256 8926d55d6a31be75f5644f5bb356fa203df2d956805d55b17666a558b9c53dcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ffe15e2d30a7307ca480ce3a957791be75b2d211870a9dbe2f979469ff8953db
MD5 e30bea616db13733006f46decd816278
BLAKE2b-256 357f55e4922d0ea2798551dfe22dd76c4599e1201b291f25fff609c47a26591d

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 adbff2a7ebd5b44223788cdca0c0ef1b3d8d895c28ab901a6c8a06ffaf50cda0
MD5 5e3a0c5b21de040b618200d5273b6e5b
BLAKE2b-256 6c46d58061d02fcbbaeee1aa9001c788d9e6d95ea10f5160ddb6e98a43d4c3ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e418a953883cac2989d0ea37dbc5835fe88cf8409163f63b7e041a1779e3f97a
MD5 8ebbccbfe883a5cea0eee5cad9f3aa8b
BLAKE2b-256 e479a729dfc0d3f7dfe23979f241814634ef7a3dbc94bf3fe674c52286564524

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bcf9ba0415f3c88b03e762f1f2c101793817b0a4236ab55a66ee43d8f4820df6
MD5 6b92f13e7c99c01e48ffc45bccc95a4b
BLAKE2b-256 be39913a7206bbf252ab5f7e18a988212785054776429f9c6ea03521c78df9d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 05554296a49491e7e0a5b47940b8c178fa2909a9bcd276c7c5adb178857a8465
MD5 aa3626dfa5869e8f592ab7d5ba7e01e1
BLAKE2b-256 aa07c0b66126857f271f580913676431b3fb13ed7662126241b859eb82bf05b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 df4e76202993e1ed168affbbfe7f55ad69e073cd2f163bb98621cf29f1da6ca9
MD5 e60ed6798b9126206d00358272a8e7b6
BLAKE2b-256 e23b2c7c8b458b4cc6b6d7f7d839ce32a13a643fa1806a8656069cdf0cb10127

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 00444f1429b18b3206bbbc53f39ae218aeb20a4e7befabd0260ef6098a379f08
MD5 826880d0b82f6cdae4d96c6b9a1b280f
BLAKE2b-256 fd59006fc186560cea5377b95c3bdac86794333fc836e5a08024e99fdfaaadaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dfe53a0e2b9e9a9f3d7e3a76b0726d2f8d0114733febe237cb81a46baaf6f924
MD5 c19882b045650b037929add070d816ee
BLAKE2b-256 134a5a19d478ebc0f3f38264587be66cf28cad48d2dbd89772e1659cdfe5b9ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05b707160ea10ff0d3528703c9e0c8034ebd3bf594d33324a56c2487bcbe8bf2
MD5 f516e43987450797b36cffb5d8075b5d
BLAKE2b-256 1213338e71f4354559585cda82dc503d2cdecdb087a931a58c12b764295bf5bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da93caf36f8fa8c81ee8295df91216f1d7478184199c30f2ac8aac71a01891dd
MD5 4a57d88fd6ab4e1b3c5bc4e87fe39fcb
BLAKE2b-256 0af6d3c588f06597536a7a84d96e328451a7630c470161c7fdc05ee9a011ba9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on rustakka/atomr-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file atomr_agents-0.20.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for atomr_agents-0.20.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 d2a9df40d6153ad121a9fcfcdee9259c9d72478b7e09b80ee8187a739e318ad8
MD5 60de4a43528b15413ae211cee0419e7c
BLAKE2b-256 6539e26d17ff543857189feafa499da719998c8d89eff2f88b7f258a12c81507

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.20.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on rustakka/atomr-agents

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