forked from f-dangel/backpack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
141 lines (127 loc) · 4.18 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
# This file is used to configure your project.
# Read more about the various options under:
# http://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files
###############################################################################
# Main library #
###############################################################################
[metadata]
name = backpack-for-pytorch
author = Felix Dangel, Frederik Kunstner
url = https://github.com/f-dangel/backpack
description = BackPACK: Packing more into backprop
long_description = file: README.md
long_description_content_type = text/markdown; charset=UTF-8; variant=GFM
license = MIT
# Change if running only on Windows, Mac or Linux (comma-separated)
platforms = any
# Add all kinds of additional classifiers as defined under
# https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers =
Development Status :: 4 - Beta
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
[options]
zip_safe = False
packages = find:
include_package_data = True
setup_requires =
setuptools_scm
# Dependencies of the project (semicolon/line-separated):
install_requires =
torch >= 1.9.0
torchvision >= 0.7.0, < 1.0.0
einops >= 0.3.0, < 1.0.0
# Require a specific Python version, e.g. Python 2.7 or >= 3.4
python_requires = >=3.7
[options.packages.find]
exclude = test*
###############################################################################
# Development dependencies #
###############################################################################
[options.extras_require]
# Dependencies needed to run the tests (semicolon/line-separated)
test =
scipy
pytest >= 4.5.0, < 5.0.0
pytest-benchmark >= 3.2.2, < 4.0.0
pytest-optional-tests >= 0.1.1
pytest-cov
coveralls
# Dependencies needed for linting (semicolon/line-separated)
lint =
darglint
flake8
mccabe
pycodestyle
pydocstyle
pyflakes
pep8-naming
flake8-bugbear
flake8-comprehensions
flake8-tidy-imports
black
isort
# Dependencies needed to build/view the documentation (semicolon/line-separated)
docs =
matplotlib
sphinx-gallery
sphinx-rtd-theme
memory_profiler
tabulate
###############################################################################
# Development tool configurations #
###############################################################################
[isort]
profile=black
multi_line_output=3
include_trailing_comma=True
force_grid_wrap=0
use_parentheses=True
[flake8]
select = B,C,E,F,P,W,B9
max-line-length = 88
max-complexity = 10
ignore =
# replaced by B950 (max-line-length + 10%)
E501, # max-line-length
# ignored because pytorch uses dict
C408, # use {} instead of dict()
# Not Black-compatible
E203, # whitespace before :
E231, # missing whitespace after ','
W291, # trailing whitespace
W503, # line break before binary operator
W504, # line break after binary operator
exclude = docs, build, .git, docs_src/rtd, docs_src/rtd_output, .eggs
# Differences with pytorch
#
# Smaller max-line-length
# Enabled max-complexity
# No flake8-mypy (T4 range)
#
# Set of rules ignore by pytorch, probably to get around the C
#
# F401 (import unused in __init__.py) not ignored
# F403 'from module import *' used; unable to detect undefined names
# F405 Name may be undefined, or defined from star imports: module
# F821 Undefined name name
# F841 Local variable name is assigned to but never used
#
# Pytorch ignored rules that I don't see a reason to ignore (yet?):
#
# E305 Expected 2 blank lines after end of function or class
# E402 Module level import not at top of file
# E721 Do not compare types, use 'isinstance()'
# E741 Do not use variables named 'l', 'o', or 'i'
# E302 Expected 2 blank lines, found 0
# E303 Too many blank lines (3)
[darglint]
docstring_style = google
# short, long, full
strictness = full
[pydocstyle]
convention = google
match = .*\.py