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.12.0.tar.gz (733.9 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.12.0-cp313-cp313-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.13Windows x86-64

atomr_agents-0.12.0-cp313-cp313-musllinux_1_2_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

atomr_agents-0.12.0-cp313-cp313-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

atomr_agents-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

atomr_agents-0.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

atomr_agents-0.12.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (11.0 MB view details)

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

atomr_agents-0.12.0-cp312-cp312-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.12Windows x86-64

atomr_agents-0.12.0-cp312-cp312-musllinux_1_2_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

atomr_agents-0.12.0-cp312-cp312-musllinux_1_2_aarch64.whl (5.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

atomr_agents-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

atomr_agents-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

atomr_agents-0.12.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (11.0 MB view details)

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

atomr_agents-0.12.0-cp311-cp311-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.11Windows x86-64

atomr_agents-0.12.0-cp311-cp311-musllinux_1_2_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

atomr_agents-0.12.0-cp311-cp311-musllinux_1_2_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

atomr_agents-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

atomr_agents-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

atomr_agents-0.12.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (10.9 MB view details)

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

atomr_agents-0.12.0-cp310-cp310-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.10Windows x86-64

atomr_agents-0.12.0-cp310-cp310-musllinux_1_2_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

atomr_agents-0.12.0-cp310-cp310-musllinux_1_2_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

atomr_agents-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

atomr_agents-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

atomr_agents-0.12.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (10.9 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.12.0.tar.gz.

File metadata

  • Download URL: atomr_agents-0.12.0.tar.gz
  • Upload date:
  • Size: 733.9 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.12.0.tar.gz
Algorithm Hash digest
SHA256 2297d446a6a6ae740a388ba91ccdb471abbec67959a0a3f856f471df2804d3c3
MD5 b137e157a5977174ab84876f65d29d26
BLAKE2b-256 07e30a3c892f6f0c12f897cbac1897871b3e684d969b76c0d94c332a495bac75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 63a45cd2b148a8be5395f2506ad5056dcd7ea1cb18feb2cd96aed231fb9a57f4
MD5 b35bee96a48f2e81af2a041130188f87
BLAKE2b-256 61e054a5ffa7ea3e19b5700b3744fbcaf9bdfb6367a81721b7a2725e51e24ea4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eec73776e7ddb335144ed7689c2029bb5fa4d71f2dd7ed4b44e3eaadc26480a5
MD5 01d5a1c9404e5418dd088236f094fdfc
BLAKE2b-256 7a897d430c19d3c9e8b0d57f452c28cd00b1fb4ca0a55ec4c8a2fd29af272409

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ca6d7cfdcba3e0311dd69166c488283b3df011366e57aae20c0a7f4846bbc36c
MD5 807bb5bf881a50005c3b246a1913fc38
BLAKE2b-256 87e860fe83b7d55e473c4a27d648e3374c2fd51442c63d9e84ef7f1e87f0a8e3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b30a705e40b0348c88bfa37f8d37772e6ed3ab56c5f0ac5c97f4bdb787eb5a02
MD5 e734b812ede9876c9ebe67dd9a02acda
BLAKE2b-256 2a9ce70f0fe22533f373df6fa53035899cb224c324e7da4ca5ebae3e79bea841

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1abc981ba48f52d503476eab98da001e2c17e49222095fc3e5781348adde6f3
MD5 07b5a8dbf7f036fe28432eae9c288bcb
BLAKE2b-256 596e4bffa636660120e10f945fe9025f0a23eca8730733b3eb9fa0316fe19631

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.12.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.12.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.12.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7f97552bdac60ea8f40103e855c7c499257b001c38fa47f97145fdbd70a3d1f0
MD5 9fceaafa8d309bdd218178ae07ecf459
BLAKE2b-256 1cf66274d6998e683d37ae98f8fd4206ba2273b7e89d6aeed67a2474cac6dc20

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7c8563864c07140e378ce4885b5e1ec8458b98193de737491bcd21c3ff3c3233
MD5 fb1deb3c48e9ab9f75b4fb834386fb69
BLAKE2b-256 1d0ebc768ba8c9485320383a257775049002cda5288f2895de470d65f44448ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6010e12238a22fc26e039148e01f4f2c62690ed52467731d62f157c76eeafb1c
MD5 fe52256b6c8c944dcf0031b4e646f46e
BLAKE2b-256 a1fa52a301ce157caecc6655abb81413b7e349846ad6d63fff13b6f6b2d2f3e5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b4ddabc9e4e71a3d3cb47071fc927cb0a4bf6b82573e5f96e649bc9f2be0ae27
MD5 fcf6028d1e61eb8adfa65001cf298a82
BLAKE2b-256 5482b88452e014d185ebd66e3976f172d655542581da25e912b4a861b118f632

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 113040a5fd5784bb1723af5c3caff072705cd2176463eaed65c64029f17706c6
MD5 556c2146ccbc99ec79743e01f3ae89bd
BLAKE2b-256 fd7ba84f5146d1a6b92394c5fa81690c8b9b041ea8f61dcc0b32177e89cd6e84

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 783bdbd0352f55c42f06d9a897d9fd9697a8fff1ee96d02ac45b101201b727b0
MD5 c12b438e2fdde3c6617d3747cd111475
BLAKE2b-256 ad3cb0cef398e3e9c69e3d9c4805eaed3c3f880d4755590418353bbb240dbd17

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.12.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.12.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.12.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 11951acaa025152c47fb22d7f282852da43b651f402701b5ad87daa6ff7e527e
MD5 dc2184503aeeee16ce5c4ce98019ce7f
BLAKE2b-256 ca7861eb549a62240e55d49851b7f3ed0a32e0d636815521e9d0b0ee4e09f327

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 609fb0f229064ff5177c91c2298cbed12e6744a2ed8de3a4fb34dde3c685fabc
MD5 00d855cffa8cffda6f8e7663617af4a1
BLAKE2b-256 a9f6c3938b697711198ec4ac253bc8298c474891238f779f6f2bcccee0af8a57

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 904012640f7acaabf895ed8a58fb5dce4ec78d290d966c3273a9618dfe4cf2d0
MD5 87626e6aa055e622429d233cfa0717be
BLAKE2b-256 5495019333a5546b89b9460e6711d849af7427da99b8eeb1dfbecad6ca71f3d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 132ef746d047203905816fe9719a91e89faf02ae25a5d90057b63f0c7824c21b
MD5 bae7ff679d0fd7b8a891ce282852296f
BLAKE2b-256 99ee41769b7e10cec24d11ac587a510651c1caabb07a5255cf2731521297bb8d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e28aa3e329fdda15838c16ce9073eeba021eafda42fd35d8d8ec44d13d6245e
MD5 4a100397fb3f2bf4db980074b63b7bb9
BLAKE2b-256 9aa1f69b0d072a41bd97a13bb7df082e7c234d9b16ea3ec2279b06a935c33639

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a35b9d130f71cd3175ffa6b527f8558c6a4e264db2bbb7cb9d815309f1c059dc
MD5 54024dad8984085490c74c0f9a4ff77c
BLAKE2b-256 0b9ada710978f3974278da8af076732022cecbeb74f5816a4957d2f8dcc2a66a

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.12.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.12.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.12.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4eaf8f19ca874e8f210d84500c6f243a46ce30e190e2fcb3baeeade27f8763c4
MD5 3eb8b0e620eeb62e885da6fade56d50f
BLAKE2b-256 d79186d671974c3f8269d8f1c7ba0b30236b5f87bb3ecbde6e1b2797ab9b0d9c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e2223f9b3d228cb98d4ad65dc03c1994ef13ad4c567a9f39559c40295792f9ee
MD5 427dcef651614d515a2a776173b03e3d
BLAKE2b-256 79a041b57e0d5a0f60382bd166002ccac6edfc5e422ed05d78435302c153523c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9e71f5cc85f35ad617f875fc3cfc4506dc1e13d4ddd014e31ed485e5b37f3696
MD5 785b6779e9a8865609bbfb5558d55fd5
BLAKE2b-256 d2c35aaab9ce07b94ac998220292e13df7bdaed09a7611786edb897850f6be0f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 38547f3afb878b9bf45f76cd85e21dc8f59909dc4fe0ff9bd8c54be89707f647
MD5 a968a906e3547328fce1bd5b810e84b2
BLAKE2b-256 85bd6d4338aa6ddf308f9b08ba94cf5324b0cdf0234552ae5ac384ec55d822ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b916b1e2e05a54659d34446de972409a14e301682e7506bef8a1dd866541595
MD5 3c8d11a26b726dc2b6714f2f221b86c0
BLAKE2b-256 5291db893d041de2e216881fb041c59b4f182aeb22c7a9219feace274a4e195c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atomr_agents-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eedf962cef91ebc08a33d002edd913d1d35197ed40e72d8909a2804cf54e2902
MD5 f8e30a65fb42e226430b7c1b9b1921dc
BLAKE2b-256 3596b7f3d6a7993e68524dfa58e66477512bb90643036038c781670c23752f9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for atomr_agents-0.12.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.12.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.12.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7e0fb1e2d366a965ac15cb96bcca46f998668e57da31d7fdadec0b2907a402a8
MD5 f8a39683385dbf08c6973283c29ecebe
BLAKE2b-256 89e777cc049dbd48aa0149794af873214a33e2ce34344d7b9970914330e9fa59

See more details on using hashes here.

Provenance

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