22name = " ssb-datadoc"
33version = " 1.5.0"
44description = " Document dataset metadata. For use in Statistics Norway's metadata system."
5- authors = [{ name = " Statistics Norway" , email = " metadata@ssb.no" }]
6- license = " MIT"
75readme = " README.md"
8- classifiers = [" Development Status :: 4 - Beta" , " Framework :: Dash" , " Typing :: Typed" ]
9-
106requires-python = " >=3.12"
7+ license = " MIT"
8+ authors = [{ name = " Statistics Norway" , email = " metadata@ssb.no" }]
9+ classifiers = [
10+ " Development Status :: 4 - Beta" ,
11+ " Framework :: Dash" ,
12+ " Typing :: Typed"
13+ ]
1114dependencies = [
12- " arrow>=1.3.0" ,
13- " dapla-toolbelt-metadata" ,
14- " dash>=2.15.0" ,
15- " dash-bootstrap-components>=1.1.0" ,
16- " flask-healthz>=0.0.3" ,
17- " gunicorn>=23.0.0" ,
18- " pydantic>=2.5.2" ,
19- " python-dotenv>=1.0.1" ,
20- " ssb-dash-components>=0.11.1" ,
15+ " arrow>=1.3.0" ,
16+ " dapla-toolbelt-metadata>=0.13.0 " ,
17+ " dash>=2.15.0" ,
18+ " dash-bootstrap-components>=1.1.0" ,
19+ " flask-healthz>=0.0.3" ,
20+ " gunicorn>=23.0.0" ,
21+ " pydantic>=2.5.2" ,
22+ " python-dotenv>=1.0.1" ,
23+ " ssb-dash-components>=0.11.1" ,
2124]
2225
23- [tool .hatch .metadata ]
24- allow-direct-references = true
25-
2626[project .urls ]
27+ changelog = " https://github.com/statisticsnorway/datadoc-editor/releases"
28+ documentation = " https://statisticsnorway.github.io/datadoc-editor"
2729homepage = " https://github.com/statisticsnorway/datadoc-editor"
2830repository = " https://github.com/statisticsnorway/datadoc-editor"
29- documentation = " https://statisticsnorway.github.io/datadoc-editor"
30- changelog = " https://github.com/statisticsnorway/datadoc-editor/releases"
3131
3232[project .scripts ]
3333datadoc = " datadoc_editor.app:main"
@@ -38,36 +38,39 @@ build-backend = "hatchling.build"
3838
3939[dependency-groups ]
4040dev = [
41- " coverage[toml]>=6.2" ,
42- " deptry>=0.12.0" ,
43- " faker>=37.1.0" ,
44- " furo>=2021.11.12" ,
45- " mypy>=0.950" ,
46- " myst-parser>=0.16.1" ,
47- " nbstripout>=0.5.0" ,
48- " pandas-stubs>=2.2.3.250308" ,
49- " pre-commit>=4.2.0" ,
50- " pyarrow-stubs>=10.0.1.9" ,
51- " pygments>=2.10.0" ,
52- " pytest>=7.1.2" ,
53- " pytest-cov>=3.0.0" ,
54- " pytest-mock>=3.14.0" ,
55- " python-kacl>=0.6.3" ,
56- " requests-mock>=1.12.1" ,
57- " ruff>=0.0.284" ,
58- " sphinx>=6.2.1" ,
59- " sphinx-autobuild>=2021.3.14" ,
60- " sphinx-autodoc-typehints>=1.24.0" ,
61- " sphinx-click>=3.0.2" ,
62- " tomli>=2.2.1" ,
63- " typeguard>=2.13.3" ,
64- " types-beautifulsoup4>=4.12.0.20250204" ,
65- " types-colorama>=0.4.15.20240311" ,
66- " types-pygments>=2.19.0.20250305" ,
67- " types-setuptools>=79.0.0.20250422" ,
68- " xdoctest[colors]>=0.15.10" ,
41+ " coverage[toml]>=6.2" ,
42+ " deptry>=0.12.0" ,
43+ " faker>=37.1.0" ,
44+ " furo>=2021.11.12" ,
45+ " mypy>=0.950" ,
46+ " myst-parser>=0.16.1" ,
47+ " nbstripout>=0.5.0" ,
48+ " pandas-stubs>=2.2.3.250308" ,
49+ " pre-commit>=4.2.0" ,
50+ " pyarrow-stubs>=10.0.1.9" ,
51+ " pygments>=2.10.0" ,
52+ " pytest>=7.1.2" ,
53+ " pytest-cov>=3.0.0" ,
54+ " pytest-mock>=3.14.0" ,
55+ " python-kacl>=0.6.3" ,
56+ " requests-mock>=1.12.1" ,
57+ " ruff>=0.0.284" ,
58+ " sphinx>=6.2.1" ,
59+ " sphinx-autobuild>=2021.3.14" ,
60+ " sphinx-autodoc-typehints>=1.24.0" ,
61+ " sphinx-click>=3.0.2" ,
62+ " tomli>=2.2.1" ,
63+ " typeguard>=2.13.3" ,
64+ " types-beautifulsoup4>=4.12.0.20250204" ,
65+ " types-colorama>=0.4.15.20240311" ,
66+ " types-pygments>=2.19.0.20250305" ,
67+ " types-setuptools>=79.0.0.20250422" ,
68+ " xdoctest[colors]>=0.15.10" ,
6969]
7070
71+ [tool .hatch .metadata ]
72+ allow-direct-references = true
73+
7174[tool .hatch .build .targets .wheel ]
7275packages = [" src/datadoc_editor" ]
7376
@@ -77,9 +80,6 @@ pythonpath = ["src/datadoc_editor"]
7780[tool .uv ]
7881required-version = " >=0.6.17"
7982
80- [tool .uv .sources ]
81- dapla-toolbelt-metadata = { git = " https://github.com/statisticsnorway/dapla-toolbelt-metadata.git" }
82-
8383[tool .coverage .paths ]
8484source = [" src" , " */site-packages" ]
8585tests = [" tests" , " */tests" ]
@@ -88,9 +88,9 @@ tests = ["tests", "*/tests"]
8888branch = true
8989source = [" datadoc_editor" ]
9090omit = [
91- " src/datadoc_editor/tests/*" ,
92- " src/datadoc_editor/__init__.py" ,
93- " src/datadoc_editor/frontend/callbacks/register.py" ,
91+ " src/datadoc_editor/tests/*" ,
92+ " src/datadoc_editor/__init__.py" ,
93+ " src/datadoc_editor/frontend/callbacks/register.py" ,
9494]
9595relative_files = true
9696
@@ -110,47 +110,57 @@ exclude = ["docs/conf.py", "noxfile.py", "gunicorn.conf.py"]
110110[[tool .mypy .overrides ]]
111111# Allow missing type hints in third-party libraries without type information.
112112module = [
113- " dash.*" ,
114- " dash_bootstrap_components" ,
115- " ssb_dash_components" ,
116- " flask_healthz" ,
117- " dapla" ,
118- " gcsfs" ,
119- " pyarrow" ,
120- " pyarrow.parquet" ,
121- " dash.development.base_component" ,
122- " pytest_mock" ,
123- " dash_extensions" ,
113+ " dash.*" ,
114+ " dash_bootstrap_components" ,
115+ " ssb_dash_components" ,
116+ " flask_healthz" ,
117+ " dapla" ,
118+ " gcsfs" ,
119+ " pyarrow" ,
120+ " pyarrow.parquet" ,
121+ " dash.development.base_component" ,
122+ " pytest_mock" ,
123+ " dash_extensions" ,
124124]
125125ignore_missing_imports = true
126126
127127# Disable specific error codes in the 'tests' package
128128# Also don't require type annotations
129129[[tool .mypy .overrides ]]
130130module = [" tests.*" ]
131- disable_error_code = [" var-annotated" , " has-type" , " no-any-return" , " no-untyped-def" ]
131+ disable_error_code = [
132+ " var-annotated" ,
133+ " has-type" ,
134+ " no-any-return" ,
135+ " no-untyped-def"
136+ ]
132137
133138[tool .ruff ]
134- force-exclude = true # Apply excludes to pre-commit
139+ force-exclude = true # Apply excludes to pre-commit
135140show-fixes = true
136141src = [" src" , " tests" ]
137- target-version = " py312" # Minimum Python version supported
138-
142+ target-version = " py312" # Minimum Python version supported
139143include = [" *.py" , " *.pyi" , " **/pyproject.toml" , " *.ipynb" ]
140- extend-exclude = [" __pycache__" , " old" , " .ipynb_checkpoints" , " noxfile.py" , " docs/conf.py" ]
144+ extend-exclude = [
145+ " __pycache__" ,
146+ " old" ,
147+ " .ipynb_checkpoints" ,
148+ " noxfile.py" ,
149+ " docs/conf.py"
150+ ]
141151
142152[tool .ruff .lint ]
143153# Ruff rules may be customized as desired: https://docs.astral.sh/ruff/rules/
144154select = [" ALL" ]
145155ignore = [
146- " A003" ,
147- " B008" ,
148- " COM812" , # Conflicts with the formatter
149- " D100" , # Suppress undocumented-public-module. Only doc of public api required.
150- " E501" , # Let the formatter handle line length
151- " TRY003" ,
152- " FIX002" , # It's OK to use TODOs if they meet the requirements
153- " PLC2401" , # Allow non-ASCII character because of norwegian letters
156+ " A003" ,
157+ " B008" ,
158+ " COM812" , # Conflicts with the formatter
159+ " D100" , # Suppress undocumented-public-module. Only doc of public api required.
160+ " E501" , # Let the formatter handle line length
161+ " TRY003" ,
162+ " FIX002" , # It's OK to use TODOs if they meet the requirements
163+ " PLC2401" , # Allow non-ASCII character because of norwegian letters
154164]
155165
156166[tool .ruff .lint .isort ]
@@ -160,26 +170,31 @@ force-single-line = true
160170max-complexity = 15
161171
162172[tool .ruff .lint .pydocstyle ]
163- convention = " google" # You can also use "numpy".
173+ convention = " google" # You can also use "numpy".
164174
165175[tool .ruff .lint .flake8-pytest-style ]
166176fixture-parentheses = false
167177
168178[tool .ruff .lint .pep8-naming ]
169- classmethod-decorators = [" classmethod" , " validator" , " root_validator" , " pydantic.validator" ]
179+ classmethod-decorators = [
180+ " classmethod" ,
181+ " validator" ,
182+ " root_validator" ,
183+ " pydantic.validator"
184+ ]
170185
171186[tool .ruff .lint .per-file-ignores ]
172187"tests/**" = [
173- " S101" , # asserts are encouraged in pytest
174- " ANN001" , # type annotations don't add value for test functions
175- " ANN002" , # type annotations don't add value for test functions
176- " ANN003" , # type annotations don't add value for test functions
177- " ANN201" , # type annotations don't add value for test functions
178- " ANN204" , # type annotations don't add value for test functions
179- " ANN205" , # type annotations don't add value for test functions
180- " ANN206" , # type annotations don't add value for test functions
181- " D103" , # docstrings are overkill for test functions
182- " D100" ,
188+ " S101" , # asserts are encouraged in pytest
189+ " ANN001" , # type annotations don't add value for test functions
190+ " ANN002" , # type annotations don't add value for test functions
191+ " ANN003" , # type annotations don't add value for test functions
192+ " ANN201" , # type annotations don't add value for test functions
193+ " ANN204" , # type annotations don't add value for test functions
194+ " ANN205" , # type annotations don't add value for test functions
195+ " ANN206" , # type annotations don't add value for test functions
196+ " D103" , # docstrings are overkill for test functions
197+ " D100" ,
183198]
184199"*/__init__.py" = [" F401" ]
185200"src/datadoc_editor/frontend/callbacks/register_callbacks.py" = [" C901" ]
0 commit comments