Skip to main content

Task management for AI agents

Project description


Taskara

Task management for AI agents
Explore the docs »

View Demo · Report Bug · Request Feature


Installation

pip install taskara

Usage

Create a task

from taskara import Task

task = Task(
    description="Search for the most common varieties of french ducks",
    owner_id="delores@agentsea.ai"
)

Assign the task to an agent

task.assigned_to = "roko@agentsea.ai"

Post a message to the task thread

task.post_message("assistant", "Getting started working on this")
task.status = "in progress"

Create a custom thread for the task

task.create_thread("debug")
task.post_message("assistant", "I'll post debug messages to this thread", thread="debug")
task.post_message("assistant", 'My current screenshot', images=["b64img"], thread="debug")

Store prompts used to accomplish the task

thread = RoleThread()
thread.post(role="system", msg="I am a helpful assistant")

response = RoleMessage(
    role="assistant",
    text="How can I help?"
)
task.store_prompt(thread, response, namespace="actions")

Store the result

task.output = "The most common type of french duck is the Rouen"
task.status = "success"

Save the task

task.save()

Tracker

Taskara comes with a task tracker server which can be run on docker or kubernetes.

Install surfkit to create a tracker

pip install surfkit

Create a tracker

surfkit create tracker

List trackers

surfkit list trackers

Get tracker logs

surfkit logs tracker <name>

Create a task

surfkit create task --description "Search for french ducks"

List tasks

surfkit list tasks

Get a task

surfkit get task <id>

Integrations

Taskara is integrated with:

  • Surfkit A platform for AI agents
  • MLLM A prompt management, routing, and schema validation library for multimodal LLMs
  • Skillpacks A library to fine tune AI agents on tasks.
  • Threadmem A thread management library for AI agents

Community

Come join us on Discord.

Backends

Thread and prompt storage can be backed by:

  • Sqlite
  • Postgresql

Sqlite will be used by default. To use postgres simply configure the env vars:

DB_TYPE=postgres
DB_NAME=tasks
DB_HOST=localhost
DB_USER=postgres
DB_PASS=abc123

Thread image storage by default will utilize the db, to configure bucket storage using GCS:

  • Create a bucket with fine grained permissions
  • Create a GCP service account JSON with permissions to write to the bucket
export THREAD_STORAGE_SA_JSON='{
  "type": "service_account",
  ...
}'
export THREAD_STORAGE_BUCKET=my-bucket

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskara-0.1.118.tar.gz (42.6 kB view hashes)

Uploaded Source

Built Distribution

taskara-0.1.118-py3-none-any.whl (51.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page