1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- """
- .. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
- """
- import os.path
- from typing import Dict
- import setuptools
- MODULE_NAME = "DateTimeRange"
- REPOSITORY_URL = f"https://github.com/thombashi/{MODULE_NAME:s}"
- REQUIREMENT_DIR = "requirements"
- ENCODING = "utf8"
- pkg_info: Dict[str, str] = {}
- def get_release_command_class() -> Dict[str, setuptools.Command]:
- try:
- from releasecmd import ReleaseCommand
- except ImportError:
- return {}
- return {"release": ReleaseCommand}
- with open(os.path.join(MODULE_NAME.lower(), "__version__.py")) as f:
- exec(f.read(), pkg_info)
- with open("README.rst", encoding=ENCODING) as fp:
- long_description = fp.read()
- with open(os.path.join("docs", "pages", "introduction", "summary.txt"), encoding=ENCODING) as f:
- summary = f.read().strip()
- with open(os.path.join(REQUIREMENT_DIR, "requirements.txt")) as f:
- install_requires = [line.strip() for line in f if line.strip()]
- with open(os.path.join(REQUIREMENT_DIR, "test_requirements.txt")) as f:
- tests_requires = [line.strip() for line in f if line.strip()]
- setuptools.setup(
- name=MODULE_NAME,
- version=pkg_info["__version__"],
- url=REPOSITORY_URL,
- author=pkg_info["__author__"],
- author_email=pkg_info["__email__"],
- description=summary,
- include_package_data=True,
- keywords=["datetimerange", "datetime", "time range"],
- license=pkg_info["__license__"],
- long_description=long_description,
- long_description_content_type="text/x-rst",
- packages=setuptools.find_packages(exclude=["test*"]),
- project_urls={
- "Documentation": f"https://{MODULE_NAME.lower():s}.rtfd.io/",
- "Source": REPOSITORY_URL,
- "Tracker": f"{REPOSITORY_URL:s}/issues",
- },
- python_requires=">=3.6",
- install_requires=install_requires,
- tests_require=tests_requires,
- extras_require={"test": tests_requires},
- classifiers=[
- "Development Status :: 5 - Production/Stable",
- "Intended Audience :: Developers",
- "Intended Audience :: Information Technology",
- "License :: OSI Approved :: MIT License",
- "Operating System :: OS Independent",
- "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",
- "Programming Language :: Python :: 3 :: Only",
- "Topic :: Software Development :: Libraries",
- "Topic :: Software Development :: Libraries :: Python Modules",
- "Topic :: Text Processing",
- ],
- cmdclass=get_release_command_class(),
- )
|