-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
117 lines (104 loc) · 3.39 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[tool.poetry]
name = "statworx_theme"
version = "2.0.2"
description = "A color theme for matplotlib using the offical statworx design"
authors = [
"statworx Team <accounts@statworx.com>",
"An Hoang <an.hoang@statworx.com>",
"Benedikt Batton <benedikt.batton@statworx.com>",
"Roman Bange <roman.bange@statworx.com>",
]
readme = "README.md"
license = "MIT"
keywords = ["theme", "matplotlib", "plotting", "statworx"]
repository = "https://github.com/STATWORX/statworx-theme"
homepage = "https://statworx-theme.readthedocs.io/en/latest"
[tool.poetry.dependencies]
python = ">=3.9,<4.0"
seaborn = ">=0.11.2"
altair = { version = ">=5.2.0", optional = true }
plotly = { version = ">=5.10.0", optional = true }
nbformat = { version = ">=5.4.0", optional = true }
vega-datasets = { version = ">=0.9.0", optional = true }
statsmodels = { version = ">=0.13.0", optional = true }
[tool.poetry.group.dev.dependencies]
ruff = ">=0.6.0"
pre-commit = ">=2.18.0"
commitizen = ">=2.21.2"
ipykernel = ">=6.9.2"
mkdocs = ">=1.3.0"
mkdocs-material = ">=8.2.8"
mkdocstrings = ">=0.18.1"
mkdocstrings-python = ">=0.6.6"
mkdocs-matplotlib = ">=0.8.3"
mkdocs-include-markdown-plugin = "^3.3.0"
# mypy = "^1.10.0"
[tool.poetry.extras]
altair = ["altair", "vega-datasets"]
plotly = ["plotly", "nbformat", "statsmodels"]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
line-length = 100
fix = true
target-version = "py39"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflake
"I", # isort
"D", # pydocstyle
"C901", # complexity
"N", # pep8 naming convention
"UP", # pyupgrade
"NPY", # NumPy-specific rules
"ASYNC", # flake8-async
"S105", # flake8-bandit: hardcoded-password-string
"S106", # flake8-bandit: hardcoded-password-func-arg
"S107", # flake8-bandit: hardcoded-password-default
"C4", # flake8-comprehensions
"ICN", # flake8-import-conventions
"PIE", # flake8-pie
"RET", # flake8-return
"SIM", # flake8-simplify
]
ignore = [
"D100", # ignore missing docstring in on module level
"D104", # ignore missing docstring in on package level
# "D206", # indent with spaces, may get conflicts with ruff formatter
"D417", # On top of the Google convention, disable `D417`, which requires documentation for every function parameter.
# "E501", # line too long, handled by ruff formatter if possible
"RET504", # unnecessary-assign to maintain debuggability
"RET505", # unnecessary-branch no autofix
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"] # ignore unused imports in __init__ file
"notebooks/*" = [
"NPY002", # ignore numpy 2 for the notebooks for now
"E402", # Module level import not at top of cell
"D103", # Missing docstring in public function
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.mccabe]
max-complexity = 18
[tool.mypy]
follow_imports = "silent"
strict_optional = true
warn_redundant_casts = true
disallow_any_generics = false
check_untyped_defs = true
warn_unused_ignores = false # due to altair plotly duality
disallow_untyped_defs = false
disallow_incomplete_defs = false
disallow_untyped_calls = false
show_column_numbers = true
show_error_codes = true
[[tool.mypy.overrides]]
module = [
"seaborn.palettes",
"plotly.graph_objects"
]
ignore_missing_imports = true