youtube-summarizer/sdks/python/setup.py

100 lines
3.4 KiB
Python

"""
YouTube Summarizer Python SDK Setup
"""
import os
from setuptools import setup, find_packages
# Read the README file
def read_readme():
here = os.path.abspath(os.path.dirname(__file__))
readme_path = os.path.join(here, 'README.md')
if os.path.exists(readme_path):
with open(readme_path, 'r', encoding='utf-8') as f:
return f.read()
return "YouTube Summarizer Python SDK - Official client library for the YouTube Summarizer Developer Platform"
# Read version from __init__.py
def get_version():
here = os.path.abspath(os.path.dirname(__file__))
init_path = os.path.join(here, 'youtube_summarizer_sdk', '__init__.py')
with open(init_path, 'r', encoding='utf-8') as f:
for line in f:
if line.startswith('__version__'):
return line.split('=')[1].strip().strip('"').strip("'")
return "4.2.0"
setup(
name="youtube-summarizer-sdk",
version=get_version(),
author="YouTube Summarizer",
author_email="support@youtube-summarizer.com",
description="Official Python SDK for the YouTube Summarizer Developer Platform",
long_description=read_readme(),
long_description_content_type="text/markdown",
url="https://github.com/youtube-summarizer/python-sdk",
packages=find_packages(),
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"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",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Multimedia :: Video",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
],
python_requires=">=3.8",
install_requires=[
"aiohttp>=3.8.0",
"pydantic>=2.0.0",
"typing-extensions>=4.0.0",
],
extras_require={
"dev": [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"pytest-mock>=3.10.0",
"black>=22.0.0",
"flake8>=5.0.0",
"mypy>=1.0.0",
],
"mcp": [
"mcp>=0.1.0", # Model Context Protocol support
],
"all": [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"pytest-mock>=3.10.0",
"black>=22.0.0",
"flake8>=5.0.0",
"mypy>=1.0.0",
"mcp>=0.1.0",
]
},
entry_points={
"console_scripts": [
"youtube-summarizer=youtube_summarizer_sdk.cli:main",
],
},
keywords="youtube, summarizer, ai, transcript, video, api, sdk, mcp, claude",
project_urls={
"Bug Reports": "https://github.com/youtube-summarizer/python-sdk/issues",
"Source": "https://github.com/youtube-summarizer/python-sdk",
"Documentation": "https://docs.youtube-summarizer.com/python-sdk",
"API Reference": "https://api.youtube-summarizer.com/docs",
},
package_data={
"youtube_summarizer_sdk": [
"py.typed",
],
},
include_package_data=True,
zip_safe=False,
)