| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- [build-system]
- requires = ["setuptools>=61.0", "wheel"]
- build-backend = "setuptools.build_meta"
- [project]
- name = "boilerplates"
- version = "0.1.0"
- description = "CLI tool for managing infrastructure boilerplates"
- readme = "README.md"
- requires-python = ">=3.9"
- license = "MIT"
- authors = [ {name = "Christian Lempa"} ]
- keywords = ["boilerplates", "cli", "infrastructure"]
- classifiers = [
- "Programming Language :: Python :: 3",
- "Operating System :: OS Independent",
- ]
- dependencies = [
- "typer[all]>=0.9.0",
- "rich>=13.0.0",
- "PyYAML>=6.0",
- "python-frontmatter>=1.0.0",
- "Jinja2>=3.0",
- "email-validator>=2.0.0",
- ]
- [project.scripts]
- boilerplates = "cli.__main__:run"
- [tool.setuptools.packages.find]
- include = ["cli*"]
- exclude = ["tests*", "scripts*"]
- [tool.ruff]
- # Extended line length for better readability
- line-length = 120
- # Python 3.9+ as minimum version
- target-version = "py39"
- # Exclude common directories
- exclude = [
- ".git",
- "__pycache__",
- ".venv",
- "venv",
- "build",
- "dist",
- "*.egg-info",
- ]
- [tool.ruff.lint]
- # Enable rule categories
- select = [
- "E", # pycodestyle errors
- "F", # Pyflakes
- "W", # pycodestyle warnings
- "I", # isort (import sorting)
- "N", # pep8-naming
- "UP", # pyupgrade (modern Python syntax)
- "B", # flake8-bugbear (likely bugs)
- "C4", # flake8-comprehensions
- "SIM", # flake8-simplify
- "RET", # flake8-return
- "ARG", # flake8-unused-arguments
- "PTH", # flake8-use-pathlib
- "PL", # Pylint
- "RUF", # Ruff-specific rules
- "T20", # flake8-print
- ]
- # Allow auto-fixing for these rules
- fixable = ["ALL"]
- unfixable = []
- [tool.ruff.format]
- # Use PEP 8 standard: 4 spaces for indentation
- indent-style = "space"
- # Use double quotes (consistent with Python conventions)
- quote-style = "double"
- # Unix line endings
- line-ending = "lf"
- [tool.ruff.lint.per-file-ignores]
- # CLI command functions need many parameters for command-line arguments
- "cli/core/module/base_module.py" = ["PLR0913"] # generate() needs all CLI options
- "cli/core/repo.py" = ["PLR0913"] # add() needs all library config options
|