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]