DataRobot GenAI Library
A toolkit for building agents on DataRobot.
- Unified LLM layer (DataRobot-compatible)—you use 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 your agent first-class capabilities to interact with the world. - AG-UI integration—your agents expose a standard AG-UI event stream (
RunAgentInputin, lifecycle + text + tool-call events out), so your UIs and the DataRobot platform render runs consistently without bespoke adapters per framework. - Multi-agent systems out of the box—you get 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—you 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—you run a front-end server to plug your agent into a real-world application. DRAgent supports distributed tracing, generation and evaluation endpoints, async generations, and two-way communication over WebSockets.
Use
Installation
- You need Python 3.11–3.13.
- Install the extra that matches the framework you use:
pip install "datarobot-genai[crewai]"
pip install "datarobot-genai[langgraph]"
pip install "datarobot-genai[llamaindex]"
pip install "datarobot-genai[nat]"
You can also install:
datarobot-genai[dragent]—serve and orchestrate your agent 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
You need a DataRobot account to use DataRobot-backed features. Export these environment variables:
# Set your 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 an experience of setting 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 genai.datarobot.com for guides on every framework and feature in datarobot-genai.
Develop
You need Python 3.11–3.13, uv, Task CLI, and pre-commit.
uv sync --all-extras --dev
pre-commit install
task test
Semantic versioning
When you change the library, bump the patch version and add an entry to CHANGELOG.md.
When you introduce a backward-incompatible change, bump the minor version.
TestPyPI
Comment /build on your 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 |
Publishing
- Same-repo PRs—comment
/buildon your PR to publish dev builds to TestPyPI (.devN). - Merge to
main—the release flow creates tagv{version}and publishes to PyPI automatically. - Version tags—when you push a
v*tag, PyPI publish runs as well. - Local release—optionally run
task release:tag-and-pushto create and pushv{version}from your machine.
Links
- Repository—source and issues.
- PyPI—released packages.
- TestPyPI—dev builds.
License
Apache-2.0—see LICENSE.
Metadata
Release files for datarobot-genai 0.29.45
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.45.tar.gz | 625.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datarobot_genai-0.29.45-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / datarobot_genai-0.29.45.tar.gz
| Download URL | datarobot_genai-0.29.45.tar.gz |
|---|---|
| Size | 625.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2cc3d781bcf4dbea712bea0ad25a5e7214b1fac41ba4685c5bbddbe1b1121f1a
|
|
BLAKE2b-256 checksum How to use checksums |
f360dd9a91c7d5b463f79a7fcd4bf9f6638ad1269ecafac0b099f176c56c429a
|
| 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.45-py3-none-any.whl
| Download URL | datarobot_genai-0.29.45-py3-none-any.whl |
|---|---|
| Size | 880.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5a36bb369b04c7dbda9b379887f5b73d3588b3189c4b3cf44ed2a2cf348d4a7
|
|
BLAKE2b-256 checksum How to use checksums |
0c19fed0e9998aa963ab8afbc1e8207b397b94af07d8356f683d0c3c7a87f373
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|