forked from python-semantic-release/python-semantic-release
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
83 lines (75 loc) · 2.37 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
77
78
79
80
81
82
83
import re
import sys
from setuptools import find_packages, setup
def _read_long_description():
try:
with open("readme.rst") as fd:
return fd.read()
except Exception:
return None
with open("semantic_release/__init__.py", "r") as fd:
version = re.search(
r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE
).group(1)
try:
from semantic_release import setup_hook
setup_hook(sys.argv)
except ImportError:
pass
setup(
name="python-semantic-release",
version=version,
url="http://github.com/relekang/python-semantic-release",
author="Rolf Erik Lekang",
author_email="[email protected]",
description="Automatic Semantic Versioning for Python projects",
long_description=_read_long_description(),
packages=find_packages(exclude=("tests",)),
license="MIT",
install_requires=[
"click>=7,<9",
"click_log>=0.3,<1",
"gitpython>=3.0.8,<4",
"invoke>=1.4.1,<2",
"semver>=2.10,<3",
"twine>=3,<4",
"requests>=2.25,<3",
"wheel",
"python-gitlab>=2,<4",
# tomlkit used to be pinned to 0.7.0
# See https://github.com/relekang/python-semantic-release/issues/336
# and https://github.com/relekang/python-semantic-release/pull/337
# and https://github.com/relekang/python-semantic-release/issues/491
"tomlkit~=0.10",
"dotty-dict>=1.3.0,<2",
"dataclasses==0.8; python_version < '3.7.0'",
"packaging",
],
extras_require={
"test": [
"coverage>=5,<6",
"pytest>=7,<8",
"pytest-xdist>=1,<2",
"pytest-mock>=2,<3",
"responses==0.13.3",
"mock==1.3.0",
],
"docs": ["Sphinx==1.3.6", "Jinja2==3.0.3"],
"dev": ["tox", "isort", "black"],
"mypy": ["mypy", "types-requests"],
},
entry_points="""
[console_scripts]
semantic-release=semantic_release.cli:entry
""",
include_package_data=True,
classifiers=[
"Programming Language :: Python",
"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",
],
)