/
setup.py
76 lines (67 loc) · 2.3 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
#!/usr/bin/env python
import os
from pathlib import Path
from setuptools import setup
import jose # noqa: F401
long_description = (Path(__file__).parent / "README.rst").read_text()
def get_packages(package):
"""
Return root package and all sub-packages.
"""
return [
dirpath
for dirpath, dirnames, filenames in os.walk(package)
if os.path.exists(os.path.join(dirpath, "__init__.py"))
]
pyasn1 = ["pyasn1"]
extras_require = {
"cryptography": ["cryptography>=3.4.0"],
"pycrypto": ["pycrypto >=2.6.0, <2.7.0"] + pyasn1,
"pycryptodome": ["pycryptodome >=3.3.1, <4.0.0"] + pyasn1,
}
# TODO: work this into the extras selection instead.
install_requires = ["ecdsa != 0.15", "rsa"] + pyasn1
setup(
name="python-jose",
author="Michael Davis",
author_email="mike.philip.davis@gmail.com",
description="JOSE implementation in Python",
license="MIT",
keywords="jose jws jwe jwt json web token security signing",
url="http://github.com/mpdavis/python-jose",
packages=get_packages("jose"),
long_description=long_description,
project_urls={
"Documentation": "https://python-jose.readthedocs.io/en/latest/",
"Source": "https://github.com/mpdavis/python-jose/",
"Tracker": "https://github.com/mpdavis/python-jose/issues/",
"Changelog": "https://github.com/mpdavis/python-jose/blob/master/CHANGELOG.md",
},
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Natural Language :: English",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Utilities",
],
extras_require=extras_require,
setup_requires=[
"pytest-runner",
"setuptools>=39.2.0",
],
tests_require=[
"ecdsa != 0.15",
"pytest",
"pytest-cov",
"pytest-runner",
],
install_requires=install_requires,
)