- Fix author metadata (name, email, URLs) - Add LICENSE file (MIT) - Add MANIFEST.in for proper sdist packaging - Add PyPI publish workflow (.gitea/workflows/publish.yml) - Add keywords for discoverability - Align python_requires to >=3.10 across setup.py and pyproject.toml
85 lines
2.5 KiB
Python
85 lines
2.5 KiB
Python
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="jarianc",
|
|
author_email="user@example.com",
|
|
description="A command-line interface for browsing and downloading YouTube videos",
|
|
keywords="youtube, cli, download, video, yt-dlp, tui, terminal",
|
|
long_description=long_description,
|
|
long_description_content_type="text/markdown",
|
|
url="https://git.example.com/jarianc/youtube-cli",
|
|
project_urls={
|
|
"Documentation": "https://git.example.com/jarianc/youtube-cli",
|
|
"Issue Tracker": "https://git.example.com/jarianc/youtube-cli/issues",
|
|
"Source": "https://git.example.com/jarianc/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.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Multimedia :: Video",
|
|
"Topic :: Utilities",
|
|
],
|
|
python_requires=">=3.10",
|
|
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",
|
|
],
|
|
},
|
|
)
|