datarobot-drum
DRUM - develop, test and deploy custom models
What it is and what it does
DRUM is a local development and testing tool for custom machine learning models that bridges the gap between model development and DataRobot deployment. It allows you to verify that Python, R, or Java models run correctly and make predictions before uploading them to DataRobot's platform. The tool operates in multiple modes: batch scoring for making predictions on CSV data, performance testing to measure latency and memory usage, and validation checks to test model robustness on edge cases like null values.
The package includes a prediction server mode for real-time inference, support for runtime parameters (credentials, URLs) loaded from YAML files, and Docker integration for containerized testing. It depends on a large ecosystem of standard data science and web libraries (numpy, pandas, flask, docker, gunicorn) plus DataRobot's own client and MLOps packages, making it tightly integrated with the DataRobot ecosystem. DRUM is designed for Linux and macOS; Windows users must use WSL.
Use it for:
- Validate a custom Python, R, or Java model locally before uploading to DataRobot for production deployment
- Measure model latency, throughput, and memory consumption under realistic batch-scoring workloads
- Test model behavior on edge cases and missing values to ensure it meets DataRobot's validation requirements
- Run batch predictions on CSV files locally for development and debugging without deploying to the cloud
- Generate model code templates and scaffolding for new custom models in Python, R, or Java
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
DRUM is a command-line tool for developing, testing, and deploying custom machine learning models written in Python, R, or Java before uploading them to DataRobot's platform.
Yes—install if you develop custom models for DataRobot. DRUM is actively maintained, has no known vulnerabilities, uses a permissive license, and supports current Python versions. The substantial dependency footprint is justified by its role as a full-featured model testing and serving tool. Not worth installing if you don't use DataRobot or need a general-purpose model server unrelated to DataRobot deployment.
Install
datarobot-drum on PyPI
pip
pip install datarobot-drumuv
uv add datarobot-drumpoetry
poetry add datarobot-drumInstalling datarobot-drum
Before you install
Installation is straightforward with low friction; the package is actively maintained with a recent release and supports current Python versions (3.8–3.12). The 30 runtime dependencies are substantial but standard for a model-serving tool.
License in practice
Licensed under Apache License 2.0 (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install datarobot-drum
# Score a regression model
drum score --code-dir ./model/ --input data.csv --target-type regression
# Run performance and memory tests
drum perf-test --code-dir ./model/ --input data.csv --target-type binary --positive-class-label yes --negative-class-label no
Linux or macOS required; Windows users must use WSL. Java models require JRE >= 11. R models require Python >= 3.6 and R framework installed.
Verify before relying
- Exact Python version support boundaries within the 3.8–3.12 range listed in classifiers
- Whether all 30 runtime dependencies are required for basic scoring or if some are optional for specific features
- Performance characteristics and typical latency for batch scoring on different dataset sizes
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | supports the current Python release (<3.15,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 30 — argcomplete, trafaret, docker, flask, jinja2, memory_profiler, numpy, pandas, progress, requests, scipy, strictyaml, PyYAML, texttable, Pillow, termcolor, packaging, markupsafe, pydantic, pytz, gevent, gunicorn, datarobot-storage, datarobot-mlops, datarobot, opentelemetry-api, opentelemetry-sdk, opentelemetry-exporter-otlp-proto-http, opentelemetry-instrumentation-aiohttp-client, opentelemetry-instrumentation-requests |
| Maintenance | actively maintained — 71 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 97,069/month — #13,171 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: datarobot_drum-1.17.18-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
datarobotA Python client library for programmatically…
unclear · top 15,000 on PyPI
datarobot-predictProvides a unified Python interface for making…
permissive · top 15,000 on PyPI
datarobot-genaiA toolkit for building and deploying AI agents…
permissive · top 15,000 on PyPI
datarobot-moderationsEnforces content moderation on LLM prompts and…
unclear · top 15,000 on PyPI
dartsDarts provides forecasting and anomaly…
permissive · top 15,000 on PyPI
sagemaker-serveProvides model serving and deployment…
permissive · top 5,000 on PyPI
pycaretPyCaret automates machine learning workflows by…
permissive · top 15,000 on PyPI
honchoHoncho runs and manages multiple processes…
permissive · top 5,000 on PyPI
grainGrain is a Python library for reading,…
permissive · top 5,000 on PyPI