Skip to main content

DantaLabs SDK collection (featuring Maestro)

Project description

DantaLabs SDK

The DantaLabs SDK bundles the dlm command line tool and the MaestroClient Python library so that you can deploy, operate, and automate agents on the Maestro platform from one package.

Documentation

  • dantalabs/docs/content/introduction.mdx ships with the package and mirrors the public documentation entry point.
  • dantalabs/cli contains the Typer application behind dlm and is the best place to explore command behaviour.
  • dantalabs/maestro/client.py exposes the Python client surface area, including resource helpers, service deployment utilities, and managed memory support.

Installation

pip install --upgrade dantalabs

# latest development build
pip install git+https://github.com/DantaLabs/maestro-sdk.git

Python 3.8 or newer is required.

Quick Start

1. Configure credentials

dlm setup
dlm status

# non-interactive environments
export MAESTRO_API_URL="https://dantalabs.com"
export MAESTRO_ORGANIZATION_ID="<org-id>"
export MAESTRO_AUTH_TOKEN="<token>"

You can override any stored value per command with --url, --org-id, or --token.

2. Deploy through the unified pipeline

dlm deploy ./agents/document-worker \
  --name "document-worker" \
  --agent-type script \
  --service

dlm deploy packages your project into a temporary bundle, uploads it, and optionally deploys the resulting agent as a managed Knative service. Use:

  • --no-service to keep the definition without rolling out a service
  • --definition-only to skip creating an agent instance
  • --schema-file path/to/schema.json to attach JSON schema metadata

3. Call Maestro from Python

from dantalabs.maestro import MaestroClient

client = MaestroClient(
    organization_id="<org-id>",
    base_url="https://dantalabs.com",
    token="<token>",
)

agents = client.list_agents()
result = client.execute_agent_code_sync({"message": "Hello"}, agent_id=agents[0].id)

Managed memory, agent databases, file uploads, and network generation helpers are available through the same client instance.

CLI Highlights

  • Essentials: dlm setup, dlm status, dlm version, dlm set-url
  • Agents: dlm list-agents, dlm list-definitions, dlm create-agent, dlm update-agent, dlm use-agent, dlm run-agent
  • Services: dlm service deploy, dlm service deployment-status, dlm service logs, dlm service execute, dlm service proxy
  • Managed databases: dlm agentdb list, dlm agentdb inspect --show-connection, dlm agentdb connect --print-only
  • Starters: dlm init clones the latest templates and dlm list-templates enumerates what is available

Every command accepts the standard authentication overrides (--org-id, --url, --token).

Python Client Highlights

  • One MaestroClient instance exposes agents, executions, networks, files, and utils resource managers (dantalabs/maestro/resources).
  • execute_agent_code(...) and execute_agent_code_sync(...) run script agents directly; deploy_service(...) launches Knative services programmatically.
  • client.list_agent_databases(...), client.get_database_connection_info(...), and other helpers surface the managed PostgreSQL databases that back each agent.
  • client.get_managed_memory(...) returns a dictionary-like object that persists state back to Maestro automatically when auto_save=True.
  • File uploads (upload_file) and network scaffolding (generate_network) are available for enriching agent workflows.

Legacy Bundle Utilities (deprecated)

The CLI will continue to ship legacy bundle helpers for a short period to ease migration, but the unified deployment pipeline replaces the old workflows:

  • dlm create-bundle, dlm upload-bundle, dlm deploy-bundle, dlm update-bundle, and dlm download-definition-bundle
  • MaestroClient.create_bundle, upload_agent_bundle, create_and_upload_bundle, and related helpers in dantalabs/maestro/bundles

Prefer dlm deploy (or the /api/v1/agents/deploy endpoint) for new automation.

Development

Local development requires:

  • Python >= 3.8
  • httpx, pydantic, typer, python-dotenv, PyYAML, tomli (Python < 3.11), psycopg

Clone the repository, install dependencies into a virtualenv, and run the CLI with python -m dantalabs.cli for local testing.

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

dantalabs-0.2.0.tar.gz (54.3 kB view details)

Uploaded Source

Built Distribution

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

dantalabs-0.2.0-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file dantalabs-0.2.0.tar.gz.

File metadata

  • Download URL: dantalabs-0.2.0.tar.gz
  • Upload date:
  • Size: 54.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for dantalabs-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4b9c81f3202f9fab3ff7dd787eb74b501b01274b7061a37227a9471ade4072e3
MD5 b085955ae53d6249acb648fab2cf96dc
BLAKE2b-256 85d6589b0c34692eab1fb9ca4e79570ee7b79552da70449fce0ba2f52bfa8eef

See more details on using hashes here.

File details

Details for the file dantalabs-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dantalabs-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 67.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for dantalabs-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 feb749b1c2e237a7bd3c5c646bd6111b1489740c06776b5933ef080b538aba38
MD5 178ac70fafdaf7f6f1feff43e54b1d00
BLAKE2b-256 d48a4d3888e5941d369373e400860d02e9f3a02459e3a3a3d3a29d091ba7f944

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