Skip to content

Adopt a Python formatter and linter for the framework #702

@climbfuji

Description

@climbfuji

Description

At the CCPP framework meeting on 12/4/2025 it was decided to adopt a Python formatter and linter.

One suggestion was a combination of black, flake8, and isort. An alternative suggestion was ruff.

@climbfuji asked the spack developers (spack uses black, flake8, isort at this time) about these tools and why they are not using ruff.

Their response:

We didn’t go with ruff because it didn’t exist 15 years ago. We are currently in the process of switching to ruff.
...
Use ruff. Maybe we’ll switch from mypy to ty when it’s ready. Too early just yet.

Solution

Decide which (set of) tool(s) to use for formatting and linting. Implement the chosen solution in GitHub actions but also look into ways to run this manually on the command line. Document solution as part of the implementation.

Alternatives (optional)

Do nothing

Related to (optional)

A related issue will be created for formatting and linting Fortran.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions