forked from robertmrk/aiocometd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
68 lines (60 loc) · 1.76 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
import os
from setuptools import setup, find_packages
here = os.path.abspath(os.path.dirname(__file__))
INSTALL_REQUIRES = [
"aiohttp>=3.1,<4.0"
]
TESTS_REQUIRE = [
"asynctest>=0.12.0,<1.0.0",
"coverage>=4.5,<5.0",
"docker>=3.5.1",
"flake8",
"pylint",
"mypy"
]
DOCS_REQUIRE = [
"Sphinx>=1.7,<2.0",
"sphinxcontrib-asyncio>=0.2.0",
"sphinx-autodoc-typehints"
]
EXAMPLES_REQUIRE = [
"aioconsole>=0.1.7,<1.0.0"
]
DEV_REQUIRE = []
def read(file_path):
with open(os.path.join(here, file_path)) as file:
return file.read().strip()
metadata = {}
metadata_path = os.path.join(here, "aiocometd/_metadata.py")
exec(read(metadata_path), metadata)
setup(
name=metadata["TITLE"],
version=metadata["VERSION"],
description=metadata["DESCRIPTION"],
long_description='\n\n'.join((read('DESCRIPTION.rst'),
read('docs/source/changes.rst'))),
classifiers=[
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: Implementation :: CPython",
"Framework :: AsyncIO",
"License :: OSI Approved :: MIT License"
],
keywords=metadata["KEYWORDS"],
url=metadata["URL"],
project_urls=metadata["PROJECT_URLS"],
license="MIT",
packages=find_packages(exclude=("tests*", "examples")),
python_requires=">=3.10.0",
install_requires=INSTALL_REQUIRES,
tests_require=TESTS_REQUIRE,
extras_require={
"tests": TESTS_REQUIRE,
"docs": DOCS_REQUIRE,
"examples": EXAMPLES_REQUIRE,
"dev": DEV_REQUIRE + TESTS_REQUIRE + DOCS_REQUIRE + EXAMPLES_REQUIRE
},
include_package_data=True,
test_suite="tests"
)