forked from areski/django-admin-tools-stats
-
Notifications
You must be signed in to change notification settings - Fork 17
/
setup.py
86 lines (71 loc) · 2.67 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
84
85
86
import os
import re
from setuptools import find_packages, setup
import admin_tools_stats
def runtests(*args, **kwargs):
import os
import sys
import django
from django.core.management import call_command
os.environ["DJANGO_SETTINGS_MODULE"] = "demoproject.test_settings"
django.setup()
call_command("test", "admin_tools_stats")
sys.exit()
def read(*parts):
return open(os.path.join(os.path.dirname(__file__), *parts)).read()
def parse_requirements(file_name):
requirements = []
for line in open(file_name, "r").read().split("\n"):
if re.match(r"(\s*#)|(\s*$)", line):
continue
if re.match(r"\s*-e\s+", line):
requirements.append(re.sub(r"\s*-e\s+.*#egg=(.*)$", r"\1", line))
elif re.match(r"(\s*git)|(\s*hg)", line):
pass
else:
requirements.append(line)
return requirements
def parse_dependency_links(file_name):
dependency_links = []
for line in open(file_name, "r").read().split("\n"):
if re.match(r"\s*-[ef]\s+", line):
dependency_links.append(re.sub(r"\s*-[ef]\s+", "", line))
return dependency_links
setup(
name="django-admin-charts",
version=admin_tools_stats.__version__,
description="django-admin-charts - Easily configurable charts statistics for "
"`django-admin` and `django-admin-tools`",
long_description=read("README.rst"),
author="Petr Dlouhy",
author_email="[email protected]",
url="https://github.com/PetrDlouhy/django-admin-charts",
include_package_data=True,
zip_safe=False,
package_dir={"admin_tools_stats": "admin_tools_stats"},
packages=find_packages(exclude=["demoproject", "demoproject.*"]),
package_data={},
install_requires=parse_requirements("requirements.txt"),
dependency_links=parse_dependency_links("requirements.txt"),
license="MIT License",
classifiers=[
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Software Development :: Libraries :: Python Modules",
],
extras_require={
':python_version >= "3.0"': ["Django>=2.0"],
},
test_suite="setup.runtests",
)