Skip to content

Commit

Permalink
Add mypy to continuous integration suite (#2432)
Browse files Browse the repository at this point in the history
  • Loading branch information
namurphy committed Jan 5, 2024
1 parent 41b00c1 commit 90fe228
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 64 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ jobs:
python: 3.9
toxenv: py39-all-minimal

- name: mypy
os: ubuntu-latest
python: '3.11'
toxenv: mypy

- name: Linters
os: ubuntu-latest
python: '3.11'
Expand Down
1 change: 1 addition & 0 deletions changelog/2432.trivial.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added mypy to the suite of continuous integration checks.
131 changes: 68 additions & 63 deletions mypy.ini
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
[mypy]
python_version = 3.9
pretty = true
mypy_path = ./type_stubs
exclude = (?x)(
/docs/
| /\.run/
| /\.tox/
docs|
\.run|
\.tox
)

enable_error_code = ignore-without-code
Expand Down Expand Up @@ -55,6 +54,9 @@ ignore_missing_imports = true
[mypy-setuptools.*]
ignore_missing_imports = true

[mypy-wrapt.*]
ignore_missing_imports = true

[mypy-plasmapy._dev.scm_version]
ignore_errors = true

Expand Down Expand Up @@ -118,34 +120,34 @@ disable_error_code = no-untyped-call,no-untyped-def
disable_error_code = no-untyped-def

[mypy-plasmapy.diagnostics.charged_particle_radiography.detector_stacks]
disable_error_code = call-overload,no-untyped-def
disable_error_code = call-overload,misc,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.diagnostics.charged_particle_radiography.synthetic_radiography]
disable_error_code = assignment,attr-defined,has-type,misc,no-untyped-call,no-untyped-def,type-var,var-annotated
disable_error_code = assignment,attr-defined,has-type,misc,no-untyped-call,no-untyped-def,type-arg,type-var,var-annotated

[mypy-plasmapy.diagnostics.charged_particle_radiography.tests.test_detector_stacks]
disable_error_code = no-untyped-call,no-untyped-def

[mypy-plasmapy.diagnostics.charged_particle_radiography.tests.test_synthetic_radiography]
disable_error_code = no-untyped-call,no-untyped-def
disable_error_code = arg-type,no-untyped-call,no-untyped-def

[mypy-plasmapy.diagnostics.langmuir]
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,operator,var-annotated
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,operator,type-arg,valid-type,var-annotated

[mypy-plasmapy.diagnostics.tests.test_langmuir]
disable_error_code = no-untyped-call,no-untyped-def
disable_error_code = attr-defined,no-untyped-call,no-untyped-def

[mypy-plasmapy.diagnostics.tests.test_thomson]
disable_error_code = attr-defined,no-untyped-call,no-untyped-def

[mypy-plasmapy.diagnostics.thomson]
disable_error_code = arg-type,assignment,attr-defined,misc,no-untyped-call,no-untyped-def,type-arg
disable_error_code = arg-type,assignment,attr-defined,misc,no-untyped-call,no-untyped-def,type-arg,union-attr,valid-type

[mypy-plasmapy.dispersion.analytical.mhd_waves_]
disable_error_code = attr-defined,has-type,misc,no-untyped-call,no-untyped-def,syntax
disable_error_code = assignment,attr-defined,has-type,misc,no-any-return,no-untyped-call,no-untyped-def,return-value,syntax,type-arg,valid-type

[mypy-plasmapy.dispersion.analytical.stix_]
disable_error_code = arg-type,assignment,attr-defined,call-overload,misc,no-untyped-call,no-untyped-def
disable_error_code = arg-type,assignment,attr-defined,call-overload,misc,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.dispersion.analytical.tests.test_mhd_wave_class]
disable_error_code = no-untyped-call,no-untyped-def
Expand All @@ -157,19 +159,19 @@ disable_error_code = attr-defined,no-untyped-call,no-untyped-def
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.dispersion.analytical.two_fluid_]
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,union-attr
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,type-arg,union-attr,valid-type

