dora-search
Easy grid searches for ML.
What it is and what it does
Dora is a command-line experiment manager designed for machine learning workflows. It lets you define grid searches in pure Python, automatically schedule and deduplicate experiments based on their argument signatures, and monitor progress from the terminal. The tool integrates with argparse, Hydra, and PyTorch Lightning, and can launch experiments locally or remotely via Slurm/Submitit.
You decorate your training script's main function with `@argparse_main` or `@hydra_main`, then create grid files that call a launcher repeatedly with different hyperparameter sets. Dora assigns each experiment a signature for deduplication, manages checkpointing and resumption, and provides a monitoring interface to track metrics and compare runs. It's built for researchers running many related experiments and needing to avoid redundant computation.
Use it for:
- Running systematic hyperparameter sweeps across a cluster without manually scheduling each job
- Automatically resuming interrupted experiments from checkpoints using experiment signatures
- Monitoring multiple concurrent ML training runs and comparing metrics in a terminal table
- Deduplicating experiments so requesting the same hyperparameters twice merges into one run
- Integrating experiment tracking into existing PyTorch Lightning or Hydra-based projects
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Dora is an experiment launching and management tool for machine learning projects that handles grid search scheduling, automatic deduplication of runs, and terminal-based monitoring of experiments.
Yes, but with caution. Dora is well-suited for researchers running grid searches on clusters and needing experiment deduplication and monitoring. However, the package is dormant (last release 2023-05-23, no recent commits), so expect no active maintenance or support for newer dependencies. Install only if your workflow matches its design and you can tolerate potential incompatibilities with recent library versions.
Install
dora-search on PyPI
pip
pip install dora-searchuv
uv add dora-searchpoetry
poetry add dora-searchInstalling dora-search
Before you install
Installation requires building from source with high friction. The package is dormant—last release was 2023-05-23 with no commits since 2023-10-05—so expect limited maintenance and no active bug fixes or updates.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions, making it suitable for most projects without legal concern.
Quickstart
pip install dora-search
from dora import argparse_main, get_xp
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--lr', type=float)
@argparse_main(dir='./outputs', parser=parser)
def main():
xp = get_xp()
print(f'Running with config: {xp.cfg}')
xp.link.push_metrics({'loss': 0.5})
High install friction due to source build requirement; requires Python >=3.7.0
Verify before relying
- Whether submitit dependency (required for remote job launching) is automatically installed or must be manually configured
- Current compatibility with modern Hydra versions beyond 1.1 mentioned in changelog
- Whether PyTorch Lightning integration still works with recent versions of that library
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7.0) |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | dormant — 1,179 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 177,883/month — #10,203 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dora_search-0.1.12.tar.gz
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
prefigureManages run configurations for machine learning…
permissive · top 15,000 on PyPI
clearml-agentClearML Agent is a job scheduler and…
permissive · top 15,000 on PyPI
hydra-optuna-sweeperIntegrates Optuna hyperparameter optimization…
permissive · top 15,000 on PyPI
clearmlClearML is an ML/DL development and production…
permissive · top 15,000 on PyPI
hydra-submitit-launcherIntegrates Hydra configuration framework with…
permissive · top 15,000 on PyPI
torchxTorchX is a universal job launcher that submits…
permissive · top 15,000 on PyPI
comet-mlComet ML is an experiment tracking and logging…
permissive · top 15,000 on PyPI
sagemaker-experimentsTracks machine learning experiments, trials,…
permissive · top 15,000 on PyPI
aimAim logs training runs and AI metadata, then…
permissive · top 15,000 on PyPI
hydra-coreHydra manages configuration for complex…
permissive · top 1,000 on PyPI