from typing import List from setuptools import find_packages, setup import subprocess def fetch_requirements(path) -> List[str]: """ This function reads the requirements file. Args: path (str): the path to the requirements file. Returns: The lines in the requirements file. """ with open(path, "r") as fd: return [r.strip() for r in fd.readlines()] def fetch_readme() -> str: """ This function reads the README.md file in the current directory. Returns: The lines in the README file. """ with open("README.md", encoding="utf-8") as f: return f.read() setup( name="opensora", version="1.0.0", packages=find_packages( exclude=( "assets", "configs", "docs", "outputs", "pretrained_models", "scripts", "tests", "tools", "*.egg-info", ) ), description="Democratizing Efficient Video Production for All", long_description=fetch_readme(), long_description_content_type="text/markdown", license="Apache Software License 2.0", install_requires=fetch_requirements("requirements.txt"), python_requires=">=3.6", classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: Apache Software License", "Environment :: GPU :: NVIDIA CUDA", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: System :: Distributed Computing", ], ) install_options = [ "--disable-pip-version-check", "--no-cache-dir", "--no-build-isolation", "--config-settings", "--build-option=--cpp_ext", "--config-settings", "--build-option=--cuda_ext" ] subprocess.run( ["pip", "install", "-v"] + install_options + ["git+https://github.com/sandeshrajbhandari/apex.git"], check=True, capture_output=True )