#!/usr/bin/env python3 """Setup script for the package.""" import io import os import re from setuptools import find_packages from setuptools import setup PACKAGE_NAME = "ansibledoctor" def get_property(prop, project): current_dir = os.path.dirname(os.path.realpath(__file__)) result = re.search( r'{}\s*=\s*[\'"]([^\'"]*)[\'"]'.format(prop), open(os.path.join(current_dir, project, "__init__.py")).read() ) return result.group(1) def get_readme(filename="README.md"): this = os.path.abspath(os.path.dirname(__file__)) with io.open(os.path.join(this, filename), encoding="utf-8") as f: long_description = f.read() return long_description setup( name=get_property("__project__", PACKAGE_NAME), version=get_property("__version__", PACKAGE_NAME), description="Generate documentation from annotated Ansible roles using templates", keywords="ansible role documentation", author=get_property("__author__", PACKAGE_NAME), author_email=get_property("__email__", PACKAGE_NAME), url=get_property("__url__", PACKAGE_NAME), license=get_property("__license__", PACKAGE_NAME), long_description=get_readme(), long_description_content_type="text/markdown", packages=find_packages(exclude=["*.test", "test", "test.*"]), include_package_data=True, zip_safe=False, python_requires=">=3.5,<4", classifiers=[ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Topic :: Utilities", "Topic :: Software Development", "Topic :: Software Development :: Documentation", ], install_requires=[ "ruamel.yaml", "appdirs", "colorama", "anyconfig", "pathspec", "python-json-logger", "jsonschema", "jinja2", "environs", "nested-lookup" ], entry_points={"console_scripts": ["ansible-doctor = ansibledoctor.__main__:main"]}, )