-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
138 lines (126 loc) · 3.62 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
# 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
[metadata]
name = singd
description = KFAC-like Structured Inverse-Free Natural Gradient Descent
url = https://github.com/f-dangel/singd
author = Wu Lin, Runa Eschenhagen, Felix Dangel, Agustinus Kristiadi, Kirill Neklyudov, Alireza Makhzani
author_email =
license = MIT
long_description = KFAC-like Structured Inverse-Free Natural Gradient Descent
keywords = natural gradient descent, KFAC
# Change if running only on Windows, Mac or Linux (comma-separated)
platforms = any
# Add here all kinds of additional classifiers as defined under
# https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers =
Development Status :: 3 - Alpha
License :: OSI Approved :: MIT License
Operating System :: OS Independent
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
[options]
zip_safe = False
packages = find:
include_package_data = True
setup_requires =
setuptools_scm
# Dependencies of the project (semicolon/line-separated):
install_requires =
numpy
torch>=2.2.0
einops
einconv
# The usage of test_requires is discouraged, see `Dependency Management` docs
# tests_require = pytest; pytest-cov
# Require a specific Python version, e.g. Python 2.7 or >= 3.4
python_requires = >=3.9
# Don't include the test directory into the package
[options.packages.find]
exclude = test*, lin2023simplifying
[options.extras_require]
# Dependencies needed to run the tests (semicolon/line-separated)
test =
coveralls
pytest
pytest-cov
pytest-optional-tests
ipdb # used by the lin2023simplifying repository
torchvision
matplotlib # visual structure tests
imageio # visual structure tests
memory_profiler # for measuring memory consumption on CPU
codetiming # for measuring run time
# Dependencies needed to run the tests (semicolon/line-separated)
lint =
black
isort
flake8
mccabe
pycodestyle
pyflakes
pep8-naming
flake8-bugbear
flake8-comprehensions
flake8-tidy-imports
darglint
pydocstyle
# Dependencies needed to build the documentation
doc =
mkdocs==1.4.3
mkdocs-material==9.1.17
mkdocstrings[python]==0.22.0
mkdocs-gallery==0.7.8
matplotlib # structure visualizations
torchvision # MNIST
# Dependencies needed to run fine-tuning experiments
fine_tuning =
wandb
transformers
datasets
evaluate
py7zr
tqdm
torchmetrics
backpack-for-pytorch
# Linting
[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 = 80
max-complexity = 10
# E501, # max-line-length (replaced by B950 (max-line-length + 10%)
# C408, # use {} instead of dict() (ignored because pytorch uses dict)
# E203, # whitespace before : (not Black-compatible)
# E231, # missing whitespace after ','
# W291, # trailing whitespace
# W503, # line break before binary operator
# W504, # line break after binary operator
# B905, # `zip()` without an explicit `strict=` parameter
ignore =
E501,
C408,
E203,
E231,
W291,
W503,
W504,
B905,
exclude = build, .git, .eggs, lin2023simplifying, docs/generated
[darglint]
docstring_style = google
# short, long, full
strictness = full
[pydocstyle]
convention = google
# exclude directories, see
# https://github.com/PyCQA/pydocstyle/issues/363#issuecomment-625563088
match_dir = ^(?!(build|.git|.eggs|lin2023simplifying|docs/generated)).*
match = .*\.py