Skip to main content

Run multiple shell commands concurrently with readable, prefixed output.

Project description

Table of Contents
  1. About
  2. Quick Start
  3. Usage
  4. Development
  5. Contributing
  6. License

About

useRun (userun) is a Python CLI that runs multiple shell commands concurrently and keeps the output readable with prefixed lines (names and optional colors). It gives you:

  • Parallel execution - Run multiple commands at the same time
  • Named prefixes - Label output with names and optional colors
  • Custom prefixes - Format prefixes with index, name, or label
  • Failure handling - Optionally stop remaining commands on first failure
  • Shell control - Choose the shell and ANSI color passthrough

(back to top)

Quick Start

Install userun with uv (recommended)

uv add userun

Install with pip (alternative)

pip install userun

Run commands concurrently

userun concurrent -n server,lint,test "python3 -m http.server 8000" "uv run poe lint" "uv run poe test"

Each command runs in parallel and output is prefixed with its name.

(back to top)

Usage

Run Commands Concurrently

userun concurrent "echo one" "echo two"

Named and Colored Prefixes

userun concurrent -n api,web -c blue,green "uv run api" "uv run web"

Custom Prefix Format

userun concurrent -p "[{label}]" "make build" "make test"

Stop Others on Failure

userun concurrent --kill-others "make build" "make test"

Shell Selection

userun concurrent --shell "bash -lc" "echo $SHELL" "echo hi"

Disable Prefixes or Colors

userun concurrent --no-prefix --no-color "make build" "make lint"
userun concurrent --no-subprocess-color "uv run pytest" "uv run ruff check ."

Available Commands

concurrent (conc)  Run multiple commands concurrently
help               Show help

(back to top)

Development

Common tasks:

uv run poe clean-full
uv run poe test
uv run poe lint
uv run poe format

(back to top)

Contributing

Quick workflow:

  1. Fork and branch: git checkout -b feature/name
  2. Make changes
  3. Run checks: uv run poe clean-full
  4. Commit and push
  5. Open a Pull Request

(back to top)

License

License information has not been added yet.

(back to top)


Built by thememium

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

userun-0.1.9.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

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

userun-0.1.9-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file userun-0.1.9.tar.gz.

File metadata

  • Download URL: userun-0.1.9.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for userun-0.1.9.tar.gz
Algorithm Hash digest
SHA256 efe04c6af11fd3b6cf497fa0a0daa925efdfff5aa12dd2714e99c05b6508f810
MD5 96faccf55dda155a954fc6af7b4f31fe
BLAKE2b-256 d134def223ddd8c822c19aa3dbb8b22736f71b5171f7533e37bde77622f129a6

See more details on using hashes here.

File details

Details for the file userun-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: userun-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for userun-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 4074def58e123080474e23bb69a00fac7196b7a4c7967821b6052aab44382e1c
MD5 52305c606fb6e533ea16d6aba0deea04
BLAKE2b-256 402683e6647b8c3c2459719388f173c2e21f06897484f1bd735bdc8a9e1d6ba5

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