[mypy-plasmapy.dispersion.dispersion_functions]
disable_error_code = type-arg
disable_error_code = no-any-return,type-arg

[mypy-plasmapy.dispersion.dispersionfunction]
disable_error_code = misc,no-untyped-def,type-arg
disable_error_code = arg-type,misc,no-untyped-def,return-value,type-arg

[mypy-plasmapy.dispersion.numerical.hollweg_]
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,union-attr
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,type-arg,union-attr,valid-type

[mypy-plasmapy.dispersion.numerical.kinetic_alfven_]
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,union-attr
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,type-arg,union-attr,valid-type

[mypy-plasmapy.dispersion.numerical.tests.test_hollweg_]
disable_error_code = attr-defined,no-untyped-def
Expand All @@ -181,31 +183,31 @@ disable_error_code = attr-defined,no-untyped-def
disable_error_code = arg-type,no-untyped-def

[mypy-plasmapy.formulary.braginskii]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def,type-arg
disable_error_code = assignment,attr-defined,has-type,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.collisions.coulomb]
disable_error_code = assignment,attr-defined,misc,name-defined,no-untyped-call,no-untyped-def,syntax
disable_error_code = assignment,attr-defined,misc,name-defined,no-any-return,no-untyped-call,no-untyped-def,syntax,type-arg,valid-type

[mypy-plasmapy.formulary.collisions.dimensionless]
disable_error_code = assignment,attr-defined,call-overload,misc,no-untyped-call,no-untyped-def
disable_error_code = assignment,attr-defined,call-overload,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.collisions.frequencies]
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,union-attr
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,union-attr,valid-type

[mypy-plasmapy.formulary.collisions.helio.collisional_analysis]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def
disable_error_code = arg-type,assignment,attr-defined,misc,no-untyped-call,no-untyped-def,type-arg,union-attr,valid-type

[mypy-plasmapy.formulary.collisions.helio.tests.test_collisional_analysis]
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.formulary.collisions.lengths]
disable_error_code = assignment,attr-defined,call-overload,misc,name-defined,no-untyped-call,no-untyped-def,syntax
disable_error_code = assignment,attr-defined,call-overload,misc,name-defined,no-any-return,no-untyped-call,no-untyped-def,syntax,type-arg,valid-type

[mypy-plasmapy.formulary.collisions.misc]
disable_error_code = assignment,attr-defined,call-overload,misc,name-defined,no-untyped-call,no-untyped-def,syntax
disable_error_code = assignment,attr-defined,call-overload,misc,name-defined,no-any-return,no-untyped-call,no-untyped-def,syntax,type-arg,valid-type

[mypy-plasmapy.formulary.collisions.tests.test_coulomb]
disable_error_code = attr-defined,no-untyped-def
disable_error_code = attr-defined,no-untyped-call,no-untyped-def

[mypy-plasmapy.formulary.collisions.tests.test_dimensionless]
disable_error_code = attr-defined,no-untyped-def
Expand All @@ -220,49 +222,49 @@ disable_error_code = attr-defined,no-untyped-def
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.formulary.densities]
disable_error_code = assignment,attr-defined,misc,no-untyped-call,syntax
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,syntax,type-arg,valid-type

[mypy-plasmapy.formulary.dielectric]
disable_error_code = misc,no-untyped-call,no-untyped-def
disable_error_code = misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.dimensionless]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def
disable_error_code = attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.distribution]
disable_error_code = attr-defined,no-untyped-call,no-untyped-def

[mypy-plasmapy.formulary.drifts]
disable_error_code = misc
disable_error_code = misc,no-any-return,type-arg,valid-type

[mypy-plasmapy.formulary.frequencies]
disable_error_code = arg-type,attr-defined,misc,no-any-return,no-untyped-call,union-attr
disable_error_code = arg-type,attr-defined,misc,no-any-return,no-untyped-call,type-arg,union-attr,valid-type

