-
Notifications
You must be signed in to change notification settings - Fork 2
/
setup.cfg
134 lines (118 loc) · 3.76 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
# 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 = skerch
author = aferro
URL = https://github.com/andres-fr/skerch
description = Sketched matrix decompositions for PyTorch
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.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
[options]
zip_safe = False
packages = find:
include_package_data = True
setup_requires =
setuptools_scm
# Dependencies of the project (semicolon/line-separated):
install_requires =
torch>=2.1.0,<3.0.0
scipy>=1.10.0,<2.0.0
h5py>=3.9.0,<4.0.0
torch-dct>=0.1.6,<2.0.0
# Require a specific Python version, e.g. Python 2.7 or >= 3.4
python_requires = >=3.9
###############################################################################
# Development dependencies #
###############################################################################
[options.extras_require]
# Dependencies useful for development
dev =
pre-commit
commitizen
# Dependencies needed to run the tests (semicolon/line-separated)
test =
coveralls
pytest
pytest-cov
# pytest-optional-tests
# Dependencies needed for linting (semicolon/line-separated)
lint =
black
flake8
mccabe
# pycodestyle
# pyflakes
pep8-naming
flake8-bugbear
flake8-comprehensions
flake8-tidy-imports
darglint
pydocstyle
isort
# Dependencies needed to build/view the documentation (semicolon/line-separated)
docs =
matplotlib
curvlinops-for-pytorch
sphinx-gallery
sphinx-rtd-theme
sphinx-immaterial
###############################################################################
# Development tool configurations #
###############################################################################
[isort]
profile=black
line_length = 80
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, # we do stick to 80 here
C408,
E203,
# E231,
# W291,
W503,
W504,
B905,
# F401: inported but unused (importing fixtures in pytest triggers this)
# F811: redefinition of unused variables (importing fixtures in pytest)
per-file-ignores =
test/*:F401,F811
exclude = build, .git, docs/rtd, .eggs
# [darglint]
# docstring_style = google
# strictness = full
[pydocstyle]
convention = google
match = .*\.py
match_dir = ^(?!(test|.git)).*