Skip to main content

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

PyPI version License Python Version

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


Download files

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

Source Distribution

irorun-0.1.0.tar.gz (293.8 kB view details)

Uploaded Source

Built Distribution

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

irorun-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

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

Hashes for irorun-0.1.0.tar.gz
Algorithm Hash digest
SHA256 38efe0ba56e38b1f52218da651db7dd17debc4b42e12bafd99262ad1d19c8c65
MD5 0c5f5cbbf1a4dc4d4956cf9a5a0df00c
BLAKE2b-256 ff5da986c5b5ef66e92643f6e51910a3ca228e72947b96bed200bef42ab1f7b4

See more details on using hashes here.

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

Hashes for irorun-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d615ba07843c61e0789be593cf4e046f5b1864401dacbd613c007e019ff177a
MD5 c0efc7f6d368600b75eca0fc2d719f17
BLAKE2b-256 24420c1ba99257a660a40011691a281ccd9d965b55a400068ec3c30a3feeadcd

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