@@ -50,7 +50,15 @@ dependencies = [
5050#
5151# Similar to `dependencies` above, these must be valid existing projects.
5252[project .optional-dependencies ]
53- dev = [" pathlib" , " pre-commit" , " twine" , " interrogate" , " codespell" , " nbformat" , " nbconvert" ]
53+ dev = [
54+ " pathlib" ,
55+ " pre-commit" ,
56+ " twine" ,
57+ " interrogate" ,
58+ " codespell" ,
59+ " nbformat" ,
60+ " nbconvert" ,
61+ ]
5462docs = [
5563 " ipykernel" ,
5664 " daft-pgm" ,
@@ -71,7 +79,7 @@ docs = [
7179 " sphinx-design" ,
7280 " sphinx-togglebutton" ,
7381]
74- lint = [" interrogate" , " pre-commit" , " ruff" ]
82+ lint = [" interrogate" , " pre-commit" , " ruff" , " mypy " ]
7583test = [" pytest" , " pytest-cov" , " codespell" , " nbformat" , " nbconvert" ]
7684
7785[project .urls ]
@@ -129,10 +137,7 @@ ignore-words = "./docs/source/.codespell/codespell-whitelist.txt"
129137skip = " *.ipynb,*.csv,pyproject.toml,docs/source/.codespell/codespell-whitelist.txt"
130138
131139[tool .coverage .run ]
132- omit = [
133- " */conftest.py" ,
134- " */tests/conftest.py" ,
135- ]
140+ omit = [" */conftest.py" , " */tests/conftest.py" ]
136141
137142[tool .coverage .report ]
138143exclude_lines = [
@@ -147,3 +152,22 @@ exclude_lines = [
147152 " class .*\\ bProtocol\\ ):" ,
148153 " @(abc\\ .)?abstractmethod" ,
149154]
155+
156+ [tool .mypy ]
157+ files = " causalpy/*.py"
158+ exclude = " build|dist|docs|notebooks|tests|setup.py"
159+
160+ [tool .mypy-matplotlib ]
161+ ignore_missing_imports = true
162+
163+ [tool .mypy-pymc ]
164+ ignore_missing_imports = true
165+
166+ [tool .mypy-seaborn ]
167+ ignore_missing_imports = true
168+
169+ [tool .mypy-sklearn ]
170+ ignore_missing_imports = true
171+
172+ [tool .mypy-scipy ]
173+ ignore_missing_imports = true
0 commit comments