[mypy-plasmapy.formulary.ionization]
disable_error_code = misc,no-untyped-call,no-untyped-def
disable_error_code = attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.lengths]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.magnetostatics]
disable_error_code = assignment,misc,no-untyped-call,no-untyped-def
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.mathematics]
disable_error_code = no-any-return,type-arg

[mypy-plasmapy.formulary.misc]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def
disable_error_code = attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.formulary.quantum]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def,union-attr
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,type-arg,union-attr,valid-type

[mypy-plasmapy.formulary.radiation]
disable_error_code = attr-defined,misc,no-any-return,no-untyped-call,type-arg,union-attr
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,type-arg,union-attr,valid-type

[mypy-plasmapy.formulary.relativity]
disable_error_code = attr-defined,misc,no-any-return,no-redef,no-untyped-call,no-untyped-def,return-value,union-attr
disable_error_code = arg-type,assignment,attr-defined,misc,no-any-return,no-redef,no-untyped-call,no-untyped-def,return-value,type-arg,union-attr,valid-type

[mypy-plasmapy.formulary.speeds]
disable_error_code = attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,syntax,union-attr
disable_error_code = assignment,attr-defined,misc,no-any-return,no-untyped-call,no-untyped-def,syntax,type-arg,union-attr,valid-type

[mypy-plasmapy.formulary.tests.test_densities]
disable_error_code = attr-defined,no-untyped-def
Expand All @@ -271,10 +273,10 @@ disable_error_code = attr-defined,no-untyped-def
disable_error_code = no-untyped-def

[mypy-plasmapy.formulary.tests.test_dimensionless]
disable_error_code = attr-defined,no-untyped-def
disable_error_code = arg-type,attr-defined,no-untyped-call,no-untyped-def

[mypy-plasmapy.formulary.tests.test_distribution]
disable_error_code = attr-defined
disable_error_code = attr-defined,no-untyped-call

[mypy-plasmapy.formulary.tests.test_fermi_integral]
disable_error_code = arg-type,attr-defined
Expand All @@ -283,7 +285,10 @@ disable_error_code = arg-type,attr-defined
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.formulary.tests.test_lengths]
disable_error_code = attr-defined,no-untyped-def
disable_error_code = attr-defined,no-untyped-call,no-untyped-def

[mypy-plasmapy.formulary.tests.test_magnetostatics]
disable_error_code = attr-defined

[mypy-plasmapy.formulary.tests.test_mathematics]
disable_error_code = no-untyped-def
Expand All @@ -304,7 +309,7 @@ disable_error_code = attr-defined,no-untyped-def
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.formulary.tests.test_thermal_speed]
disable_error_code = attr-defined,no-untyped-def
disable_error_code = attr-defined,no-untyped-call,no-untyped-def

[mypy-plasmapy.formulary.tests.test_transport]
disable_error_code = attr-defined,no-untyped-call,no-untyped-def
Expand All @@ -313,7 +318,7 @@ disable_error_code = attr-defined,no-untyped-call,no-untyped-def
disable_error_code = arg-type,no-untyped-def

[mypy-plasmapy.particles._factory]
disable_error_code = arg-type,no-any-return,no-untyped-def,operator,type-arg
disable_error_code = arg-type,attr-defined,no-any-return,no-untyped-def,operator,type-arg

[mypy-plasmapy.particles._isotopes]
disable_error_code = arg-type,no-untyped-def
Expand All @@ -322,28 +327,28 @@ disable_error_code = arg-type,no-untyped-def
disable_error_code = arg-type,assignment,call-overload,no-any-return,no-untyped-def,return-value,syntax,type-arg,union-attr,var-annotated

[mypy-plasmapy.particles._special_particles]
disable_error_code = type-arg,var-annotated
disable_error_code = attr-defined,type-arg,var-annotated

[mypy-plasmapy.particles.atomic]
disable_error_code = arg-type,assignment,misc,no-any-return,no-untyped-call,no-untyped-def,union-attr
disable_error_code = arg-type,assignment,misc,no-any-return,no-untyped-call,no-untyped-def,return-value,type-arg,union-attr

