-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathsetup.py
76 lines (67 loc) · 2.2 KB
/
setup.py
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
import os
import setuptools
here = os.path.abspath(os.path.dirname(__file__))
try:
with open(os.path.join(here, "readme.rst")) as handle:
long_desc = handle.read()
except IOError:
# the readme should get included in source tarballs, but it shouldn't
# be in the wheel. I can't find a way to do both, so we'll just ignore
# the long_description when installing from the source tarball.
long_desc = None
dependencies = []
documentation_dependencies = [
"sphinx",
"sphinx_rtd_theme",
]
optional_dependencies = [
"pyrsistent",
]
test_dependencies = optional_dependencies + [
"pytest",
"pytest-sugar",
"coverage",
"pytest-coverage",
"hypothesis",
]
lint_dependencies = optional_dependencies + [
"ufmt",
"flake8",
'mypy;implementation_name=="cpython"',
]
setuptools.setup(
name="lenses",
version="1.2.0",
description="A lens library for python",
long_description=long_desc,
url="https://github.com/ingolemo/python-lenses",
author="Adrian Room",
author_email="[email protected]",
license="GPLv3+",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"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 :: Software Development :: Libraries",
],
keywords="lens lenses immutable functional optics",
packages=setuptools.find_packages(exclude=["tests"]),
python_requires=">=3.7, <4",
install_requires=dependencies,
tests_require=test_dependencies,
extras_require={
"docs": documentation_dependencies,
"optional": optional_dependencies,
"tests": test_dependencies,
"lints": lint_dependencies,
},
)