@@ -8,6 +8,8 @@ repository = "https://github.com/dreadnode/rigging"
88readme = " README.md"
99packages = [{ include = " rigging" }]
1010
11+ # Dependencies
12+
1113[tool .poetry .dependencies ]
1214python = " ^3.9"
1315pydantic = " ^2.7.3"
@@ -71,10 +73,14 @@ mkdocs-section-index = "^0.3.9"
7173pymdown-extensions = " ^10.8.1"
7274pygments = " ^2.18.0"
7375
76+ # Build
77+
7478[build-system ]
7579requires = [" poetry-core" ]
7680build-backend = " poetry.core.masonry.api"
7781
82+ # Tests / Coverage
83+
7884[tool .pytest .ini_options ]
7985filterwarnings = [" ignore::DeprecationWarning" ]
8086
@@ -88,37 +94,23 @@ show_missing = true
8894[tool .coverage .lcov ]
8995output = " lcov.info"
9096
97+ # Tracing
98+
9199[tool .logfire ]
92100ignore_no_config = true
93101
102+ # Type Checking
103+
94104[tool .mypy ]
95105plugins = " pydantic.mypy"
96106strict = true
97107
98- [tool .ruff ]
99- select = [
100- " E" , # pycodestyle errors
101- " W" , # pycodestyle warnings
102- " F" , # pyflakes
103- " I" , # isort
104- " C" , # flake8-comprehensions
105- " B" , # flake8-bugbear
106- " UP" , # pyupgrade
107- " NPY" , # numpydoc
108- " TCH" , # typecheck
109- " A" , # flake8-annotations
110- ]
111- ignore = [
112- " E501" , # line too long, handled by black
113- " B008" , # do not perform function calls in argument defaults
114- " C901" , # too complex
115- " W191" , # indentation contains tabs
116- " F722" , # syntax error in forward annotation
117- " UP007" , # X | Y syntax while we're still supporting 3.9
118- " UP038" , # isinstance() X | Y instance ^
119- " B905" , # zip() without strict (isn't supported in 3.9)
120- ]
108+ # Formatting / Linting
121109
110+ [tool .ruff ]
111+ line-length = 120
112+ indent-width = 4
113+ target-version = " py310"
122114exclude = [
123115 " .bzr" ,
124116 " .direnv" ,
@@ -143,15 +135,32 @@ exclude = [
143135 " venv" ,
144136]
145137
146- line-length = 120
147- indent-width = 4
148- target-version = " py310"
149-
150138[tool .ruff .lint ]
151139fixable = [" ALL" ]
152140unfixable = [" B" ]
153-
154141dummy-variable-rgx = " ^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
142+ select = [
143+ " E" , # pycodestyle errors
144+ " W" , # pycodestyle warnings
145+ " F" , # pyflakes
146+ " I" , # isort
147+ " C" , # flake8-comprehensions
148+ " B" , # flake8-bugbear
149+ " UP" , # pyupgrade
150+ " NPY" , # numpydoc
151+ " TCH" , # typecheck
152+ " A" , # flake8-annotations
153+ ]
154+ ignore = [
155+ " E501" , # line too long, handled by black
156+ " B008" , # do not perform function calls in argument defaults
157+ " C901" , # too complex
158+ " W191" , # indentation contains tabs
159+ " F722" , # syntax error in forward annotation
160+ " UP007" , # X | Y syntax while we're still supporting 3.9
161+ " UP038" , # isinstance() X | Y instance ^
162+ " B905" , # zip() without strict (isn't supported in 3.9)
163+ ]
155164
156165[tool .ruff .format ]
157166quote-style = " double"
0 commit comments