DataRobot GenAI Library
A toolkit for building agents on DataRobot.
- Unified LLM layer (DataRobot-compatible)—one
get_llm()entry point per integration (LangGraph, LlamaIndex, CrewAI, NAT), all backed by the same LiteLLM-based routing to the DataRobot LLM Gateway, LLM deployments, NIM, or external providers. - Library of agentic tools and DataRobot-compatible MCP server—use
drtoolsanddrmcpto give agents first-class capabilities to interact with the world. - AG-UI integration—agents expose a standard AG-UI event stream (
RunAgentInputin, lifecycle + text + tool-call events out), so UIs and the DataRobot platform render runs consistently without bespoke adapters per framework. - Multi-agent systems out of the box—first-class patterns for planner/writer crews, LangGraph multi-node graphs, and LlamaIndex
AgentWorkflowhandoffs; wrap them with one helper and keep the same streaming contract. - Orchestration—build agents from universal pieces in the low-code
workflow.yamlinterface. Combine and reuse LLMs, tools, agents, and evaluators. The design stays compatible with and draws inspiration from NeMo Agentic Toolkit. - Serving and evaluating with DRAgent—run a front-end server to plug an agent into a real-world application. DRAgent supports distributed tracing, generation and evaluation endpoints, and async generations.
Table of contents
Use
Prerequisites
The following requirements apply before installing or running samples:
| Requirement | Notes |
|---|---|
| Python 3.11–3.13 | Required for all installs |
| DataRobot account | Required for gateway, deployments, MCP, and platform features |
| Agent framework extra | One of crewai, langgraph, or llamaindex; use dragent for NAT/DRAgent |
For local development, also install uv, Task, and pre-commit.
Installation
Requires Python 3.11–3.13. Install the extra that matches the target framework:
pip install "datarobot-genai[crewai]"
pip install "datarobot-genai[langgraph]"
pip install "datarobot-genai[llamaindex]"
pip install "datarobot-genai[dragent]"
Optional extras:
datarobot-genai[dragent]—serve and orchestrate agents withDRAgent.datarobot-genai[drtools]—use the standard library of agentic tools DataRobot provides.datarobot-genai[drmcpbase]—Base class to derive FastMCP servers.datarobot-genai[drmcputils]—shared MCP utilities consumed bydrmcpbaseanddrtools.datarobot-genai[drmcp]—host a custom MCP server in DataRobot (includesdrmcpbase,drtools, and template-server dependencies).datarobot-genai[eval]—agent evaluation utilities built on the NeMo Evaluator launcher.
Credentials
A DataRobot account is required for DataRobot-backed features. Export these environment variables:
# Set the DataRobot API token (replace the placeholder).
export DATAROBOT_API_TOKEN=YOUR_DATAROBOT_API_TOKEN
export DATAROBOT_ENDPOINT=https://app.datarobot.com/api/v2
Standalone end-to-end examples
Follow quickstart.ipynb to walk through setting up a LangGraph agent with DataRobot:
- LLM Gateway
drtools- Prompt Management
- Conversion to DataRobot agent format
- Running the agent with an AG-UI interface.
In-depth documentation
See docs/README.md for in-repo guides on every framework and feature in datarobot-genai. The published site is at genai.datarobot.com.
Develop
Requires Python 3.11–3.13, uv, Task CLI, and pre-commit.
uv sync --all-extras --dev
pre-commit install
task test
Semantic versioning
Bump the patch version and add an entry to CHANGELOG.md for each library change.
Bump the minor version for backward-incompatible changes.
TestPyPI
Comment /build on a PR to build and publish a dev version of the package to TestPyPI.
Excluded upstream dependencies
Several transitive dependencies pulled in by upstream packages are not used by this library at runtime.
These are explicitly excluded via [tool.uv] exclude-dependencies in pyproject.toml to reduce install size and CVE surface area.
| Package | Pulled in by | Reason excluded |
|---|---|---|
build |
crewai |
Python build system; runtime unnecessary |
flask |
nvidia-nat 1.6.0 |
Web framework; not used |
kubernetes |
crewai-tools |
K8s client; not used |
lancedb |
crewai |
Optional vector DB backend; not used |
langchain-milvus |
nvidia-nat-langchain |
Milvus vector DB adapter; not used |
leptonai |
nemo-evaluator-launcher |
Lepton AI cloud backend; not used, pins httpx==0.27.2 which conflicts with the auth extra |
llama-index-cli |
llama-index |
CLI tool; not needed at runtime |
openpyxl |
crewai-tools |
Excel parser; not used |
pymilvus |
langchain-milvus |
Milvus client; not used |
python-docx |
crewai-tools |
Word doc parser; not used |
pytube |
crewai-tools |
YouTube downloader; not used |
stagehand |
crewai-tools |
Playwright web automation; not used |
uv |
crewai |
Package manager bundled as a runtime dep; not needed |
youtube-transcript-api |
crewai-tools |
YouTube transcripts; not used |
Troubleshooting
Common setup and runtime issues and where to find answers:
| Symptom | Where to look |
|---|---|
| LLM auth or routing errors | docs/src/llm.md — verify DATAROBOT_API_TOKEN and gateway flags |
| MCP tools missing at runtime | Framework MCP guides under docs/README.md — merge injected tools with local tools |
| DRAgent tracing empty | docs/src/dragent/tracing.md — OTLP env vars and instrument() in register.py |
| E2E test failures locally | e2e-tests/README.md |
Next steps
After installation, continue with these resources:
- Pick a framework guide from docs/README.md and start from the matching sample under
e2e-tests/dragent/. - Read DRAgent CLI for
serve,run, andquery. - Browse the API reference on the published docs site.
Publishing
Release and distribution options for the package.
- Same-repo PRs—comment
/buildon a PR to publish dev builds to TestPyPI (.devN). - Merge to
main—the release flow creates tagv{version}and publishes to PyPI automatically. - Version tags—pushing a
v*tag also triggers PyPI publish. - Local release—optionally run
task release:tag-and-pushto create and pushv{version}locally.
Contributing and support
See CONTRIBUTING.md for issue guidelines, changelog expectations, and versioning. Report bugs via GitHub Issues. For security issues, email oss-community-management@datarobot.com.
Links
External references for the package and source repository:
- Repository—source and issues.
- PyPI—released packages.
- TestPyPI—dev builds.
License
Apache-2.0—see LICENSE.
Metadata
Release files for datarobot-genai 0.29.64
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| datarobot_genai-0.29.64.tar.gz | 632.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datarobot_genai-0.29.64-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / datarobot_genai-0.29.64.tar.gz
| Download URL | datarobot_genai-0.29.64.tar.gz |
|---|---|
| Size | 632.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9d7522e9802dbf47a029e93e540c129e32014e49c5aef4f9e6bcbeed1c2d0bd
|
|
BLAKE2b-256 checksum How to use checksums |
945d58b1d1c1e2cfcaece07f181d0ac138bc535eb18d6ba8d4e714a5088b371c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / datarobot_genai-0.29.64-py3-none-any.whl
| Download URL | datarobot_genai-0.29.64-py3-none-any.whl |
|---|---|
| Size | 887.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fa03dba308d7d7d0991ef30c9abd9011c8ea2ed1f68dd1a531dbcf0159438256
|
|
BLAKE2b-256 checksum How to use checksums |
2ceef8ea83047b10ac73022ea2f2a28e40dfb079e43873a68bbd373b9495f02f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|