mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-11-05 21:07:50 +00:00
1f8555b80e
Python 3.5 has reached end of life in September 3.5. Anyway, Tutor was not compatible because some dev dependencies, such as astroid 2.8.3, are no longer available in 3.5. This means that we can now start using many python 3.6 niceties, such as f-strings \o/
71 lines
2.2 KiB
Python
71 lines
2.2 KiB
Python
import io
|
|
import os
|
|
from setuptools import find_packages, setup
|
|
|
|
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:
|
|
readme = f.read()
|
|
# Replace img src for publication on pypi
|
|
return readme.replace("./docs/img/", "https://github.com/overhangio/tutor/raw/master/docs/img/")
|
|
|
|
|
|
def load_about():
|
|
about = {}
|
|
with io.open(
|
|
os.path.join(HERE, "tutor", "__about__.py"), "rt", encoding="utf-8"
|
|
) as f:
|
|
exec(f.read(), about) # pylint: disable=exec-used
|
|
return about
|
|
|
|
|
|
def load_requirements():
|
|
with io.open(
|
|
os.path.join(HERE, "requirements", "base.in"), "rt", encoding="utf-8"
|
|
) as f:
|
|
return [line.strip() for line in f if is_requirement(line)]
|
|
|
|
|
|
def is_requirement(line):
|
|
return not (line.strip() == "" or line.startswith("#"))
|
|
|
|
|
|
ABOUT = load_about()
|
|
|
|
setup(
|
|
name="tutor",
|
|
version=ABOUT["__version__"],
|
|
url="https://docs.tutor.overhang.io/",
|
|
project_urls={
|
|
"Documentation": "https://docs.tutor.overhang.io/",
|
|
"Code": "https://github.com/overhangio/tutor",
|
|
"Issue tracker": "https://github.com/overhangio/tutor/issues",
|
|
"Community": "https://discuss.overhang.io",
|
|
},
|
|
license="AGPLv3",
|
|
author="Overhang.io",
|
|
author_email="contact@overhang.io",
|
|
description="The Docker-based Open edX distribution designed for peace of mind",
|
|
long_description=load_readme(),
|
|
long_description_content_type="text/x-rst",
|
|
packages=find_packages(exclude=["tests*"]),
|
|
include_package_data=True,
|
|
python_requires=">=3.6",
|
|
install_requires=load_requirements(),
|
|
entry_points={"console_scripts": ["tutor=tutor.commands.cli:main"]},
|
|
classifiers=[
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: GNU Affero General Public License v3",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python",
|
|
"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",
|
|
],
|
|
)
|