-
-
Notifications
You must be signed in to change notification settings - Fork 678
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move setup information to declarative setup.cfg (#495)
Use a declarative syntax to avoid mixing code and configuration. Simplifies handling of long description and version by reducing some boilerplate. For details on this setuptools feature, see: https://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files
- Loading branch information
Showing
3 changed files
with
53 additions
and
73 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
[metadata] | ||
name = PyJWT | ||
version = attr: jwt.__version__ | ||
author = Jose Padilla | ||
author_email = hello@jpadilla.com | ||
description = JSON Web Token implementation in Python | ||
license = MIT | ||
keywords = | ||
json | ||
jwt | ||
security | ||
signing | ||
token | ||
web | ||
url = https://github.com/jpadilla/pyjwt | ||
long_description = file: README.rst | ||
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.5 | ||
Programming Language :: Python :: 3.6 | ||
Programming Language :: Python :: 3.7 | ||
Programming Language :: Python :: 3.8 | ||
Topic :: Utilities | ||
|
||
[options] | ||
python_requires = >=3.5 | ||
packages = find: | ||
|
||
[options.entry_points] | ||
console_scripts = | ||
pyjwt = jwt.__main__:main | ||
|
||
[options.extras_require] | ||
crypto = | ||
cryptography >= 1.4 | ||
tests = | ||
pytest>=4.0.1,<5.0.0 | ||
pytest-cov>=2.6.0,<3.0.0 | ||
|
||
[options.packages.find] | ||
exclude = | ||
tests | ||
tests.* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,74 +1,5 @@ | ||
#!/usr/bin/env python3 | ||
|
||
import os | ||
import re | ||
import sys | ||
from setuptools import setup | ||
|
||
from setuptools import find_packages, setup | ||
|
||
|
||
def get_version(package): | ||
""" | ||
Return package version as listed in `__version__` in `init.py`. | ||
""" | ||
with open(os.path.join(package, "__init__.py"), "rb") as init_py: | ||
src = init_py.read().decode("utf-8") | ||
return re.search("__version__ = ['\"]([^'\"]+)['\"]", src).group(1) | ||
|
||
|
||
version = get_version("jwt") | ||
|
||
with open(os.path.join(os.path.dirname(__file__), "README.rst")) as readme: | ||
long_description = readme.read() | ||
|
||
if sys.argv[-1] == "publish": | ||
if os.system("pip freeze | grep twine"): | ||
print("twine not installed.\nUse `pip install twine`.\nExiting.") | ||
sys.exit() | ||
os.system("python setup.py sdist bdist_wheel") | ||
os.system("twine upload dist/*") | ||
print("You probably want to also tag the version now:") | ||
print(" git tag -a {0} -m 'version {0}'".format(version)) | ||
print(" git push --tags") | ||
sys.exit() | ||
|
||
EXTRAS_REQUIRE = { | ||
"tests": ["pytest>=4.0.1,<5.0.0", "pytest-cov>=2.6.0,<3.0.0"], | ||
"crypto": ["cryptography >= 1.4"], | ||
} | ||
|
||
EXTRAS_REQUIRE["dev"] = ( | ||
EXTRAS_REQUIRE["tests"] + EXTRAS_REQUIRE["crypto"] + ["mypy", "pre-commit"] | ||
) | ||
|
||
setup( | ||
name="PyJWT", | ||
version=version, | ||
author="Jose Padilla", | ||
author_email="hello@jpadilla.com", | ||
description="JSON Web Token implementation in Python", | ||
license="MIT", | ||
keywords="jwt json web token security signing", | ||
url="https://github.com/jpadilla/pyjwt", | ||
packages=find_packages( | ||
exclude=["*.tests", "*.tests.*", "tests.*", "tests"] | ||
), | ||
long_description=long_description, | ||
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.5", | ||
"Programming Language :: Python :: 3.6", | ||
"Programming Language :: Python :: 3.7", | ||
"Programming Language :: Python :: 3.8", | ||
"Topic :: Utilities", | ||
], | ||
python_requires=">=3.5", | ||
extras_require=EXTRAS_REQUIRE, | ||
entry_points={"console_scripts": ["pyjwt = jwt.__main__:main"]}, | ||
) | ||
setup() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters