-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.py
94 lines (80 loc) · 2.66 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
87
88
89
90
91
92
93
94
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# pylint: disable=C0111,W6005,W6100
import os
import io
from setuptools import find_packages, setup
# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
HERE = os.path.abspath(os.path.dirname(__file__))
def load_readme():
with io.open(os.path.join(HERE, "README.rst"), "rt", encoding="utf8") as f:
return f.read()
def load_about():
about = {}
with io.open(
os.path.join(HERE, "oauth2_wordpress", "__about__.py"),
"rt",
encoding="utf-8",
) as f:
exec(f.read(), about) # pylint: disable=exec-used
return about
def load_requirements(*requirements_paths):
"""
Load all requirements from the specified requirements files.
Returns:
list: Requirements file relative path strings
"""
requirements = set()
for path in requirements_paths:
requirements.update(
line.split("#")[0].strip()
for line in open(path).readlines()
if is_requirement(line.strip())
)
return list(requirements)
def is_requirement(line):
"""
Return True if the requirement line is a package requirement.
Returns:
bool: True if the line is not blank, a comment, a URL, or an included file
"""
return not (
line == ""
or line.startswith("-c")
or line.startswith("-r")
or line.startswith("#")
or line.startswith("-e")
or line.startswith("git+")
)
README = load_readme()
ABOUT = load_about()
VERSION = ABOUT["__version__"]
setup(
name="edx-oauth2-wordpress-backend",
version=VERSION,
description=(
"An OAuth backend for the WP OAuth Wordpress Plugin, "
"that is customized for use in Open edX installations."
),
long_description=README,
author="Lawrence McDaniel, [email protected]",
author_email="[email protected]",
url="https://github.com/StepwiseMath/edx-oauth2-wordpress-backend",
project_urls={
"Code": "https://github.com/StepwiseMath/edx-oauth2-wordpress-backend",
"Issue tracker": "https://github.com/StepwiseMath/edx-oauth2-wordpress-backend/issues",
"Community": "https://stepwisemath.ai",
},
packages=find_packages(),
include_package_data=True,
package_data={"": ["*.html"]}, # include any templates found in this repo.
zip_safe=False,
keywords="Open edX, oauth, Wordpress",
python_requires=">=3.7",
install_requires=load_requirements("requirements/stable-psa.txt"),
classifiers=[
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
],
)