from setuptools import find_packages, setup with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() setup( name="youtube-cli", version="0.1.0", author="Your Name", author_email="your.email@example.com", description="A command-line interface for browsing and downloading YouTube videos", long_description=long_description, long_description_content_type="text/markdown", url="https://github.com/yourusername/youtube-cli", packages=find_packages(), classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: Console :: Curses", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Multimedia :: Video", "Topic :: Utilities", ], python_requires=">=3.7", install_requires=[ "yt-dlp", "rich>=13.0.0", "requests>=2.28.0", ], extras_require={ "dev": [ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.0.0", "black>=23.0.0", "ruff>=0.1.0", "mypy>=1.0.0", ], "api": [ "Flask==2.3.3", ], "tui": [ "textual>=0.40.0", ], }, entry_points={ "console_scripts": [ "youtube-cli=youtube_cli.main:main", "youtube-tui=youtube_tui.__main__:main", ], }, test_suite="tests", tests_require=[ "pytest>=7.0.0", "pytest-asyncio>=0.21.0", "pytest-cov>=4.0.0", ], include_package_data=True, package_data={ "youtube_tui": [ "screens/*.py", "services/*.py", "widgets/*.py", "models/*.py", ], }, )