A unified CLI tool for bootstrapping Python projects with integrated code quality checks, formatting, and documentation generation. Designed for research teams, it automates environment setup with pre-configured scientific libraries, streamlining development so scientists can focus on their research.
Project description
irorun
irorun is a unified command-line tool designed specifically for research teams—especially in physics—who need to maintain high-quality Python code without the overhead of mastering complex development tools. Born out of the challenges faced by scientists who prioritize research over extensive software engineering, irorun streamlines project bootstrapping by integrating environment management, code quality checks, and formatting into a single, user-friendly interface. By automating the setup of virtual environments and the orchestration of tools like ruff, pylint, and sphinx (with plans for documentation), irorun aims to empower researchers to focus on their scientific pursuits while ensuring their code remains robust, scalable, and collaborative across different platforms.
Features
-
Project Bootstrapping:
Quickly create a new project directory structure along with standard subdirectories. -
Environment Management:
Supports multiple environment managers such as Poetry, uv, and virtualenv to create virtual environments. -
Integrated Code Quality:
Run linters, formatters, and static code analysis (using tools like Ruff) with one command. -
Configurable Setup:
Customize your project scaffold via an editable configuration file (project_config.toml). -
Extensible & Modular:
Easily extend functionality and integrate additional tools as your workflow evolves.
Installation
Install irorun from PyPI:
pip install irorun
Or clone the repository and install locally:
git clone https://github.com/lere01/irorun.git
cd irorun
pip install .
Usage
Bootstrapping a New Project
Create a new project using the default configuration - bash irorun init. Or specify a project directory and select an environment manager - bash irorun init my_project --package-manager poetry. There are currently three environment managers supported: Poetry, uv, and virtualenv.
Code Quality & Formatting
Check your code with a single command
bash irorun check
Upgrade your code syntax (with optional fixes)
irorun check_upgrade --fix
Check your code style against some PEP8 guidelines
bash irorun check_codestyle
Format your code
bash irorun format
Generate documentation from your docstrings (Future Feature)
Generate a sample configuration file to customize your project setup
bash irorun gen-config
Edit project_config.toml to customize project scaffolding and setup. An example configuration:
project_directory = "project-name"
subdirectories = ["src", "docs", "tests"]
extra_subdirectories = [] # Any extra subdirectories to create under the project directory
package_manager = "poetry" # Options: ["poetry", "uv", "virtualenv"]
venv_name = "venv"
dependencies = ["numpy", "pandas", "matplotlib"]
Testing and Coverage
Run tests
bash pytest tests/ --maxfail=[your-choice] --disable-warnings -q
Generate coverage report
bash pytest tests/ --cov=src/irorun --cov-report=term-missing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file irorun-0.1.0.tar.gz.
File metadata
- Download URL: irorun-0.1.0.tar.gz
- Upload date:
- Size: 293.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38efe0ba56e38b1f52218da651db7dd17debc4b42e12bafd99262ad1d19c8c65
|
|
| MD5 |
0c5f5cbbf1a4dc4d4956cf9a5a0df00c
|
|
| BLAKE2b-256 |
ff5da986c5b5ef66e92643f6e51910a3ca228e72947b96bed200bef42ab1f7b4
|
File details
Details for the file irorun-0.1.0-py3-none-any.whl.
File metadata
- Download URL: irorun-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d615ba07843c61e0789be593cf4e046f5b1864401dacbd613c007e019ff177a
|
|
| MD5 |
c0efc7f6d368600b75eca0fc2d719f17
|
|
| BLAKE2b-256 |
24420c1ba99257a660a40011691a281ccd9d965b55a400068ec3c30a3feeadcd
|