uagents
A fast and lightweight framework for creating decentralized agents with ease.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.1%) to scientific vocabulary
Keywords
Repository
A fast and lightweight framework for creating decentralized agents with ease.
Basic Info
Statistics
- Stars: 1,474
- Watchers: 27
- Forks: 325
- Open Issues: 29
- Releases: 74
Topics
Metadata Files
README.md
uAgents: AI Agent Framework
uAgents is a library developed by Fetch.ai that allows for creating autonomous AI agents in Python. With simple and expressive decorators, you can have an agent that performs various tasks on a schedule or takes action on various events.
🚀 Features
- 🤖 Easy creation and management: Create any type of agent you can think of and implement it in code.
- 🔗 Connected: On startup, each agent automatically joins the fast-growing network of uAgents by registering on the Almanac, a smart contract deployed on the Fetch.ai blockchain.
- 🔒 Secure: uAgent messages and wallets are cryptographically secured, so their identities and assets are protected.
⚡ Quickstart
Installation
Get started with uAgents by installing it for Python 3.10 to 3.13:
pip install uagents
Running a Demo
Creating an Agent
Build your first uAgent using the following script:
python3
from uagents import Agent, Context
alice = Agent(name="alice", seed="alice recovery phrase")
Include a seed parameter when creating an agent to set fixed addresses, or leave it out to generate a new random address each time.
Giving it a task
Give it a simple task, such as a greeting:
```python3 @alice.oninterval(period=2.0) async def sayhello(ctx: Context): ctx.logger.info(f'hello, my name is {ctx.agent.name}')
if name == "main": alice.run() ```
Running the Agent
So far, your code should look like this:
```python3 from uagents import Agent, Context
alice = Agent(name="alice", seed="alice recovery phrase")
@alice.oninterval(period=2.0) async def sayhello(ctx: Context): ctx.logger.info(f'hello, my name is {ctx.agent.name}')
if name == "main": alice.run() ```
Run it using:
bash
python agent.py
You should see the results in your terminal.
📖 Documentation
Please see the official documentation for full setup instructions and advanced features.
- 👋 Introduction
- 💻 Installation
- Tutorials
- Key Concepts:
🌱 Examples and Integrations
The uAgent-Examples repository contains several examples of how to create and run various types of agents as well as more intricate integrations. This is the official place for internal and community open source applications built on uAgents.
Python Library
Go to the python folder for details on the Python uAgents library.
uAgents Core
The uagents-core folder contains core definitions and functionalities to build 'agent' like software which can interact and integrate with Fetch.ai ecosystem and agent marketplace.
✨ Contributing
All contributions are welcome! Remember, contribution includes not only code, but any help with docs or issues raised by other developers. See our contribution guidelines for more details.
📄 Development Guidelines
Read our development guidelines to learn some useful tips related to development.
❓ Issues, Questions, and Discussions
We use GitHub Issues for tracking requests and bugs, and GitHub Discussions for general questions and discussion.
🛡 Disclaimer
This project, uAgents, is provided "as-is" without any warranty, express or implied. By using this software, you agree to assume all risks associated with its use, including but not limited to unexpected behavior, data loss, or any other issues that may arise. The developers and contributors of this project do not accept any responsibility or liability for any losses, damages, or other consequences that may occur as a result of using this software.
License
The uAgents project is licensed under Apache License 2.0.
Owner
- Name: Fetch.AI
- Login: fetchai
- Kind: organization
- Website: https://fetch.ai
- Twitter: Fetch_ai
- Repositories: 40
- Profile: https://github.com/fetchai
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use uAgents in your research or project, please cite it as follows:" title: μAgents Library authors: - family-names: Fetch.ai date-released: "2022-09-28" url: "https://github.com/fetchai/uAgents" license: "Apache-2.0"
GitHub Events
Total
- Create event: 167
- Release event: 31
- Issues event: 39
- Watch event: 556
- Delete event: 141
- Member event: 5
- Issue comment event: 98
- Push event: 500
- Pull request review comment event: 177
- Pull request review event: 356
- Pull request event: 285
- Fork event: 99
Last Year
- Create event: 167
- Release event: 31
- Issues event: 39
- Watch event: 556
- Delete event: 141
- Member event: 5
- Issue comment event: 98
- Push event: 500
- Pull request review comment event: 177
- Pull request review event: 356
- Pull request event: 285
- Fork event: 99
Packages
- Total packages: 4
-
Total downloads:
- pypi 24,912 last-month
-
Total dependent packages: 9
(may contain duplicates) -
Total dependent repositories: 4
(may contain duplicates) - Total versions: 173
- Total maintainers: 4
pypi.org: uagents
Lightweight framework for rapid agent-based development
- Homepage: https://fetch.ai
- Documentation: https://fetch.ai/docs
- License: Apache 2.0
-
Latest release: 0.22.8
published 6 months ago
Rankings
Maintainers (3)
proxy.golang.org: github.com/fetchai/uAgents
- Documentation: https://pkg.go.dev/github.com/fetchai/uAgents#section-documentation
- License: apache-2.0
-
Latest release: v0.22.8
published 6 months ago
Rankings
proxy.golang.org: github.com/fetchai/uagents
- Documentation: https://pkg.go.dev/github.com/fetchai/uagents#section-documentation
- License: apache-2.0
-
Latest release: v0.22.8
published 6 months ago
Rankings
pypi.org: uagents-core
Core components for agent based systems
- Homepage: https://fetch.ai
- Documentation: https://fetch.ai/docs
- License: Apache 2.0
-
Latest release: 0.3.7
published 6 months ago
Rankings
Dependencies
- actions/cache v2 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- dorny/paths-filter v2 composite
- snok/install-poetry v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- async-timeout 4.0.3
- attrs 23.1.0
- bech32 1.2.0
- certifi 2023.7.22
- charset-normalizer 3.2.0
- click 8.1.7
- colorama 0.4.6
- cosmpy 0.9.1
- ecdsa 0.18.0
- frozenlist 1.4.0
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- idna 3.4
- jsonschema 4.19.0
- jsonschema-specifications 2023.7.1
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- protobuf 4.24.3
- pycryptodome 3.18.0
- pydantic 1.10.12
- python-dateutil 2.8.2
- referencing 0.30.2
- requests 2.31.0
- rpds-py 0.10.3
- six 1.16.0
- typing-extensions 4.7.1
- uagents 0.6.1
- urllib3 2.0.4
- uvicorn 0.20.0
- websockets 10.4
- yarl 1.9.2
- python >=3.10,<3.12
- requests ^2.31.0
- uagents *
- aiohttp 3.8.4
- aiosignal 1.3.1
- apispec 6.3.0
- asn1crypto 1.5.1
- async-timeout 4.0.2
- attrs 23.1.0
- bech32 1.2.0
- bip-utils 2.7.1
- blspy 2.0.2
- cachetools 5.3.1
- cbor2 5.4.6
- certifi 2023.5.7
- cffi 1.15.1
- charset-normalizer 3.2.0
- click 8.1.5
- coincurve 17.0.0
- colorama 0.4.6
- cosmpy 0.8.0
- crcmod 1.7
- dataclasses-json 0.5.14
- ecdsa 0.18.0
- ed25519-blake2b 1.4
- frozenlist 1.4.0
- google-api-core 2.11.1
- google-api-python-client 2.93.0
- google-auth 2.17.3
- google-auth-httplib2 0.1.0
- google-search-results 2.4.2
- googleapis-common-protos 1.59.1
- greenlet 2.0.2
- grpcio 1.51.1
- h11 0.14.0
- httplib2 0.22.0
- idna 3.4
- jsonschema 4.18.3
- jsonschema-specifications 2023.6.1
- langchain 0.0.149
- marshmallow 3.20.1
- msgpack 1.0.5
- multidict 6.0.4
- mypy-extensions 1.0.0
- numexpr 2.8.5
- numpy 1.25.2
- openai 0.27.8
- openapi-schema-pydantic 1.2.4
- packaging 23.1
- protobuf 4.23.4
- py-sr25519-bindings 0.2.0
- pyasn1 0.5.0
- pyasn1-modules 0.3.0
- pycparser 2.21
- pycryptodome 3.18.0
- pydantic 1.10.11
- pynacl 1.5.0
- pyparsing 3.1.0
- python-dateutil 2.8.2
- pyyaml 6.0.1
- referencing 0.29.1
- requests 2.31.0
- rpds-py 0.8.10
- rsa 4.9
- six 1.16.0
- sqlalchemy 2.0.20
- tenacity 8.2.3
- tqdm 4.66.1
- typing-extensions 4.7.1
- typing-inspect 0.9.0
- uagents 0.5.1
- uritemplate 4.1.1
- urllib3 2.0.3
- uvicorn 0.19.0
- websockets 10.4
- wheel 0.40.0
- yarl 1.9.2
- python >=3.10,<3.12
- requests ^2.31.0
- uagents *
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- async-timeout 4.0.3
- attrs 23.1.0
- bech32 1.2.0
- certifi 2023.7.22
- charset-normalizer 3.2.0
- click 8.1.7
- colorama 0.4.6
- cosmpy 0.9.1
- ecdsa 0.18.0
- frozenlist 1.4.0
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- idna 3.4
- jsonschema 4.19.0
- jsonschema-specifications 2023.7.1
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- protobuf 4.24.3
- pycryptodome 3.18.0
- pydantic 1.10.12
- python-dateutil 2.8.2
- referencing 0.30.2
- requests 2.31.0
- rpds-py 0.10.3
- six 1.16.0
- typing-extensions 4.7.1
- uagents 0.6.0
- urllib3 2.0.4
- uvicorn 0.20.0
- websockets 10.4
- yarl 1.9.2
- pydantic ^1.10.2
- python >=3.10,<3.12
- uagents *
- aiohttp 3.8.4
- aiosignal 1.3.1
- apispec 6.3.0
- asn1crypto 1.5.1
- async-timeout 4.0.2
- attrs 23.1.0
- bech32 1.2.0
- bip-utils 2.7.1
- blspy 2.0.2
- cachetools 5.3.1
- cbor2 5.4.6
- certifi 2023.5.7
- cffi 1.15.1
- charset-normalizer 3.2.0
- click 8.1.5
- coincurve 17.0.0
- colorama 0.4.6
- cosmpy 0.8.0
- crcmod 1.7
- dataclasses-json 0.5.9
- ecdsa 0.18.0
- ed25519-blake2b 1.4
- frozenlist 1.4.0
- google-api-core 2.11.1
- google-api-python-client 2.93.0
- google-auth 2.17.3
- google-auth-httplib2 0.1.0
- google-search-results 2.4.2
- googleapis-common-protos 1.59.1
- greenlet 2.0.2
- grpcio 1.51.1
- h11 0.14.0
- httplib2 0.22.0
- idna 3.4
- jsonschema 4.18.3
- jsonschema-specifications 2023.6.1
- langchain 0.0.149
- marshmallow 3.19.0
- marshmallow-enum 1.5.1
- msgpack 1.0.5
- multidict 6.0.4
- mypy-extensions 1.0.0
- numexpr 2.8.4
- numpy 1.25.1
- openai 0.27.8
- openapi-schema-pydantic 1.2.4
- packaging 23.1
- protobuf 4.23.4
- py-sr25519-bindings 0.2.0
- pyasn1 0.5.0
- pyasn1-modules 0.3.0
- pycparser 2.21
- pycryptodome 3.18.0
- pydantic 1.10.11
- pynacl 1.5.0
- pyparsing 3.1.0
- python-dateutil 2.8.2
- pyyaml 6.0
- referencing 0.29.1
- requests 2.31.0
- rpds-py 0.8.11
- rsa 4.9
- six 1.16.0
- sqlalchemy 2.0.19
- tenacity 8.2.2
- tqdm 4.65.0
- typing-extensions 4.7.1
- typing-inspect 0.9.0
- uagents 0.5.1
- uritemplate 4.1.1
- urllib3 2.0.3
- uvicorn 0.19.0
- websockets 10.4
- wheel 0.40.0
- yarl 1.9.2
- google-search-results ^2.4.2
- langchain ^0.0.149
- openai ^0.27.4
- python >=3.10,<3.12
- uagents *
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- async-timeout 4.0.3
- attrs 23.1.0
- bech32 1.2.0
- certifi 2023.7.22
- charset-normalizer 3.2.0
- click 8.1.7
- colorama 0.4.6
- cosmpy 0.9.1
- ecdsa 0.18.0
- frozenlist 1.4.0
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- idna 3.4
- jsonschema 4.19.0
- jsonschema-specifications 2023.7.1
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- protobuf 4.24.3
- pycryptodome 3.18.0
- pydantic 1.10.12
- python-dateutil 2.8.2
- referencing 0.30.2
- requests 2.31.0
- rpds-py 0.10.2
- six 1.16.0
- typing-extensions 4.7.1
- uagents 0.6.0
- urllib3 2.0.4
- uvicorn 0.20.0
- websockets 10.4
- yarl 1.9.2
- python >=3.10,<3.12
- requests ^2.31.0
- uagents *
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- asn1crypto 1.5.1
- async-timeout 4.0.2
- attrs 23.1.0
- bech32 1.2.0
- bip-utils 2.7.1
- blspy 2.0.2
- cachetools 5.3.1
- cbor2 5.4.6
- certifi 2023.5.7
- cffi 1.15.1
- charset-normalizer 3.2.0
- click 8.1.6
- coincurve 17.0.0
- colorama 0.4.6
- cosmpy 0.8.0
- crcmod 1.7
- ecdsa 0.18.0
- ed25519-blake2b 1.4
- frozenlist 1.4.0
- google-api-core 2.11.1
- google-api-python-client 2.94.0
- google-auth 2.17.3
- google-auth-httplib2 0.1.0
- googleapis-common-protos 1.59.1
- grpcio 1.51.1
- h11 0.14.0
- httplib2 0.22.0
- idna 3.4
- jsonschema 4.18.4
- jsonschema-specifications 2023.7.1
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- protobuf 4.23.4
- py-sr25519-bindings 0.2.0
- pyasn1 0.5.0
- pyasn1-modules 0.3.0
- pycparser 2.21
- pycryptodome 3.18.0
- pydantic 1.10.11
- pynacl 1.5.0
- pyparsing 3.1.0
- python-dateutil 2.8.2
- referencing 0.30.0
- requests 2.31.0
- rpds-py 0.9.2
- rsa 4.9
- six 1.16.0
- typing-extensions 4.7.1
- uagents 0.5.1
- uritemplate 4.1.1
- urllib3 2.0.4
- uvicorn 0.19.0
- websockets 10.4
- wheel 0.40.0
- yarl 1.9.2
- python >=3.10,<3.12
- uagents *
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- async-timeout 4.0.3
- attrs 23.1.0
- bech32 1.2.0
- certifi 2023.7.22
- charset-normalizer 3.2.0
- click 8.1.7
- colorama 0.4.6
- cosmpy 0.9.1
- ecdsa 0.18.0
- frozenlist 1.4.0
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- idna 3.4
- jsonschema 4.19.0
- jsonschema-specifications 2023.7.1
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- protobuf 4.24.3
- pycryptodome 3.19.0
- pydantic 1.10.12
- python-dateutil 2.8.2
- referencing 0.30.2
- requests 2.31.0
- rpds-py 0.10.3
- six 1.16.0
- typing-extensions 4.7.1
- uagents 0.6.1
- urllib3 2.0.4
- uvicorn 0.20.0
- websockets 10.4
- yarl 1.9.2
- python >=3.10,<3.12
- requests ^2.31.0
- uagents *
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- asn1crypto 1.5.1
- async-timeout 4.0.3
- attrs 23.1.0
- bech32 1.2.0
- bip-utils 2.7.1
- blspy 2.0.2
- cachetools 5.3.1
- cbor2 5.4.6
- certifi 2023.7.22
- cffi 1.15.1
- charset-normalizer 3.2.0
- click 8.1.7
- coincurve 17.0.0
- colorama 0.4.6
- cosmpy 0.8.0
- crcmod 1.7
- ecdsa 0.18.0
- ed25519-blake2b 1.4
- frozenlist 1.4.0
- google-api-core 2.11.1
- google-api-python-client 2.97.0
- google-auth 2.17.3
- google-auth-httplib2 0.1.0
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- httplib2 0.22.0
- idna 3.4
- jsonschema 4.19.0
- jsonschema-specifications 2023.7.1
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- pillow 10.0.0
- protobuf 4.24.2
- py-sr25519-bindings 0.2.0
- pyasn1 0.5.0
- pyasn1-modules 0.3.0
- pycparser 2.21
- pycryptodome 3.18.0
- pydantic 1.10.12
- pynacl 1.5.0
- pyparsing 3.1.1
- python-dateutil 2.8.2
- referencing 0.30.2
- requests 2.31.0
- rpds-py 0.10.0
- rsa 4.9
- six 1.16.0
- typing-extensions 4.7.1
- uagents 0.5.1
- uritemplate 4.1.1
- urllib3 2.0.4
- uvicorn 0.19.0
- websockets 10.4
- wheel 0.41.2
- yarl 1.9.2
- pillow ^10.0.0
- python >=3.10,<3.12
- requests ^2.31.0
- uagents *
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- async-timeout 4.0.3
- attrs 23.1.0
- bech32 1.2.0
- certifi 2023.7.22
- charset-normalizer 3.2.0
- click 8.1.7
- colorama 0.4.6
- cosmpy 0.9.1
- ecdsa 0.18.0
- frozenlist 1.4.0
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- idna 3.4
- jsonschema 4.19.0
- jsonschema-specifications 2023.7.1
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- protobuf 4.24.3
- pycryptodome 3.19.0
- pydantic 1.10.12
- python-dateutil 2.8.2
- referencing 0.30.2
- requests 2.31.0
- rpds-py 0.10.3
- six 1.16.0
- typing-extensions 4.8.0
- uagents 0.6.1
- urllib3 2.0.4
- uvicorn 0.20.0
- websockets 10.4
- yarl 1.9.2
- python >=3.10,<3.12
- requests ^2.31.0
- uagents *
- aioresponses 0.7.4 develop
- aiosqlite 0.17.0 develop
- astroid 2.15.4 develop
- black 23.3.0 develop
- dill 0.3.6 develop
- exceptiongroup 1.1.1 develop
- geographiclib 2.0 develop
- geopy 2.3.0 develop
- ghp-import 2.1.0 develop
- importlib-metadata 6.6.0 develop
- iniconfig 2.0.0 develop
- iso8601 1.1.0 develop
- isort 5.12.0 develop
- jinja2 3.1.2 develop
- lazy-object-proxy 1.9.0 develop
- markdown 3.3.7 develop
- markupsafe 2.1.2 develop
- mccabe 0.7.0 develop
- mergedeep 1.3.4 develop
- mkdocs 1.4.3 develop
- mkdocs-material 9.1.13 develop
- mkdocs-material-extensions 1.1.1 develop
- mypy-extensions 1.0.0 develop
- pathspec 0.11.1 develop
- platformdirs 3.5.0 develop
- pluggy 1.0.0 develop
- pygments 2.15.1 develop
- pylint 2.17.3 develop
- pymdown-extensions 10.0.1 develop
- pyngrok 5.2.3 develop
- pypika-tortoise 0.1.6 develop
- pytest 7.3.1 develop
- pytz 2023.3 develop
- pyyaml 6.0 develop
- pyyaml-env-tag 0.1 develop
- regex 2023.5.5 develop
- tomli 2.0.1 develop
- tomlkit 0.11.8 develop
- tortoise-orm 0.19.3 develop
- watchdog 3.0.0 develop
- wrapt 1.15.0 develop
- aiohttp 3.8.4
- aiosignal 1.3.1
- apispec 6.3.0
- async-timeout 4.0.2
- attrs 23.1.0
- bech32 1.2.0
- certifi 2022.12.7
- charset-normalizer 3.1.0
- click 8.1.3
- colorama 0.4.6
- cosmpy 0.9.1
- ecdsa 0.18.0
- frozenlist 1.3.3
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- idna 3.4
- importlib-resources 5.12.0
- jsonschema 4.17.3
- msgpack 1.0.5
- multidict 6.0.4
- packaging 23.1
- pkgutil-resolve-name 1.3.10
- protobuf 4.22.4
- pycryptodome 3.18.0
- pydantic 1.10.7
- pyrsistent 0.19.3
- python-dateutil 2.8.2
- requests 2.30.0
- six 1.16.0
- typing-extensions 4.5.0
- urllib3 2.0.2
- uvicorn 0.20.0
- websockets 10.4
- yarl 1.9.2
- zipp 3.15.0
- aioresponses ^0.7.4 develop
- black ^23.1.0 develop
- mkdocs ^1.4.2 develop
- mkdocs-material ^9.1.13 develop
- pylint ^2.15.3 develop
- pytest ^7.1.3 develop
- aiohttp ^3.8.3
- apispec ^6.0.2
- bech32 ^1.2.0
- cosmpy ^0.9.1
- ecdsa ^0.18.0
- msgpack ^1.0.4
- pydantic ^1.10.2
- python >=3.8,<3.12
- uvicorn ^0.20.0
- websockets ^10.4
- aiohttp 3.8.5
- aiosignal 1.3.1
- apispec 6.3.0
- async-timeout 4.0.3
- attrs 23.1.0
- bech32 1.2.0
- certifi 2023.7.22
- charset-normalizer 3.2.0
- click 8.1.7
- colorama 0.4.6
- cosmpy 0.9.1
- ecdsa 0.18.0
- frozenlist 1.4.0
- googleapis-common-protos 1.60.0
- grpcio 1.51.1
- h11 0.14.0
- idna 3.4
- jsonschema 4.19.1
- jsonschema-specifications 2023.7.1
- msgpack 1.0.6
- multidict 6.0.4
- packaging 23.1
- protobuf 4.24.3
- pycryptodome 3.19.0
- pydantic 1.10.12
- python-dateutil 2.8.2
- referencing 0.30.2
- requests 2.31.0
- rpds-py 0.10.3
- six 1.16.0
- typing-extensions 4.8.0
- uagents 0.6.2
- urllib3 2.0.5
- uvicorn 0.20.0
- websockets 10.4
- yarl 1.9.2
- python >=3.10,<3.12
- requests ^2.31.0
- uagents *