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.mdxships with the package and mirrors the public documentation entry point.dantalabs/clicontains the Typer application behinddlmand is the best place to explore command behaviour.dantalabs/maestro/client.pyexposes 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-serviceto keep the definition without rolling out a service--definition-onlyto skip creating an agent instance--schema-file path/to/schema.jsonto 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 initclones the latest templates anddlm list-templatesenumerates what is available
Every command accepts the standard authentication overrides (--org-id, --url, --token).
Python Client Highlights
- One
MaestroClientinstance exposesagents,executions,networks,files, andutilsresource managers (dantalabs/maestro/resources). execute_agent_code(...)andexecute_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 whenauto_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, anddlm download-definition-bundleMaestroClient.create_bundle,upload_agent_bundle,create_and_upload_bundle, and related helpers indantalabs/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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b9c81f3202f9fab3ff7dd787eb74b501b01274b7061a37227a9471ade4072e3
|
|
| MD5 |
b085955ae53d6249acb648fab2cf96dc
|
|
| BLAKE2b-256 |
85d6589b0c34692eab1fb9ca4e79570ee7b79552da70449fce0ba2f52bfa8eef
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
feb749b1c2e237a7bd3c5c646bd6111b1489740c06776b5933ef080b538aba38
|
|
| MD5 |
178ac70fafdaf7f6f1feff43e54b1d00
|
|
| BLAKE2b-256 |
d48a4d3888e5941d369373e400860d02e9f3a02459e3a3a3d3a29d091ba7f944
|