@@ -5,28 +5,65 @@ build-backend = "setuptools.build_meta"
55[tool .setuptools_scm ]
66write_to = " dvc_ssh/_dvc_ssh_version.py"
77
8- [tool .black ]
9- line-length = 79
10- include = ' \.pyi?$'
11- exclude = '''
12- /(
13- \.eggs
14- | \.git
15- | \.hg
16- | \.mypy_cache
17- | \.tox
18- | \.venv
19- | _build
20- | buck-out
21- | build
22- | dist
23- )/
24- '''
25-
26- [tool .isort ]
27- profile = " black"
28- known_first_party = [" dvc_ssh" ]
29- line_length = 79
8+ [project ]
9+ name = " dvc-ssh"
10+ description = " ssh plugin for dvc"
11+ readme = " README.rst"
12+ keywords = [
13+ " dvc" ,
14+ " ssh" ,
15+ ]
16+ license = { text = " Apache License 2.0" }
17+ maintainers = [{
name =
" Iterative" ,
email =
" [email protected] " }]
18+ authors = [{
name =
" Iterative" ,
email =
" [email protected] " }]
19+ requires-python = " >=3.9"
20+ classifiers = [
21+ " Development Status :: 4 - Beta" ,
22+ " Programming Language :: Python :: 3" ,
23+ " Programming Language :: Python :: 3.9" ,
24+ " Programming Language :: Python :: 3.10" ,
25+ " Programming Language :: Python :: 3.11" ,
26+ " Programming Language :: Python :: 3.12" ,
27+ ]
28+ dynamic = [" version" ]
29+ dependencies = [
30+ " dvc" ,
31+ " sshfs[bcrypt]>=2023.4.1" ,
32+ ]
33+
34+ [project .optional-dependencies ]
35+ gssapi = [" sshfs[gssapi]>=2021.11.2" ]
36+ tests = [
37+ " wheel==0.37.0" ,
38+ " dvc[testing]" ,
39+ # Test requirements
40+ " pytest==6.2.5" ,
41+ " pytest-cov==3.0.0" ,
42+ " pytest-xdist==2.4.0" ,
43+ " pytest-mock==3.6.1" ,
44+ " pytest-lazy-fixture==0.6.3" ,
45+ " pytest-docker>=1,<2" ,
46+ " flaky==3.7.0" ,
47+ " mock==4.0.3" ,
48+ " wget==3.2" ,
49+ " filelock==3.3.2" ,
50+ " xmltodict==0.12.0" ,
51+ # required by collective.checkdocs
52+ " Pygments==2.10.0" ,
53+ " collective.checkdocs==0.2" ,
54+ " pydocstyle==6.1.1" ,
55+ # type-checking
56+ " mypy==0.981" ,
57+ " types-requests==2.25.11" ,
58+ " types-tabulate==0.8.3" ,
59+ " types-toml==0.10.1" ,
60+ # optional dependencies
61+ ' pywin32>=225; sys_platform == "win32"' ,
62+ ]
63+
64+ [project .urls ]
65+ Documentation = " https://dvc.org/doc"
66+ Source = " https://github.com/iterative/dvc-ssh"
3067
3168[tool .pytest .ini_options ]
3269log_level = " debug"
@@ -51,28 +88,46 @@ warn_redundant_casts = true
5188warn_unreachable = true
5289files = [" dvc_ssh" ]
5390
54- [tool .pylint .master ]
55- extension-pkg-whitelist = [" pygit2" ]
56- init-hook = " import sys; sys.path.append(str('tests'))"
57-
58- [tool .pylint .message_control ]
59- disable = [
60- " format" , " refactoring" , " spelling" , " design" ,
61- " invalid-name" , " duplicate-code" , " fixme" ,
62- " unused-wildcard-import" , " cyclic-import" , " wrong-import-order" ,
63- " wrong-import-position" , " ungrouped-imports" , " multiple-imports" ,
64- " logging-format-interpolation" , " logging-fstring-interpolation" ,
65- " missing-function-docstring" , " missing-module-docstring" ,
66- " missing-class-docstring" , " raise-missing-from" , " import-outside-toplevel" ,
91+ [tool .ruff ]
92+ output-format = " full"
93+ show-fixes = true
94+
95+ [tool .ruff .lint ]
96+ ignore = [
97+ " N818" , " S101" , " ISC001" , " PT004" , " PT007" , " RET502" , " RET503" , " SIM105" , " SIM108" , " SIM117" ,
98+ " TRY003" , " TRY300" , " PLR2004" , " PLW2901" , " LOG007" ,
6799]
68- enable = [" c-extension-no-member" , " no-else-return" ]
100+ select = [
101+ " F" , " E" , " W" , " C90" , " I" , " N" , " UP" , " YTT" , " ASYNC" , " S" , " BLE" , " B" , " A" , " C4" , " T10" ,
102+ " EXE" , " ISC" , " ICN" , " G" , " INP" , " PIE" , " T20" , " PYI" , " PT" , " Q" , " RSE" , " RET" ,
103+ " SLOT" , " SIM" , " TID" , " TCH" , " ARG" , " PGH" , " PLC" , " PLE" , " PLR" , " PLW" , " TRY" ,
104+ " FLY" , " PERF101" , " LOG" , " RUF" , " RUF022" , " RUF023" , " RUF024" , " RUF025" , " RUF026" ,
105+ ]
106+ preview = true
107+ explicit-preview-rules = true
108+
109+ [tool .ruff .lint .flake8-pytest-style ]
110+ fixture-parentheses = false
111+ mark-parentheses = false
112+ parametrize-names-type = " csv"
113+ raises-extend-require-match-for = [" dvc.exceptions.DvcException" ]
114+
115+ [tool .ruff .lint .flake8-tidy-imports ]
116+
117+ [tool .ruff .lint .flake8-type-checking ]
118+ strict = true
119+
120+ [tool .ruff .lint .flake8-unused-arguments ]
121+ ignore-variadic-names = true
122+
123+ [tool .ruff .lint .isort ]
124+ known-first-party = [" dvc" , " dvc_data" , " dvc_objects" ]
125+
126+ [tool .ruff .lint .pep8-naming ]
127+ extend-ignore-names = [" M" , " SCM" ]
69128
70- [tool .pylint .typecheck ]
71- generated-members = [" pytest.lazy_fixture" , " logging.TRACE" , " logger.trace" , " sys.getwindowsversion" , " argparse.Namespace" ]
72- ignored-classes = [" Dvcfile" ]
73- ignored-modules = [" azure" ]
74- signature-mutators = [" funcy.decorators.decorator" ]
129+ [tool .ruff .lint .pylint ]
130+ max-args = 10
75131
76- [tool .pylint .variables ]
77- dummy-variables-rgx = " _+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_"
78- ignored-argument-names = " _.*|^ignored_|^unused_|args|kwargs"
132+ [tool .ruff .lint .per-file-ignores ]
133+ "dvc_ssh/tests/**" = [" S" , " ARG001" , " ARG002" , " TRY002" , " TRY301" ]
0 commit comments