|
|
""" |
|
|
Setup script for BackgroundFX Pro CLI. |
|
|
Creates command-line entry point and handles installation. |
|
|
""" |
|
|
|
|
|
from setuptools import setup, find_packages |
|
|
import os |
|
|
from pathlib import Path |
|
|
|
|
|
|
|
|
readme_path = Path(__file__).parent.parent / "README.md" |
|
|
long_description = "" |
|
|
if readme_path.exists(): |
|
|
with open(readme_path, encoding="utf-8") as f: |
|
|
long_description = f.read() |
|
|
|
|
|
|
|
|
def get_requirements(): |
|
|
"""Get requirements from requirements.txt.""" |
|
|
req_file = Path(__file__).parent.parent / "requirements.txt" |
|
|
if req_file.exists(): |
|
|
with open(req_file) as f: |
|
|
return [line.strip() for line in f if line.strip() and not line.startswith("#")] |
|
|
|
|
|
|
|
|
return [ |
|
|
"click>=8.0.0", |
|
|
"rich>=10.0.0", |
|
|
"opencv-python>=4.5.0", |
|
|
"numpy>=1.19.0", |
|
|
"torch>=1.9.0", |
|
|
"gradio>=3.0.0", |
|
|
] |
|
|
|
|
|
|
|
|
setup( |
|
|
name="backgroundfx-pro", |
|
|
version="1.0.0", |
|
|
author="BackgroundFX Team", |
|
|
description="Professional video background removal and replacement", |
|
|
long_description=long_description, |
|
|
long_description_content_type="text/markdown", |
|
|
url="https://github.com/yourusername/backgroundfx-pro", |
|
|
packages=find_packages(), |
|
|
python_requires=">=3.8", |
|
|
install_requires=get_requirements(), |
|
|
extras_require={ |
|
|
"dev": [ |
|
|
"pytest>=6.0", |
|
|
"black>=21.0", |
|
|
"flake8>=3.9", |
|
|
], |
|
|
"cuda": [ |
|
|
"torch>=1.9.0+cu111", |
|
|
], |
|
|
}, |
|
|
entry_points={ |
|
|
"console_scripts": [ |
|
|
"bgfx=cli.main:main", |
|
|
"backgroundfx=cli.main:main", |
|
|
], |
|
|
}, |
|
|
classifiers=[ |
|
|
"Development Status :: 4 - Beta", |
|
|
"Intended Audience :: Developers", |
|
|
"Intended Audience :: End Users/Desktop", |
|
|
"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", |
|
|
"Topic :: Multimedia :: Video", |
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence", |
|
|
], |
|
|
) |