uAgents is Fetch.ai's Python framework for building autonomous agents that can act on their own and communicate with one another. Agents are defined in code and given behavior through decorators: handlers can fire on a fixed interval, on startup, or in response to incoming messages, letting an agent run scheduled work or react to events. Each agent has a cryptographically secured identity and wallet, and messages between agents are signed, so identities and any associated assets are protected.
The framework is aimed at developers building multi-agent systems and agent-to-agent workflows. On startup, agents register on the Almanac, a smart contract on the Fetch.ai blockchain, which makes them discoverable to the wider network of uAgents; the project also connects to Fetch.ai's Agentverse marketplace and ASI:One ecosystem for cross-agent discovery and integration. A separate uagents-core package holds the lower-level definitions used to interoperate with that ecosystem. A minimal agent is created by instantiating Agent (optionally with a seed to fix its address) and calling run().
