from setuptools import setup, find_packages

setup(
    name="airunner",
    version="3.4.0",
    author="Capsize LLC",
    description="A Stable Diffusion GUI",
    long_description=open("README.md", "r", encoding="utf-8").read(),
    long_description_content_type="text/markdown",
    keywords="ai, stable diffusion, art, ai art, stablediffusion",
    license="Apache-2.0",
    author_email="contact@capsizegames.com",
    url="https://github.com/Capsize-Games/airunner",
    package_dir={"": "src"},
    packages=find_packages("src"),
    python_requires=">=3.10.12,<3.11",
    install_requires=[
        "torch==2.6.0",
        "torchvision==0.21.0",
        "torchaudio==2.6.0",
        "accelerate==1.3.0",
        "huggingface-hub==0.28.1",
        "tokenizers==0.21.0",
        "optimum==1.24.0",
        "numpy==1.26.4",
        "pillow==11.1.0",
        "alembic==1.14.1",
        "aiosqlite==0.21.0",
        "sqlalchemy==2.0.38",
        "setuptools==75.8.0",
    ],
    extras_require={
        "gui": [
            "PySide6==6.7.0",
            "PySide6_Addons==6.7.0",
            "PySide6_Essentials==6.7.0",
        ],
        "linux": [
            "faiss-gpu==1.7.2",
            "tensorrt==10.9.0.34",
        ],
        "dev": [
            "pytest",
            "python-dotenv==1.0.1"
        ],
        "art": [
            "DeepCache==0.1.1",
            "diffusers==0.32.2",
            "controlnet_aux==0.0.9",
            "safetensors==0.5.2",
            "compel==2.0.3",
            "tomesd==0.1.3",
        ],
        "llm": [
            "transformers==4.48.1",
            "auto-gptq==0.7.1",
            "bitsandbytes==0.45.2",
            "datasets==3.2.0",
            "sentence_transformers==3.4.1",
            "sounddevice==0.5.1",
            "pyttsx3==2.91",
            "cryptography==44.0.0",
            "llama-index==0.12.14",
            "llama-index-readers-file==0.4.4",
            "llama-index-readers-web==0.3.5",
            "llama-index-llms-huggingface==0.4.2",
            "llama-index-llms-groq==0.3.1",
            "llama-index-embeddings-mistralai==0.3.0",
            "llama-index-vector-stores-faiss==0.3.0",
            "llama-index-embeddings-huggingface==0.5.1",
            "llama-index-llms-openrouter==0.3.1",
            "langchain-community==0.3.17",
            "EbookLib==0.18",
            "html2text==2024.2.26",
            "rake_nltk==1.0.6",
            "tf-keras==2.18.0",
            "peft==0.14.0",
            "lxml_html_clean==0.4.1",
        ],
        "llm_weather": [
            "requests-cache==1.2.1",
            "retry-requests==2.0.0",
            "openmeteo_requests==1.3.0",
        ],
        "tts": [
            "inflect==7.5.0",
            "pycountry==24.6.1",
        ]
    },
    package_data={
        "airunner": [
            "alembic/*",
            "cursors/*",
            "filters/*",
            "icons/*",
            "images/*",
            "styles/*",
            "widgets/**/*.ui",
            "windows/**/*.ui",
            "*.qrc",
            "*.ini",
        ],
    },
    include_package_data=True,
    entry_points={
        'console_scripts': [
            'airunner=airunner.main:main',
        ],
    },
)
