Suhasdev's picture
Fix Hugging Face Spaces deployment: add setup.py, install local package in requirements.txt, improve path setup
f0ab1a7
from setuptools import setup, find_packages
from pathlib import Path
# Read version from version.py
version_file = Path(__file__).parent / "src" / "gepa_optimizer" / "version.py"
version = "0.1.0" # Default version
if version_file.exists():
with open(version_file, 'r') as f:
for line in f:
if line.startswith('__version__'):
version = line.split('=')[1].strip().strip('"').strip("'")
break
# Read README for long description
readme_file = Path(__file__).parent / "README.md"
long_description = ""
if readme_file.exists():
with open(readme_file, 'r', encoding='utf-8') as f:
long_description = f.read()
setup(
name="gepa-optimizer",
version=version,
description="Genetic Evolutionary Prompt Agent (GEPA) - Universal Prompt Optimizer",
long_description=long_description,
long_description_content_type="text/markdown",
author="GEPA Team",
packages=find_packages(where="src"),
package_dir={"": "src"},
python_requires=">=3.8",
install_requires=[
"numpy>=1.21.0",
"pandas>=1.5.0",
"pydantic>=2.0.0",
"python-dotenv>=1.0.0",
"requests>=2.31.0",
"aiohttp>=3.8.0",
"asyncio-throttle>=1.0.0",
"openai>=1.0.0",
"anthropic>=0.18.0",
"google-generativeai>=0.3.0",
"google-genai>=0.2.0",
"Pillow>=9.0.0",
],
extras_require={
"dev": [
"pytest>=7.0.0",
"black>=22.0.0",
"flake8>=4.0.0",
],
},
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"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",
],
)