[mypy-plasmapy.particles.decorators]
disable_error_code = arg-type,assignment,call-arg,index,misc,no-any-return,no-untyped-call,no-untyped-def,operator,return-value,type-arg,union-attr,var-annotated
disable_error_code = arg-type,assignment,index,misc,no-any-return,no-untyped-call,no-untyped-def,operator,return-value,type-arg,union-attr,var-annotated

[mypy-plasmapy.particles.ionization_state]
disable_error_code = arg-type,assignment,call-overload,misc,no-any-return,no-untyped-call,no-untyped-def,operator,return-value,type-arg
disable_error_code = arg-type,assignment,call-overload,has-type,misc,no-any-return,no-untyped-call,no-untyped-def,operator,return-value,type-arg,valid-type

[mypy-plasmapy.particles.ionization_state_collection]
disable_error_code = arg-type,assignment,has-type,index,misc,no-any-return,no-untyped-call,no-untyped-def,operator,return-value,type-arg,union-attr,valid-type,var-annotated

[mypy-plasmapy.particles.nuclear]
disable_error_code = misc,no-untyped-def,union-attr
disable_error_code = misc,no-any-return,no-untyped-def,return-value,type-arg,union-attr

[mypy-plasmapy.particles.particle_class]
disable_error_code = arg-type,assignment,attr-defined,has-type,index,misc,no-any-return,no-redef,no-untyped-def,return-value,type-arg,valid-type,var-annotated
disable_error_code = arg-type,assignment,attr-defined,has-type,index,misc,no-any-return,no-redef,no-untyped-def,override,return-value,type-arg,valid-type,var-annotated

[mypy-plasmapy.particles.particle_collections]
disable_error_code = no-any-return,no-untyped-call,no-untyped-def,override,type-arg,valid-type,var-annotated
disable_error_code = assignment,attr-defined,name-defined,no-any-return,no-untyped-call,no-untyped-def,override,type-arg,valid-type,var-annotated

[mypy-plasmapy.particles.serialization]
disable_error_code = no-untyped-def
Expand All @@ -358,7 +363,7 @@ disable_error_code = attr-defined,no-untyped-def
disable_error_code = arg-type,attr-defined,no-untyped-def

[mypy-plasmapy.particles.tests.test_decorators]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def,return-value
disable_error_code = assignment,attr-defined,misc,no-untyped-call,no-untyped-def,return-value,type-arg

[mypy-plasmapy.particles.tests.test_exceptions]
disable_error_code = attr-defined,no-untyped-def,operator,var-annotated
Expand Down Expand Up @@ -394,10 +399,10 @@ disable_error_code = no-untyped-def
disable_error_code = no-untyped-call,no-untyped-def

[mypy-plasmapy.plasma.equilibria1d]
disable_error_code = misc,no-untyped-def
disable_error_code = attr-defined,misc,no-any-return,no-untyped-def,type-arg,valid-type

[mypy-plasmapy.plasma.grids]
disable_error_code = misc,name-match,no-any-return,no-untyped-call,no-untyped-def,type-arg,var-annotated
disable_error_code = index,misc,name-match,no-any-return,no-untyped-call,no-untyped-def,type-arg,var-annotated

[mypy-plasmapy.plasma.plasma_base]
disable_error_code = no-untyped-def,var-annotated
Expand All @@ -406,7 +411,7 @@ disable_error_code = no-untyped-def,var-annotated
disable_error_code = arg-type,no-untyped-call,no-untyped-def

[mypy-plasmapy.plasma.sources.plasma3d]
disable_error_code = misc,no-untyped-call,no-untyped-def,type-arg
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def,type-arg

[mypy-plasmapy.plasma.sources.plasmablob]
disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def
Expand All @@ -433,7 +438,7 @@ disable_error_code = attr-defined,no-untyped-def
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.simulation.abstractions]
disable_error_code = no-untyped-def
disable_error_code = no-untyped-def,type-arg,valid-type

