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", ], )