https://github.com/astropy/astropy
Raw File
Tip revision: 0f8f4894c8c073d1fe68a7f2148a45bdbaf6dfd0 authored by Simon Conseil on 08 November 2023, 20:58:57 UTC
Added contributor statistics and names
Tip revision: 0f8f489
.pre-commit-config.yaml
ci:
  autofix_prs: false
  autoupdate_schedule: 'monthly'

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0
    hooks:
      - id: check-added-large-files
        # Prevent giant files from being committed.
      - id: check-case-conflict
        # Check for files with names that would conflict on a case-insensitive
        # filesystem like MacOS HFS+ or Windows FAT.
      - id: check-json
        # Attempts to load all json files to verify syntax.
      - id: check-merge-conflict
        # Check for files that contain merge conflict strings.
      - id: check-symlinks
        # Checks for symlinks which do not point to anything.
      - id: check-toml
        # Attempts to load all TOML files to verify syntax.
      - id: check-xml
        # Attempts to load all xml files to verify syntax.
      - id: check-yaml
        # Attempts to load all yaml files to verify syntax.
        exclude: ".*(.github.*)$"
      - id: detect-private-key
        # Checks for the existence of private keys.
      - id: end-of-file-fixer
        # Makes sure files end in a newline and only a newline.
        exclude: ".*(data.*|extern.*|licenses.*|_static.*|_parsetab.py)$"
      # - id: fix-encoding-pragma  # covered by pyupgrade
      - id: trailing-whitespace
        # Trims trailing whitespace.
        exclude_types: [python]  # Covered by Ruff W291.
        exclude: ".*(data.*|extern.*|licenses.*|_static.*)$"

  - repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.10.0
    hooks:
      - id: python-check-mock-methods
        # Prevent common mistakes of assert mck.not_called(), assert
        # mck.called_once_with(...) and mck.assert_called.
      - id: rst-directive-colons
        # Detect mistake of rst directive not ending with double colon.
      - id: rst-inline-touching-normal
        # Detect mistake of inline code touching normal text in rst.
      - id: text-unicode-replacement-char
        # Forbid files which have a UTF-8 Unicode replacement character.
      - id: python-check-blanket-noqa
        # Enforce that all noqa annotations always occur with specific codes.

  - repo: https://github.com/codespell-project/codespell
    rev: v2.2.5
    hooks:
      - id: codespell
        args: ["--write-changes"]
        additional_dependencies:
          - tomli

  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: "v0.0.291"
    hooks:
      - id: ruff
        args: ["--fix"]

  - repo: https://github.com/PyCQA/docformatter
    rev: v1.7.5
    hooks:
      - id: docformatter
        additional_dependencies: [tomli]
        args: [--in-place, --config, ./pyproject.toml]
        exclude: |
          (?x)(
              test.*\.py |
              astropy/__init__\.py |
              astropy/_dev/ |
              astropy/config/ |
              astropy/conftest\.py |
              astropy/constants/ |
              astropy/convolution/ |
              astropy/coordinates/ |
              astropy/extern/ |
              astropy/io/ |
              astropy/logger\.py |
              astropy/modeling/ |
              astropy/nddata/ |
              astropy/samp/ |
              astropy/stats/ |
              astropy/table/ |
              astropy/tests/ |
              astropy/time/ |
              astropy/timeseries/ |
              astropy/uncertainty/ |
              astropy/units/ |
              astropy/utils/ |
              astropy/version\.py |
              astropy/visualization/ |
              astropy/wcs/ |
              docs/ |
              examples/
          )

  - repo: https://github.com/psf/black-pre-commit-mirror
    rev: 23.9.1
    hooks:
      - id: black

  - repo: https://github.com/asmeurer/removestar
    rev: "1.5"
    hooks:
      - id: removestar
        args: ["-iv"]  # in-place changes + verbose output
        additional_dependencies:
          - .
          - sphinx_astropy

  - repo: local
    hooks:
      - id: changelogs-rst
        name: changelog filenames
        language: fail
        entry: >-
          changelog files must be named <sub-package>/####.(bugfix|feature|api).rst
          or ####.other.rst (in the root directory only)
        exclude: >-
          ^docs/changes/[\w\.]+/(\d+\.(bugfix|feature|api)(\.\d)?.rst|.gitkeep)
        files: ^docs/changes/[\w\.]+/
      - id: changelogs-rst-other
        name: changelog filenames for other category
        language: fail
        entry: >-
          only "other" changelog files must be placed in the root directory
        exclude: >-
          ^docs/changes/(\d+\.other.rst|README.rst|template.rst)
        files: ^docs/changes/\d+.\w+.rst
back to top