setup.py
# pylint: disable=missing-docstring
from setuptools import find_namespace_packages, setup
import tcms
def get_install_requires(path):
requires = []
links = []
with open(path, "r", encoding="utf-8") as file:
for line in file:
if line.startswith("-r "):
continue
dep_line = line.strip()
parts = dep_line.split("#egg=")
if len(parts) == 2:
links.append(dep_line)
requires.append(parts[1])
else:
requires.append(dep_line)
return requires, links
INSTALL_TARBALLS, DEPENDENCY_TARBALLS = get_install_requires(
"requirements/tarballs.txt"
)
INSTALL_BASE, DEPENDENCY_BASE = get_install_requires("requirements/base.txt")
INSTALL_REQUIRES = INSTALL_TARBALLS + INSTALL_BASE
DEPENDENCY_LINKS = DEPENDENCY_TARBALLS + DEPENDENCY_BASE
def get_long_description():
with open("README.rst", "r", encoding="utf-8") as file:
return file.read()
setup(
name="kiwitcms",
version=tcms.__version__,
description="Test Case Management System",
long_description=get_long_description(),
long_description_content_type="text/x-rst",
maintainer="Kiwi TCMS",
maintainer_email="info@kiwitcms.org",
url="https://github.com/kiwitcms/Kiwi/",
license="GPLv2",
keywords="test case",
install_requires=INSTALL_REQUIRES,
dependency_links=DEPENDENCY_LINKS,
packages=find_namespace_packages(
exclude=[
"docs*",
"kiwi_lint*",
"tests",
"*.tests",
"tcms.settings.test",
]
),
zip_safe=False,
include_package_data=True,
classifiers=[
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.11",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Testing",
],
)