--- a +++ b/setup.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 + +import setuptools +from pathlib import Path + +here = Path(__file__).resolve().parent + +python_version_requirement = ">=3.6, <3.8" + +package_requirements = [ + "importlib_resources >= 1.0", + "loompy >= 2.0", + "numpy >= 1.16", + "matplotlib >= 2.0", + "pandas >= 0.24", + "pillow >= 5.4", + "scikit-learn >= 0.20", + "scipy >= 1.2", + "seaborn >= 0.9", + "tables >= 3.5", + "tensorflow >= 1.15.2, < 2", + "tensorflow-probability == 0.7" +] + +documentation_requirements = [ + "pygments >= 2.4", + "sphinx >= 2.2" +] + +extras_requirements = { + "docs": documentation_requirements +} + +about = {} + +with here.joinpath("scvae", "__init__.py").open(mode="r") as init_file: + exec(init_file.read(), about) + +with here.joinpath("README.md").open(mode="r") as readme_file: + readme = readme_file.read() + +with here.joinpath("CHANGELOG.md").open(mode="r") as changelog_file: + changelog = changelog_file.read() + +setuptools.setup( + name=about["__name__"], + version=about["__version__"], + author=about["__author__"], + author_email=about["__email__"], + description=about["__description__"], + long_description="\n\n".join([readme, changelog]), + long_description_content_type="text/markdown", + url=about["__url__"], + packages=setuptools.find_packages(), + include_package_data=True, + entry_points={ + "console_scripts": ["scvae=scvae.__main__:main"], + }, + python_requires=python_version_requirement, + install_requires=package_requirements, + extras_require=extras_requirements, + license=about["__license__"], + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + ] +)