[mypy-plasmapy.simulation.particle_integrators]
disable_error_code = no-untyped-def
Expand All @@ -445,7 +450,7 @@ disable_error_code = attr-defined,misc,no-untyped-call,no-untyped-def,var-annota
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.tests._helpers.tests.sample_functions]
disable_error_code = no-untyped-def,valid-type
disable_error_code = no-any-return,no-untyped-def,valid-type

[mypy-plasmapy.utils._pytest_helpers.pytest_helpers]
disable_error_code = arg-type,assignment,attr-defined,no-untyped-call,no-untyped-def,type-arg,var-annotated
Expand All @@ -454,7 +459,7 @@ disable_error_code = arg-type,assignment,attr-defined,no-untyped-call,no-untyped
disable_error_code = attr-defined,call-arg,no-untyped-def

[mypy-plasmapy.utils._units_helpers]
disable_error_code = type-arg
disable_error_code = no-untyped-call,type-arg

[mypy-plasmapy.utils.calculator]
disable_error_code = arg-type
Expand All @@ -478,13 +483,13 @@ disable_error_code = no-untyped-call,no-untyped-def
disable_error_code = no-untyped-call,no-untyped-def

[mypy-plasmapy.utils.decorators.checks]
disable_error_code = arg-type,assignment,no-untyped-call,no-untyped-def,type-arg,var-annotated
disable_error_code = arg-type,assignment,attr-defined,no-untyped-call,no-untyped-def,type-arg,var-annotated

[mypy-plasmapy.utils.decorators.converter]
disable_error_code = call-arg,no-untyped-call,no-untyped-def
disable_error_code = no-untyped-def

[mypy-plasmapy.utils.decorators.deprecation]
disable_error_code = assignment,attr-defined,no-untyped-def
disable_error_code = assignment,attr-defined,misc,no-untyped-def

[mypy-plasmapy.utils.decorators.helpers]
disable_error_code = no-untyped-call,no-untyped-def
Expand All @@ -493,7 +498,7 @@ disable_error_code = no-untyped-call,no-untyped-def
disable_error_code = attr-defined,no-untyped-def,type-arg

[mypy-plasmapy.utils.decorators.tests.test_checks]
disable_error_code = attr-defined,call-overload,index,misc,name-defined,no-untyped-call,no-untyped-def,operator
disable_error_code = attr-defined,call-overload,index,misc,name-defined,no-any-return,no-untyped-call,no-untyped-def,operator

[mypy-plasmapy.utils.decorators.tests.test_converters]
disable_error_code = attr-defined,misc,no-untyped-def
Expand All @@ -508,7 +513,7 @@ disable_error_code = no-untyped-call,no-untyped-def
disable_error_code = no-untyped-def

[mypy-plasmapy.utils.decorators.tests.test_validators]
disable_error_code = attr-defined,call-arg,misc,name-defined,no-untyped-call,no-untyped-def
disable_error_code = attr-defined,call-arg,misc,name-defined,no-any-return,no-untyped-call,no-untyped-def,type-arg

[mypy-plasmapy.utils.decorators.validators]
disable_error_code = attr-defined,no-untyped-def,var-annotated
Expand All @@ -526,4 +531,4 @@ disable_error_code = no-untyped-call,no-untyped-def,var-annotated
disable_error_code = attr-defined,no-untyped-def

[mypy-plasmapy.utils.tests.test_units_helpers]
disable_error_code = name-match,no-untyped-def
disable_error_code = attr-defined,name-match,no-untyped-call,no-untyped-def
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -158,4 +158,4 @@ commands = python -c 'import plasmapy'
deps =
mypy >= 1.8.0
commands =
mypy plasmapy --install-types --non-interactive
mypy plasmapy --install-types --non-interactive --show-error-context --show-error-code-links --pretty

0 comments on commit 90fe228

Please sign in to comment.