Skip to main content

End-user CLI for deploying apps to urun

Project description

urun CLI

Deploy Python apps to urun from your terminal.

PyPI Python

Install

uv tool install urun-cli
# or
pip install urun-cli

The package installs the urun command:

urun --version

For one-off uvx usage:

uvx --from urun-cli urun --version
# or the package-matching command alias
uvx urun-cli --version

Quick start

Set your API key:

export URUN_API_KEY=urun_<32hex>

Create app.py:

import urun
from urun import App

app = App("hello-h100")


@app.function(gpus="h100:1")
def hello(ctx: urun.Context):
    print(f"running on {ctx.device}")
    return {"device": str(ctx.device)}

Deploy it:

urun deploy app.py

The API key identifies your account on the server side. There is no separate org ID, login step, or local project setup for the v1 CLI.

What gets deployed

urun deploy creates a source manifest from your Python entrypoint:

Entrypoint Included source
urun deploy app.py app.py and local Python files it imports

Dependencies are declared in your urun app code. Project-level files such as pyproject.toml and requirements.txt are not uploaded as dependency declarations by the CLI.

Generated/cache content such as .git, dotfiles, __pycache__, and .pyc files is excluded. Add .urunignore to exclude additional paths.

Non-Python assets such as templates, static files, and data files are not auto-included yet.

Common options

Option Description
--name Override the derived app name.
--api-url Override the API URL; defaults to https://api.urun.sh/v1.
--api-key API key; prefer URUN_API_KEY to avoid shell history leaks.
--no-wait Finalize but do not poll for readiness.
--poll-interval, --timeout Control readiness polling.

Troubleshooting

Error Fix
missing API key Set URUN_API_KEY or pass --api-key.
invalid API key format Use urun_<32 lowercase hex chars>.
entrypoint not found Run from the project root or pass the entrypoint path.
path is outside the project root Move the file under the project before deploying.
Expected files are missing Import local Python files from app.py; non-Python assets are not auto-included yet.

Development

Contributing and test instructions are in CONTRIBUTING.md.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

urun_cli-0.1.0-1-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file urun_cli-0.1.0-1-py3-none-any.whl.

File metadata

  • Download URL: urun_cli-0.1.0-1-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for urun_cli-0.1.0-1-py3-none-any.whl
Algorithm Hash digest
SHA256 3807dc3ebbcfd1803ba7c561982521c5a3f74d95b96cfbb680924ab6e5ca54af
MD5 65aa3ac2577c047180488329825d6f8f
BLAKE2b-256 e0e7a00ba49c195a8a66f2dfc298d1807e8263c590e5a6c18b11082f367f2411

See more details on using hashes here.

Provenance

The following attestation bundles were made for urun_cli-0.1.0-1-py3-none-any.whl:

Publisher: release.yaml on urun-sh/urun-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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