-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
75 lines (67 loc) · 2.35 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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from os import path as p
import pkutils
from dotenv import load_dotenv
from setuptools import find_packages, setup
PARENT_DIR = p.abspath(p.dirname(__file__))
load_dotenv()
sys.dont_write_bytecode = True
requirements = list(pkutils.parse_requirements("base-requirements.txt"))
dev_requirements = list(pkutils.parse_requirements("dev-requirements.txt"))
_prod_requirements = set(pkutils.parse_requirements("requirements.txt"))
prod_requirements = list(_prod_requirements.difference(requirements))
readme = pkutils.read("README.rst")
module = pkutils.parse_module(p.join(PARENT_DIR, "app", "__init__.py"))
license = module.__license__
version = module.__version__
project = module.__package_name__
description = module.__description__
user = "nerevu"
setup_require = [r for r in dev_requirements if "pkutils" in r]
setup(
name=project,
version=version,
description=description,
long_description=readme,
author=module.__author__,
author_email=module.__email__,
url=pkutils.get_url(project, user),
download_url=pkutils.get_dl_url(project, user, version),
packages=find_packages(exclude=["tests"]),
include_package_data=True,
package_data={
"helpers": ["helpers/*"],
"tests": ["tests/*"],
"data": ["data/*"],
},
install_requires=requirements,
extras_require={
"develop": dev_requirements,
"production": prod_requirements,
},
setup_requires=setup_require,
tests_require=dev_requirements,
license=license,
zip_safe=False,
keywords=[project] + description.split(" "),
classifiers=[
pkutils.LICENSES[license],
pkutils.get_status(version),
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: Implementation :: PyPy",
"Environment :: Web Environment",
"Framework :: Flask",
"Topic :: Software Development :: Libraries :: Python Modules",
"Intended Audience :: Developers",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
],
platforms=["MacOS X", "Windows", "Linux"],
python_requires=">=3.6",
)