#!/usr/bin/env python3
"""
YouTube Tools Package Setup
Advanced YouTube content processing pipeline for LLM workflows
"""
from setuptools import setup, find_packages
from pathlib import Path
# Read README for long description
readme_path = Path(__file__).parent.parent / "README.md"
long_description = readme_path.read_text(encoding="utf-8") if readme_path.exists() else ""
# Read requirements
requirements_path = Path(__file__).parent / "requirements.txt"
requirements = []
if requirements_path.exists():
requirements = requirements_path.read_text().strip().split('\n')
requirements = [req.strip() for req in requirements if req.strip() and not req.startswith('#')]
setup(
name="ytpipe",
version="1.0.0",
description="Advanced YouTube content processing pipeline for LLM workflows",
long_description=long_description,
long_description_content_type="text/markdown",
author="YouTube Tools Team",
author_email="dev@ytpipe.tools",
url="https://github.com/ytpipe/ytpipe",
# Package configuration
packages=find_packages(),
python_requires=">=3.8",
install_requires=requirements,
# CLI entry points
entry_points={
"console_scripts": [
"ytpipe=ytpipe.cli:main",
],
},
# Package data
package_data={
"ytpipe": [
"exporters/templates/*.html",
"exporters/templates/*.css",
"exporters/templates/*.js",
"config/*.yaml",
],
},
# Development dependencies
extras_require={
"dev": [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"pytest-benchmark>=4.0.0",
"black>=23.0.0",
"isort>=5.12.0",
"mypy>=1.0.0",
"flake8>=6.0.0",
],
"gpu": [
"torch>=1.13.0",
"torchvision>=0.14.0",
"accelerate>=0.20.0",
],
"cloud": [
"boto3>=1.26.0",
"google-cloud-storage>=2.8.0",
"azure-storage-blob>=12.14.0",
],
},
# Metadata
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Multimedia :: Video",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Text Processing :: Linguistic",
],
keywords=[
"youtube", "video-analysis", "llm", "ai", "machine-learning",
"ocr", "computer-vision", "transcription", "semantic-analysis",
"knowledge-extraction", "content-processing"
],
# Project URLs
project_urls={
"Documentation": "https://ytpipe.readthedocs.io/",
"Source": "https://github.com/ytpipe/ytpipe",
"Tracker": "https://github.com/ytpipe/ytpipe/issues",
},
)