diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index f8b4efd..be5e168 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -7,6 +7,9 @@ jobs: call-ruff-workflow: uses: ASFHyP3/actions/.github/workflows/reusable-ruff.yml@v0.13.2 + call-mypy-workflow: + uses: ASFHyP3/actions/.github/workflows/reusable-mypy.yml@v0.14.0 + cfn-lint: runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index e814c96..0b70f98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/) and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.0.3] +### Added +- Added `mypy` to static analysis workflow. ### Changed - Replaced `flake8` with `ruff`. diff --git a/environment.yml b/environment.yml new file mode 100644 index 0000000..2e128d5 --- /dev/null +++ b/environment.yml @@ -0,0 +1,9 @@ +name: grfn-distribution +channels: + - conda-forge + - nodefaults +dependencies: + - python=3.12 + - pip + - pip: + - -r requirements-all.txt diff --git a/pyproject.toml b/pyproject.toml index bbb16f3..9f6dddf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,3 +29,11 @@ convention = "google" [tool.ruff.lint.isort] case-sensitive = true lines-after-imports = 2 + +[tool.mypy] +python_version = "3.12" +warn_redundant_casts = true +warn_unused_ignores = true +warn_unreachable = true +strict_equality = true +check_untyped_defs = true diff --git a/requirements-all.txt b/requirements-all.txt new file mode 100644 index 0000000..7a1c12e --- /dev/null +++ b/requirements-all.txt @@ -0,0 +1,4 @@ +-r requirements-door.txt +-r requirements-door-binary.txt +ruff +mypy