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

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

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.17.0.tar.gz (984.3 kB 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.17.0-cp313-cp313-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.13Windows x86-64

atomr_agents-0.17.0-cp313-cp313-musllinux_1_2_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

atomr_agents-0.17.0-cp313-cp313-musllinux_1_2_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

atomr_agents-0.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

atomr_agents-0.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

atomr_agents-0.17.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.7 MB view details)

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

atomr_agents-0.17.0-cp312-cp312-win_amd64.whl (8.8 MB view details)

Uploaded CPython 3.12Windows x86-64

atomr_agents-0.17.0-cp312-cp312-musllinux_1_2_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

atomr_agents-0.17.0-cp312-cp312-musllinux_1_2_aarch64.whl (7.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

atomr_agents-0.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

atomr_agents-0.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

atomr_agents-0.17.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.7 MB view details)

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

atomr_agents-0.17.0-cp311-cp311-win_amd64.whl (8.7 MB view details)

Uploaded CPython 3.11Windows x86-64

atomr_agents-0.17.0-cp311-cp311-musllinux_1_2_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

atomr_agents-0.17.0-cp311-cp311-musllinux_1_2_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

atomr_agents-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

atomr_agents-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

atomr_agents-0.17.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.6 MB view details)

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

atomr_agents-0.17.0-cp310-cp310-win_amd64.whl (8.7 MB view details)

Uploaded CPython 3.10Windows x86-64

atomr_agents-0.17.0-cp310-cp310-musllinux_1_2_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

atomr_agents-0.17.0-cp310-cp310-musllinux_1_2_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

atomr_agents-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

atomr_agents-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

atomr_agents-0.17.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.6 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.17.0.tar.gz.

File metadata

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

File hashes

Hashes for atomr_agents-0.17.0.tar.gz
Algorithm Hash digest
SHA256 2a30c77cd5dd4a38788b0c77cb0bcc9f76f900d90c810d2f4c165e35ed3535ed
MD5 03e2da8e5a09794243a7c1ca0245ea32
BLAKE2b-256 ba261f9b2761e4172e333b400305a7bbef9b759842d6542fbe9cdaf24d0d1ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 231b0b7578bc12b0fff2747d652aa49779583e54bdfff41178bbb2f242f91dc0
MD5 d7d6a986a946670f88bd40ef90bc624a
BLAKE2b-256 88850db2193c4396287eed7d0798110c16f2cb3d6c03b03df02eac37116cdcee

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6e506e9a3474e41347a0d8ef23559124fcf5ef53707e6f149732831e16a9b550
MD5 cfb3de0cbe2c63c3b77bbd6e0d21b8a3
BLAKE2b-256 130807778a2901fb408b0b0148cafe2eddcbb01ce54a1f49010ce2f982f06bb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d994239478ac976f587561fc44786a3e666aaca6921dc7958d7f303a67c46405
MD5 09480d5be79588d5a2902d6502745edc
BLAKE2b-256 20f619e0398fe54dcca9fcf3f85a77cd7956d6eacfb66ba4e8e61a32ef0e59de

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c63aaf0dd327473f8f8293eb8f862a011e31098b1a078e5696b87fe5104cac5
MD5 1ab3173e0472f65002d079fdedb0b281
BLAKE2b-256 a6a82fa14cc2b6d563732c103c3ac41e605eb7e875cccbc76ad839f17e55d47f

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e233c4090e03d92f67873e15432fe11e14871b591c8adc2e6cee36d8cd648d7b
MD5 08c39ff59830de8b99a3a3029b017fd3
BLAKE2b-256 2c3357a10750d1e49131f5190b61517e1f398a560be71bc11cf43eed3e7016dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.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.17.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 366c1940747aa44f5f5ebc4fe96a04120bc783d0fcd10781fa8f931203952ae4
MD5 6b9630771ffaf967e36ec0a05f8bc5e7
BLAKE2b-256 f0d29bc39f4e3ec904c2464a357f13d6be2fa25d5c6c41a12ca889ac489c4200

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c5a1c59e606182f1cb52da26592836e9a3e43d115792dd021eaaba32d9efac01
MD5 7378f5e3f770a2312e0406df6479dfd4
BLAKE2b-256 9ecee89a07638bee468154060a12c1ca5a5fe5a93f35e302d33a6e6c5dbd6cbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e36baf3dc21a80d4a78104b45a560fd82c9dd692925a23be88e5d6277ae51ec3
MD5 4a4acdfde20c9a40da3637ca1c3ea23b
BLAKE2b-256 a9cfced9ff70740f6d7721ffb3e233381f0d680b9a8e0d0003234aae8ec80a03

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0e7c30ae2e5607cc54eba3d05c6ab40bb5a32bdcbab911d9b1b17d57365cb11c
MD5 10002cfdbd0eef87d43db10511a86ea8
BLAKE2b-256 a4c7a61ec46171e71e829815a9283d9c0fbd2b8ee48482e72a41e080ff3e27d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77908f498f0fd9983943c9fc557fbe8acc21a56c2add14341657ab897b76d8da
MD5 26ec1cb9d5cdffd6107eda3a01ee92a4
BLAKE2b-256 08b2a6a0ddc46e79e5a21b07bf570120d5b3492b5e0c9a36985a5c88aa7eb1ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ea8cc6dad12b5ab267f387268e560f465181e243f071801d5290ce768470c17
MD5 b189d8dd05e6ad3c5d779a601e60a78f
BLAKE2b-256 01bb47a4f1a712945c5c3e89817e9474af31ae8072aa336c0cf6de884bf6fabf

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.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.17.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3212960cf6de6d73f0126e9e15f20b1e4528a8f92f2bc95c579d6886a1f1949c
MD5 d5e0bf3b91a87da655e15dc012c9c0f6
BLAKE2b-256 83cda7a79c9b5a2fdcf1351916fe9e51ea5cad4b9a6c6a557172ac38e516156c

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 73f88a39dfa8daaec15907cc24309ad2a50649ce079c8a8c7b96bd0fb351ad69
MD5 a8e573925f95df0eeaf859ea3826ad38
BLAKE2b-256 46d09fd3bdaccbd34b46859e38318db30b64bb1507e5561f7e2a6cdb514e6026

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1cb59b0c0dd9666e22ad63a9a3fca03634ccf916d147ef484344198c1680ebb1
MD5 eb3e086745a52a13cfb3beceebcb9bec
BLAKE2b-256 b109092a91b562366d79377c118d619dbb9415cf5aba201e323bf8189b0dee4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 660eeb573a7030a545c046fde4ba33e7834e2e5664192ab82dd133136166a315
MD5 e6e3d2d2f80aa023235912f41e093c61
BLAKE2b-256 f797613dcdd2029cf48be82a499af620ab20c62b3e6a47c7d798ff2d68d22652

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9fe49a0331496361e1ae7fea48a87cab6412b65f9c1a13b8b7b89c3e39008af5
MD5 65454227c47ef853d84144ac8a5290a3
BLAKE2b-256 dad1603c063d2f3af9790485982ad3d2567bab9a167d1ebdd186f2e3179dee6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 97996cb23df314da84f7d014c1a6c0b2d21c5f91bff5c4b59752a46189acf6e6
MD5 61a6b762ae391e7af3fe62a166707e8a
BLAKE2b-256 119d74b142bd41932205b53df62e7f30c44e7f924f2f0e72f7a881c77c1d0b4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.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.17.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 ad20c6c33ed003e343ad2ac17402aa8ec8249665e85505af5073a41f612ca841
MD5 cb29a4fbfc97672400f6b3924ef2e22a
BLAKE2b-256 194446931a4eb2c02ff293c8e4bcfbe0afd1e112ad1a9343998114860f2df839

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 15e1147931da5f59d28c786c55c2ff2c1b8f79b7a26e69665da5323fb44fbbcf
MD5 801292f407087bd99cac17dbaa6f0684
BLAKE2b-256 2b9bc0099bcf2d7035b8b3fd15449a0fcd457ffcfaa12d6273006efda3b418ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b0fd9fee67af0da3c7705bfc20256d0f642c141638c49a13c04e452ef0cdd45b
MD5 5be9f75ad10fe3f94cfb84123d9b4622
BLAKE2b-256 e6553cdc6dad2310aeeb4e67271e87e4765e63da85c451af00020a6ee2612211

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fb95c4461cbf30c130931cfa98c8bb74c9dda68116c9b88c37ff379646843e74
MD5 02278e1ba133df1f5858cc9716c2e7dc
BLAKE2b-256 6b82551ef225d9f4c87f3f7bcb908e5adfac1cc0595c9679e3949ff2ab225d4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f5f83c7c302404719d08776ba65cf09fbc6f45ddab20eb748d15791c8cd5631
MD5 1847e84c9b57a6dc17695282f28e29b6
BLAKE2b-256 d4d99ef7d6d425ca18d0de00fd445b73877adaab90f2e780bb7824679b40060a

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for atomr_agents-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4e884b73a434443741487f7c140aab927c66e0481c07bcb00d54e17128e0d096
MD5 4ca6be32b3f2f83f6fa68bdb9a37f3a4
BLAKE2b-256 b2ffb6d2b8be0b56b752b49990bd51776a6cdb190515e6800b42bfb839d98d8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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.17.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.17.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 a5081467c37140d03ba03a4124bcecb6f6b4030192ac2cfb38a4988acdfc412e
MD5 397accdb8719f3a261ab3a91180e2b01
BLAKE2b-256 9b42665c992c1e212647714d41147602d7af0154d993d6077e3f5d272d2555d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.17.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