Skip to main content

A framework for producing custom agents for the Encord ecosystem.

Project description

Documentation | Try it Now | Blog | Join our Community

Encord logo

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:

  1. Easy: Multiple template agents to be adapted and hosted via GCP, own infra, or cloud.
  2. Convenient: The library conveniently loads data via the Encord SDK upon request.
  3. 👨‍💻 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.
  4. 🤏 Slim: the library is slim at it's core and should not conflict with the dependencies of most projects.

💡 For the full documentation and end-to-end examples, please see here.

Here are some use-cases:

Decision tree for which agent to use

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.

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

encord_agents-0.1.9.tar.gz (46.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

encord_agents-0.1.9-py3-none-any.whl (58.6 kB view details)

Uploaded Python 3

File details

Details for the file encord_agents-0.1.9.tar.gz.

File metadata

  • Download URL: encord_agents-0.1.9.tar.gz
  • Upload date:
  • Size: 46.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.6 Linux/6.8.0-1021-azure

File hashes

Hashes for encord_agents-0.1.9.tar.gz
Algorithm Hash digest
SHA256 bc6c3b89e918da2d96c10f0ef647d923e228dbd70ca45696eb2b1a4be5c8be7e
MD5 1a078d055b8ca22165cc0334f331d17a
BLAKE2b-256 3ab09ab98d70b27058db4dd03ffc3f0d8c3bf41eca678516ec1c8bd86b5c468c

See more details on using hashes here.

File details

Details for the file encord_agents-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: encord_agents-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 58.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.6 Linux/6.8.0-1021-azure

File hashes

Hashes for encord_agents-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 974cab35d87bdae5907241c096f472f0d95b020ab95e2a6ddb4705ac2320396b
MD5 9c0a8635e5ae10afc2f7d4122bbffe20
BLAKE2b-256 30d5dff693917ab10ef4eb46a85e0b58321fc44b7b9a10752ef152a570414a6f

See more details on using hashes here.

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