11[build-system ]
22build-backend = " setuptools.build_meta"
3-
43requires = [
54 " setuptools==78.1.1" ,
65 " setuptools-scm" ,
@@ -42,31 +41,27 @@ classifiers = [
4241dynamic = [
4342 " version" ,
4443]
45-
4644dependencies = [
4745 " matplotlib>=3.10" ,
4846 " numpy>=1.23.0" ,
4947 " pandas>=2.1" ,
5048 " rich>=13.9.4" ,
5149]
52-
5350urls."Bug Tracker" = " https://github.com/stefmolin/data-morph/issues"
54- urls." Documentation" = " https://stefaniemolin.com/data-morph/stable/api.html"
55- urls." Homepage" = " https://stefaniemolin.com/data-morph"
56- urls." Source" = " https://github.com/stefmolin/data-morph"
51+ urls.Documentation = " https://stefaniemolin.com/data-morph/stable/api.html"
52+ urls.Homepage = " https://stefaniemolin.com/data-morph"
53+ urls.Source = " https://github.com/stefmolin/data-morph"
5754scripts.data-morph = " data_morph.cli:main"
5855
5956[dependency-groups ]
6057dev = [ " pre-commit" , { include-group = " docs" }, { include-group = " test" } ]
61-
6258test = [
6359 " pytest>=8.3.4" ,
6460 " pytest-cov>=4.1.0" ,
6561 " pytest-mock>=3.10.0" ,
6662 " pytest-randomly>=3.12.0" ,
6763 " pytest-xdist>=3.6.1" ,
6864]
69-
7065docs = [
7166 " pydata-sphinx-theme>=0.15.3" ,
7267 " sphinx>=7.2.6" ,
@@ -75,21 +70,17 @@ docs = [
7570 " sphinx-design>=0.6.1" ,
7671]
7772
78- [tool .setuptools .packages .find ]
79- where = [
80- " src" ,
81- ]
82-
83- [tool .setuptools .package-data ]
84- "data_morph.data.starter_shapes" = [
73+ [tool .setuptools ]
74+ dynamic.version = { attr = " data_morph.__version__" }
75+ package-data."data_morph.data.starter_shapes" = [
8576 " *" ,
8677]
87- "data_morph.plotting.config" = [
78+ package-data. "data_morph.plotting.config" = [
8879 " *" ,
8980]
90-
91- [ tool . setuptools . dynamic ]
92- version = { attr = " data_morph.__version__ " }
81+ packages.find.where = [
82+ " src " ,
83+ ]
9384
9485[tool .ruff ]
9586line-length = 88
@@ -126,24 +117,22 @@ lint.ignore = [
126117 " E501" , # line-too-long
127118 " TRY003" , # avoid specifying long messages outside the exception class (revisit later and consider making custom exceptions)
128119]
129-
130120lint.extend-per-file-ignores."docs/*" = [
131121 " ANN" ,
132122 " ERA" ,
133- ] # docs build (allow commented code and don't require annotations)
134-
135- lint.extend-per-file-ignores."tests/*" = [ " ANN" ] # don't require annotations for tests
123+ ] # docs build (allow commented code and don't require annotations)
124+ lint.extend-per-file-ignores."tests/*" = [ " ANN" ] # don't require annotations for tests
136125lint.isort.known-first-party = [
137126 " data_morph" ,
138127]
139128lint.isort.split-on-trailing-comma = false
140129
141130[tool .codespell ]
142131ignore-words-list = " recuse"
143- ignore-regex = ' https://([\w/\.])+'
132+ ignore-regex = " https://([\\ w/\\ .])+"
144133
145- [tool .pytest . ini_options ]
146- addopts = [
134+ [tool .pytest ]
135+ ini_options. addopts = [
147136 " -ra" ,
148137 " -l" ,
149138 " -v" ,
@@ -157,11 +146,11 @@ addopts = [
157146 " --no-cov-on-fail" ,
158147 " --cov-report=term-missing" ,
159148]
160- xfail_strict = true
161- testpaths = [
149+ ini_options. xfail_strict = true
150+ ini_options. testpaths = [
162151 " tests" ,
163152]
164- markers = [
153+ ini_options. markers = [
165154 " bounds: Run tests on bounds logic." ,
166155 " circles: Run tests on circular shapes." ,
167156 " cli: Run tests involving the CLI." ,
@@ -183,12 +172,12 @@ checks = [
183172 " SA01" , # or a see also section
184173 " SS06" , # and don't require the summary to fit on one line
185174]
186- exclude = [ # don't report on checks for these
187- ' \ .__init__$' ,
188- ' \ .__iter__$' ,
189- ' \ .__repr__$' ,
190- ' \ .__str__$' ,
175+ exclude = [ # don't report on checks for these
176+ " \\ .__init__$" ,
177+ " \\ .__iter__$" ,
178+ " \\ .__repr__$" ,
179+ " \\ .__str__$" ,
191180]
192- override_SS05 = [ # allow docstrings to start with these words
193- ' ^Unambiguous ' ,
181+ override_SS05 = [ # allow docstrings to start with these words
182+ " ^Unambiguous " ,
194183]
0 commit comments