Files
thechart/.pre-commit-config.yaml
William Valentin 4c7da343eb feat: Add test scripts and runner for TheChart application
- Created demo_failing_test.py to demonstrate pre-commit blocking with a failing test.
- Added run_tests.py for executing all tests with coverage reporting.
- Introduced test.py as a quick test runner for the application, providing coverage reports and user-friendly output.
2025-07-28 18:21:40 -07:00

88 lines
2.5 KiB
YAML

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-added-large-files
- id: check-merge-conflict
- id: check-json
- id: check-case-conflict
- id: check-ast
- id: check-xml
- id: check-symlinks
- id: check-executables-have-shebangs
- id: check-toml
- id: detect-private-key
# - id: detect-aws-credentials
# - id: check-docstring-first
# - repo: https://github.com/psf/black
# rev: 25.1.0
# hooks:
# - id: black
# - repo: https://github.com/pycqa/flake8
# rev: "7.3.0" # Use a specific, stable version of Flake8
# hooks:
# - id: flake8
# - repo: https://github.com/PyCQA/pylint
# rev: v3.3.7
# hooks:
# - id: pylint
# additional_dependencies:
# - docstring
# - repo: https://github.com/PyCQA/isort
# rev: 6.0.1
# hooks:
# - id: isort
# additional_dependencies:
# - docstring
# - repo: https://github.com/hhatto/autopep8
# rev: v2.3.2
# hooks:
# - id: autopep8
# - repo: https://github.com/asottile/pyupgrade
# rev: v3.20.0
# hooks:
# - id: pyupgrade
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.12.5
hooks:
# Run the linter.
- id: ruff-check
args: [--fix]
# Run the formatter.
- id: ruff-format
########################################################
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.8.3
hooks:
- id: uv-lock
# - id: uv-export
# - id: pip-compile
# args: [requirements.in, -o, requirements.txt]
########################################################
# Run core tests before commit to ensure basic functionality
- repo: local
hooks:
- id: pytest-check
name: pytest-check (core tests)
entry: uv run pytest
language: system
pass_filenames: false
always_run: true
args:
[
--tb=short,
--quiet,
--no-cov,
"tests/test_data_manager.py::TestDataManager::test_init",
"tests/test_data_manager.py::TestDataManager::test_initialize_csv_creates_file_with_headers",
"tests/test_data_manager.py::TestDataManager::test_load_data_with_valid_data",
]
stages: [pre-commit]