Configuration — irorun documentation

# irorun documentation

## Configuration

irorun relies on external configuration files to dictate its behavior. The two primary configuration files are:

1. project_config.toml: Controls project bootstrapping parameters such as project directory, environment manager, subdirectories, dependencies, and additional options like Git initialization.

2. logging.conf: Defines the logging setup, including loggers, handlers, and formatters. It uses a custom handler to output color-coded logs.

## Example: project_config.toml

    [init]
    project_directory = "apriquot"
    subdirectories = ["src", "docs", "tests"]
    extra_subdirectories = []  # Additional directories if needed
    package_manager = "poetry" # Options: "poetry", "uv", "virtualenv"
    venv_name = "venv"
    dependencies = ["numpy", "pandas", "matplotlib"]

## Example: logging.conf

    [loggers]
    keys=root,irorun

    [handlers]
    keys=typerHandler,fileHandler

    [formatters]
    keys=coloredFormatter

    [logger_root]
    level=INFO
    handlers=typerHandler

    [logger_irorun]
    level=DEBUG
    handlers=typerHandler,fileHandler
    qualname=irorun
    propagate=0

    [handler_typerHandler]
    class=irorun.logger_setup.TyperLoggerHandler
    level=DEBUG
    formatter=coloredFormatter
    args=()

    [handler_fileHandler]
    class=FileHandler
    level=INFO
    formatter=coloredFormatter
    args=('irorun.log', 'a')

    [formatter_coloredFormatter]
    format=[%(asctime)s] %(levelname)s in %(module)s: %(message)s
    datefmt=%Y-%m-%d %H:%M:%S

This structure allows you to modify behavior without changing code, ensuring consistency across environments.