forked from beartype/numerary
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
169 lines (147 loc) · 5.45 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
# ======================================================================================
# Copyright and other protections apply. Please see the accompanying LICENSE file for
# rights and restrictions governing use of this software. All rights not expressly
# waived or licensed are reserved. If that file is missing or appears to be modified
# from its original, then please contact the author before viewing or using this
# software in any capacity.
# ======================================================================================
[metadata] # --------------------------------------------------------------------------
name = numerary
version = attr:numerary._version.version
url = https://posita.github.io/numerary/
author = Matt Bogosian
author_email = [email protected]
project_urls =
Source Repository = https://github.com/posita/numerary/
# From <https://pypi.python.org/pypi?%3Aaction=list_classifiers>
classifiers =
Topic :: Education
Topic :: Scientific/Engineering :: Mathematics
Topic :: Software Development :: Libraries :: Python Modules
Typing :: Typed
Development Status :: 4 - Beta
Intended Audience :: Developers
Intended Audience :: Education
Intended Audience :: Science/Research
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 :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy
license = MIT License
license_files = LICENSE
description = Python hacks for type-checking numbers
long_description = file: README.md
long_description_content_type = text/markdown; charset=UTF-8
[options] # ---------------------------------------------------------------------------
packages = numerary
python_requires = >=3.7
install_requires =
typing-extensions>=3.10;python_version<'3.9'
setup_requires =
typing-extensions>=3.10;python_version<'3.9'
[options.extras_require] # ------------------------------------------------------------
dev =
beartype>=0.8,!=0.9.0 # for testing
numpy # for testing
pre-commit
setuptools-scm
sympy>=1.9 # for testing
tox
[options.package_data] # --------------------------------------------------------------
numerary = py.typed
[tox:tox] # ---------------------------------------------------------------------------
# We can't (yet) lint on 3.7 because <https://github.com/python/mypy/issues/5940> is not
# yet fixed, and we can't properly ignore the import of _get_protocol_attrs on unchecked
# branches
envlist = check, py{38,39,310}-lint{,-beartype}, py39{,-beartype}, py{37,38,310,py37,py38}-beartype
skipsdist = true
skip_missing_interpreters = true
[gh-actions] # ------------------------------------------------------------------------
python =
# See above not about lack of linting for 3.7
3.7: py37-beartype
3.8: py38-lint{,-beartype}, py38-beartype
3.9: check, py39-lint{,-beartype}, py39{,-beartype}
3.10: py310-lint{,-beartype}, py310-beartype
pypy-3.7: pypy37-beartype
pypy-3.8: pypy38-beartype
[testenv] # ---------------------------------------------------------------------------
commands =
debug: pytest {posargs}
!debug: pytest --cov=numerary --numprocesses {env:NUMBER_OF_PROCESSORS:auto} {posargs}
deps =
--editable .
beartype: beartype>=0.8,!=0.9.0
!pypy37-!pypy38: numpy
pytest
# Because ${HOME} is not passed, ~/.gitconfig is not read. To overcome this, port any
# desired user-specific exclusion configuration to .git/config. E.G.:
#
# [core]
# excludesfile = /home/username/.gitignore
#
# Alternatively, add entries directly to .git/info/exclude. See also mkdocs-exclude
# below.
pytest-gitignore
!debug: pytest-cov
!debug: pytest-xdist
sympy>=1.9
passenv =
PYTHONBREAKPOINT
setenv =
PYTHONWARNINGS = {env:PYTHONWARNINGS:ignore}
[testenv:assets] # --------------------------------------------------------------------
commands =
make -C docs
deps =
--editable .
ipython
sympy
whitelist_externals =
make
[testenv:check] # ---------------------------------------------------------------------
commands =
rm -frv site
mkdocs build --strict
python -c 'from setuptools import setup ; setup()' bdist_wheel
twine check dist/*
deps =
--editable .
mike
# See <https://github.com/mkdocs/mkdocs/issues/2448>
# See <https://github.com/mkdocstrings/mkdocstrings/issues/295>
mkdocs!=1.2
# See pytest-gitignore note above
mkdocs-exclude
mkdocs-macros-plugin
mkdocs-material
mkdocstrings
setuptools-scm
sympy
twine
whitelist_externals =
rm
[testenv:py{38,39,310}-lint{,-beartype}] # --------------------------------------------
commands =
pre-commit run --all-files --show-diff-on-failure
beartype: mypy --config-file={toxinidir}/pyproject.toml --warn-unused-ignores .
!beartype: mypy --config-file={toxinidir}/pyproject.toml .
{toxinidir}/helpers/mypy-doctests.py -a=--config-file={toxinidir}/pyproject.toml .
deps =
--editable .
beartype: beartype>=0.8,!=0.9.0
mypy>=0.930
pre-commit
sympy
[flake8] # ----------------------------------------------------------------------------
# See:
# * <https://pycodestyle.readthedocs.io/en/latest/intro.html#error-codes>
# * <https://flake8.readthedocs.io/en/latest/user/error-codes.html>
ignore =
E501, # line too long (... > ... characters)
W503, # line break occurred before a binary operator