-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
177 lines (153 loc) · 4.29 KB
/
setup.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# --- Project configuration -------------------------------------------------
[metadata]
version = attr: fs_gitfs._version.__version__
name = fs_gitfs
author = Juergen Donnerstag
author_email = juergen.donnerstag@gmail.com
maintainer = Juergen Donnerstag
maintainer_email = juergen.donnerstag@gmail.com
url = https://github.com/jdonnerstag/py_gitfs
license = MIT
license_file = LICENSE
description = GIT filesystem extension for PyFilesystem2
long_description = file: README.md
long_description_content_type = text/markdown
platform = any
classifiers =
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy
Topic :: System :: Filesystems
Typing :: Typed
project_urls =
Bug Reports = https://github.com/jdonnerstag/py_gitfs_gitfs/issues
Documentation = https://py_gitfs.readthedocs.io/en/latest/
Wiki = https://github.com/jdonnerstag/py_gitfs_gitfs/wiki
[options]
zip_safe = false
packages = find:
package_dir =
= src
setup_requires =
setuptools >=62.6.0
install_requires =
fs~=2.4
[options.packages.find]
where = src
[options.extras_require]
dev =
pytest
pylint
black
tox
check-manifest
coverage
[bdist_wheel]
universal = 1
# --- Individual linter configuration ---------------------------------------
[pydocstyle]
inherit = false
ignore = D102,D105,D200,D203,D213,D406,D407
match-dir = (?!tests)(?!docs)[^\.].*
match = (?!test)(?!setup)[^\._].*\.py
[mypy]
#ignore_missing_imports = true
[mypy-fs_gitfs.*]
#disallow_any_decorated = false
#disallow_any_generics = false
#disallow_any_unimported = true
#disallow_subclassing_any = true
#disallow_untyped_calls = false
#disallow_untyped_defs = false
#ignore_missing_imports = false
#warn_unused_ignores = false
#warn_return_any = false
[mypy-fs_gitfs.test]
disallow_untyped_defs = false
[flake8]
extend-ignore = E203,E402,W503
max-line-length = 100
per-file-ignores =
#src/fs_gitfs/__init__.py:F401
#src/fs_gitfs/*/__init__.py:F401
#tests/*:E501
#src/fs_gitfs/opener/*:F811
#src/fs_gitfs/_fscompat.py:F401
#src/fs_gitfs/_pathcompat.py:C401
[isort]
default_section = THIRDPARTY
known_first_party = ["fs~=2.4"]
known_standard_library = sys, typing
line_length = 100
profile = black
skip_gitignore = true
# --- Test and coverage configuration ------------------------------------------
[coverage:run]
branch = true
source = fs_gitfs
relative_files = true
parallel = true
[coverage:report]
show_missing = true
skip_covered = true
exclude_lines =
pragma: no cover
if False:
it typing.TYPE_CHECKING:
@typing.overload
@overload
[tool:pytest]
markers =
slow: marks tests as slow (deselect with '-m "not slow"')
# --- Tox automation configuration ---------------------------------------------
[tox:tox]
envlist = py{37,38,39,310,311}, pypy{37,38,39}, typecheck, codestyle, docstyle, codeformat
sitepackages = false
skip_missing_interpreters = true
requires =
setuptools >=62.6.0
[testenv]
commands = python -m coverage run --rcfile {toxinidir}/setup.cfg -m pytest {posargs} {toxinidir}/tests
deps =
-rtests/requirements.txt
coverage~=7.2
py{37,38,39,310,311,py37,py38,py39}: pytest~=7.2
py{37,38,39,310,311,py37,py38,py39}: pytest-randomly~=3.12
[testenv:typecheck]
commands = mypy --config-file {toxinidir}/setup.cfg {toxinidir}/fs_gitfs
deps =
.
mypy>=0.971
[testenv:codestyle]
commands = flake8 --config={toxinidir}/setup.cfg {toxinidir}/fs_gitfs {toxinidir}/tests
deps =
flake8>=6.0.0
#flake8-builtins>=2.1.0
flake8-bugbear>=23.2.13
flake8-comprehensions>=3.10.1
flake8-mutable>=1.2.0
flake8-tuple>=0.4.1
[testenv:codeformat]
commands = black --check {toxinidir}/fs_gitfs
deps =
black>=23.1.0
[testenv:docstyle]
commands = pydocstyle --config={toxinidir}/setup.cfg {toxinidir}/fs_gitfs
deps =
pydocstyle>=6.3.0
[gh-actions]
python =
3.7: py37
3.8: py38
3.9: py39
3.10: py310
pypy-3.7: pypy37