Documentation | Try it Now | Blog
Encord Agents
Easily build agents for the Encord ecosystem. With just few lines of code, you can take automation to the next level.
python -m pip install encord-agents
Key features:
- ⚡ Easy: Multiple template agents to be adapted and hosted via GCP, own infra, or cloud.
- ⏩ Convenient: The library conveniently loads data via the Encord SDK upon request.
- 👨💻 Focused: With essential resources readily available, you can focus on what matters. Create agents with pre-existing (or custom) dependencies for loading labels and data.
- 🤏 Slim: the library is slim at it's
coreand should not conflict with the dependencies of most projects.
💡 For the full documentation and end-to-end examples, please see here.
For help choosing between an editor agent and a task agent, see the documentation.
Runnable examples — Colab notebooks, GCP, FastAPI, Modal and Celery deployments, and pre-built
containerised agents — live in examples/.
Here's how to build an Agent:
from uuid import UUID
from encord.objects.ontology_labels_impl import LabelRowV2
from encord_agents.tasks import Runner
runner = Runner(project_hash="<your_project_hash>")
@runner.stage("<your_agent_stage_uuid>")
def by_file_name(lr: LabelRowV2) -> UUID | None:
# Assuming the data_title is of the format "%d.jpg"
# and in the range [0; 100]
priority = int(lr.data_title.split(".")[0]) / 100
lr.set_priority(priority=priority)
return "<your_pathway_uuid>"
if __name__ == "__main__":
runner.run()
You can also inject dependencies:
from typing_extensions import Annotated
from encord.objects import LabelRowV2
from encord_agents.tasks import Runner, Depends
runner = Runner(project_hash="<your_project_hash>")
def my_custom_dependency(label_row: LabelRowV2) -> dict:
# e.g., look up additional data in own db
return db.query("whatever")
@runner.stage(stage="<my_stage_name>")
def by_custom_data(
custom_data: Annotated[dict, Depends(my_custom_dependency)]
) -> str:
# `custom_data` automatically injected here.
# ... do your thing
# then, return name of task pathway.
if __name__ == "__main__":
runner.run()
Please visit our 📖 Documentation for a complete reference to how to use the agents library.
Release files for encord-agents 0.2.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| encord_agents-0.2.10.tar.gz | 3.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| encord_agents-0.2.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.3 MB
Release files / encord_agents-0.2.10.tar.gz
| Download URL | encord_agents-0.2.10.tar.gz |
|---|---|
| Size | 3.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
04f419286e97ecadd2c58cae5e224a5d2e5dbd17b92d39dd8b6d0da1cde2ce52
|
|
BLAKE2b-256 checksum How to use checksums |
2d019048bd418f9bb57a7b40b77680edaa262ef72d0560367dc327535ac82e01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.12
|
Release files / encord_agents-0.2.10-py3-none-any.whl
| Download URL | encord_agents-0.2.10-py3-none-any.whl |
|---|---|
| Size | 85.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d74384d28beeeddbe855c6aa24f1020d5805ec36e202022c053fd4989d308733
|
|
BLAKE2b-256 checksum How to use checksums |
a7f34e2412dc20e4d0d3a22840df357c7002d1aeb040ee6307b541641c06632c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.12
|