@@ -4,28 +4,63 @@ build-backend = "setuptools.build_meta"
44
55[tool .setuptools_scm ]
66
7- [tool .black ]
8- line-length = 88
9- include = ' \.pyi?$'
10- exclude = '''
11- /(
12- \.eggs
13- | \.git
14- | \.hg
15- | \.mypy_cache
16- | \.tox
17- | \.venv
18- | _build
19- | buck-out
20- | build
21- | dist
22- )/
23- '''
24-
25- [tool .isort ]
26- profile = " black"
27- known_first_party = [" dvc_render" ]
28- line_length = 88
7+ [project ]
8+ name = " dvc-render"
9+ description = " Dvc Render"
10+ readme = " README.rst"
11+ license = {text = " Apache-2.0" }
12+ authors = [{ name = " Iterative" , email = " support@dvc.org" }]
13+ classifiers = [
14+ " Programming Language :: Python :: 3" ,
15+ " Programming Language :: Python :: 3.8" ,
16+ " Programming Language :: Python :: 3.9" ,
17+ " Programming Language :: Python :: 3.10" ,
18+ " Programming Language :: Python :: 3.11" ,
19+ " Development Status :: 4 - Beta" ,
20+ ]
21+ requires-python = " >=3.8"
22+ dynamic = [" version" ]
23+ dependencies = []
24+
25+ [project .urls ]
26+ Issues = " https://github.com/iterative/dvc-render/issues"
27+ Source = " https://github.com/iterative/dvc-render"
28+
29+ [project .optional-dependencies ]
30+ table = [
31+ " tabulate>=0.8.7" ,
32+ " flatten_dict<1,>=0.4.1" ,
33+ ]
34+ markdown = [
35+ " dvc-render[table]" ,
36+ " matplotlib" ,
37+ ]
38+ docs = [
39+ " mkdocs==1.5.2" ,
40+ " mkdocs-gen-files==0.5.0" ,
41+ " mkdocs-material==9.3.1" ,
42+ " mkdocs-section-index==0.3.6" ,
43+ " mkdocstrings-python==1.6.3" ,
44+ ]
45+ tests = [
46+ " dvc-render[table]" ,
47+ " dvc-render[markdown]" ,
48+ " pytest==7.2.0" ,
49+ " pytest-sugar==0.9.5" ,
50+ " pytest-cov==3.0.0" ,
51+ " pytest-mock==3.8.2" ,
52+ " mypy==1.2.0" ,
53+ ]
54+ dev = [
55+ " dvc-render[table]" ,
56+ " dvc-render[markdown]" ,
57+ " dvc-render[tests]" ,
58+ " dvc-render[docs]" ,
59+ ]
60+
61+ [tool .setuptools .packages .find ]
62+ where = [" src" ]
63+ namespaces = false
2964
3065[tool .pytest .ini_options ]
3166addopts = " -ra"
@@ -70,27 +105,38 @@ module = [
70105]
71106ignore_missing_imports = true
72107
108+ [tool .codespell ]
109+ ignore-words-list = " "
73110
74- [tool .pylint .format ]
75- max-line-length = 88
76-
77- [tool .pylint .message_control ]
78- enable = [" c-extension-no-member" , " no-else-return" ]
79- disable = [
80- " missing-module-docstring" ,
81- " missing-class-docstring" ,
82- " invalid-name" ,
83- " R0801" ,
84- " C0415"
111+ [tool .ruff ]
112+ ignore = [
113+ " S101" , # assert
114+ " PLR2004" , # magic-value-comparison
115+ " PLW2901" , # redefined-loop-name
116+ " ISC001" , # single-line-implicit-string-concatenation
117+ " SIM105" , # suppressible-exception
118+ " SIM108" , # if-else-block-instead-of-if-exp
119+ " D203" , # one blank line before class
120+ " D213" , # multi-line-summary-second-line
121+ " RUF012" , # mutable class attributes
122+ " PT007" , # value types in pytest.mark.parametrize
85123]
124+ select = [
125+ " F" , " E" , " W" , " C90" , " I" , " N" , " UP" , " YTT" , " ASYNC" , " S" , " BLE" , " B" , " A" , " C4" , " T10" ,
126+ " EXE" , " ISC" , " ICN" , " G" , " INP" , " PIE" , " T20" , " PYI" , " PT" , " Q" , " RSE" , " RET" ,
127+ " SLOT" , " SIM" , " TID" , " TCH" , " ARG" , " PGH" , " PLC" , " PLE" , " PLR" , " PLW" , " TRY" ,
128+ " FLY" , " PERF101" , " RUF" ,
129+ ]
130+ show-source = true
131+ show-fixes = true
86132
87- [tool .pylint .variables ]
88- dummy-variables-rgx = " _+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_"
89- ignored-argument-names = " _.*|^ignored_|^unused_|args|kwargs"
133+ [tool .ruff .per-file-ignores ]
134+ "noxfile.py" = [" D" , " PTH" ]
135+ "tests/**" = [" S" , " ARG001" , " ARG002" , " ANN" ]
136+ "docs/**" = [" INP" ]
90137
91- [tool .codespell ]
92- ignore-words-list = " "
138+ [tool .ruff . lint . flake8-type-checking ]
139+ strict = true
93140
94- [tool .bandit ]
95- exclude_dirs = [" tests" ]
96- skips = [" B101" ]
141+ [tool .ruff .lint .isort ]
142+ known-first-party = [" {{ cookiecutter.package_name }}" ]
0 commit comments