Python
Run a Python project from GitHub, no virtualenv required.
Paste a link to a Python repository. pyrovue picks the Python version it asks for, installs its packages with the tool it uses, runs the migrations and starts the app, then gives you the live preview, a terminal and the files.
What it reads
The files a Python project already has.
- Python version.python-version · runtime.txt
- Boxes start on Python 3.11 in an active virtual environment, and switch to the version the repo pins.
- Packagespip · uv · Poetry · Pipenv
requirements*.txt,pyproject.toml,Pipfileandsetup.py, installed with the tool the repo uses, or with uv when that's quicker.- Imports under another namecv2 · PIL · yaml · …
- When an app fails on a module that isn't installed, the right package is added (
cv2isopencv-python-headless,PILisPillow) and the app is started again. - Native librariesDebian -dev packages
- A build that fails for a missing C header gets the system package that provides it, then retries.
- DatabasesPostgres · MySQL · Redis
- When a Compose file asks for them, they run inside the box and the app's settings point at them.
Frameworks
Started the way each one expects.
- Djangomanage.py migrate · runserver
- Migrations run before the first start, and the development server is opened to the preview.
- FastAPIuvicorn
- The ASGI app is found and served with uvicorn. The interactive docs at
/docsare in the preview. - Flaskflask run
- The app module is found and started on a port the preview can reach.
- Streamlit and Gradiostreamlit run · python app.py
- Dashboards and demos open in the preview the same way they would on your laptop, without the install.
- Scripts and CLIsthe terminal
- A package with no web app is installed and left ready in the terminal, so you can run it or its tests.
Limits
What won't run.
There are no GPUs, so CUDA code and model training won't run, and very large ML dependencies may not fit in 4 GB of memory on the free plan (Pro boxes have 8 GB). Notebook-only repositories are better served by Binder today. For anything pyrovue can't guess, a pyrovue.json file lists the setup commands, the start command and the port.
Tell it how
A FastAPI backend and a Vite frontend, in one box.
{
"setup": ["cd /workspace/backend && pip install -r requirements.txt", "npm install"],
"services": [{ "cwd": "backend", "start": "uvicorn main:app --port 8000", "port": 8000 }],
"cwd": "frontend",
"start": "npm run dev",
"port": 5173
}The backend starts in the background, the frontend is shown in the preview and reaches the API through its dev server's proxy. The support page has the full reference.
Questions
Asked often.
.python-version or runtime.txt; the runtime is fetched on demand. Without a pin, boxes use Python 3.11.pip install or uv pip install works as usual.environment.yml isn't read; a requirements.txt or pyproject.toml is.Run the repo you bookmarked and never tried.
Hobby is free and needs no card. Paste a link and your first box is up in about a minute.