Skip to main content

Automatically set up and run any GitHub repository using AI-powered dependency resolution

Project description

runr

Automatically set up and run any GitHub repository using AI-powered dependency resolution.

runr https://github.com/karpathy/nanoGPT

That's it. runr clones the repo, reads every dependency file, resolves conflicts via an LLM, creates an isolated virtual environment, installs everything, and runs the project — self-healing up to 5 times if anything goes wrong.


Install

pip install runr
# or, for latest:
pip install git+https://github.com/runr-cli/runr

Requires Python 3.10+. Optionally install uv for faster installs:

pip install uv

Setup

Set your Groq API key (get one free at console.groq.com):

export GROQ_API_KEY=gsk_...

Usage

# Run a GitHub repo
runr https://github.com/karpathy/nanoGPT

# Run a local repo
runr ./my_local_project

# Force Python version
runr https://github.com/user/repo --python 3.11

# CPU-only (skip CUDA deps)
runr https://github.com/user/repo --no-gpu

# Preview plan without running
runr https://github.com/user/repo --dry-run

# Override entry point
runr https://github.com/user/repo --entry src/train.py

# Verbose (shows install logs + resolved requirements)
runr https://github.com/user/repo --verbose

# Private repo
runr https://github.com/org/private-repo --token ghp_...
# or set GITHUB_TOKEN env var

What happens

◆ runr v0.1.0

● Cloning karpathy/nanoGPT...         ✓  (2.3s)
● Detecting dependencies...           ✓  14 imports detected, 2 dep files
● Environment: Python 3.11.9, Darwin arm64, CPU only
● Resolving conflicts...              ✓  12 packages resolved
● Creating environment & installing...✓  installed via uv in 18.4s
● Entry point: python train.py

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[live repo output streams here]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✓ Successfully completed after 1 attempt(s)

If the run fails, runr self-heals:

✗ Run failed (attempt 1/5)
  Error: No module named 'flash_attn'

◆ Healing...
  → pip install flash-attn==2.3.0
  Installing flash-attn compatible with CUDA 12.1

✓ Fix applied
● Retrying... ✓ Success

How it works

Step Module What it does
Clone cli.py Clones to a temp directory; never touches your original files
Detect detector.py Reads requirements.txt, setup.py, pyproject.toml, environment.yml, Dockerfile, scans .py imports
Resolve resolver.py Sends everything to Groq llama-3.3-70b-versatile; gets back a pinned requirements.txt
Install installer.py Creates venv via uv venv (falls back to python -m venv), installs pinned deps
Run runner.py Streams live output; on failure passes error to healer
Heal healer.py LLM returns a structured fix: install package / modify file / set env var

Caching

Resolved requirements are cached in ~/.runr/cache/ keyed by a SHA-256 hash of all dependency files. Same repo + same deps = instant resolution skip. Use --no-cache to force a fresh resolve.

Logs

Full logs are written to ~/.runr/logs/<repo>_<timestamp>.log.

Environment detection

runr automatically detects:

  • Python version and OS/arch
  • CUDA version (nvcc --version, nvidia-smi)
  • GPU presence
  • Already-installed packages (avoids re-pinning what's there)

Supported dependency files

  • requirements.txt
  • requirements-dev.txt
  • setup.py
  • setup.cfg
  • pyproject.toml
  • environment.yml (conda)
  • Dockerfile (extracts RUN pip install lines)
  • Implicit imports scanned from all .py files

Error handling

Error How runr handles it
torch CUDA mismatch Detects CUDA version, installs correct +cu* build
Package not on PyPI LLM skips or finds alternative
Python version mismatch Reads requires-python, suggests correct version
Missing system deps Prints human-readable install instructions
Private repo Prompts for --token or GITHUB_TOKEN
Notebook-only repo Launches jupyter notebook

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runr_ai-0.1.0.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runr_ai-0.1.0-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file runr_ai-0.1.0.tar.gz.

File metadata

  • Download URL: runr_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for runr_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5a241e62dbe650be96378a15118709b2531ea0c94f1ef3f38a13bb22f0c0f7ac
MD5 b6932c9c2b490a89db81f85375cdcfc8
BLAKE2b-256 a8514395bafaa2e2fb94059006a862c98e612b8ae0225e957a1d832c72cf0841

See more details on using hashes here.

File details

Details for the file runr_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: runr_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for runr_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f781eae0078e7f16895ece2aa7917e64702bead474bf9fbeab66ba7a9ffa7e15
MD5 98007431d0a6fda1d0e7515bd1939472
BLAKE2b-256 585a20eca434a49932f0dcc1c0ea868acbdc257dd2c51d8523438251584f2bb6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page