""" setup.py ======== AI Firewall — Package setup for pip install. Install (editable / development): pip install -e . Install with embedding support: pip install -e ".[embeddings]" Install with all optional dependencies: pip install -e ".[all]" """ from setuptools import setup, find_packages with open("README.md", encoding="utf-8") as f: long_description = f.read() setup( name="ai-firewall", version="1.0.0", description="Production-ready AI Security Firewall — protect LLMs from prompt injection and adversarial attacks.", long_description=long_description, long_description_content_type="text/markdown", author="AI Firewall Contributors", license="Apache-2.0", url="https://github.com/your-org/ai-firewall", project_urls={ "Documentation": "https://github.com/your-org/ai-firewall#readme", "Source": "https://github.com/your-org/ai-firewall", "Tracker": "https://github.com/your-org/ai-firewall/issues", "Hugging Face": "https://huggingface.co/your-org/ai-firewall", }, packages=find_packages(exclude=["tests*", "examples*"]), python_requires=">=3.9", install_requires=[ "fastapi>=0.111.0", "uvicorn[standard]>=0.29.0", "pydantic>=2.6.0", ], extras_require={ "embeddings": [ "sentence-transformers>=2.7.0", "torch>=2.0.0", ], "classifier": [ "scikit-learn>=1.4.0", "joblib>=1.3.0", "numpy>=1.26.0", ], "all": [ "sentence-transformers>=2.7.0", "torch>=2.0.0", "scikit-learn>=1.4.0", "joblib>=1.3.0", "numpy>=1.26.0", "openai>=1.30.0", ], "dev": [ "pytest>=8.0.0", "pytest-asyncio>=0.23.0", "httpx>=0.27.0", "black", "ruff", "mypy", ], }, entry_points={ "console_scripts": [ "ai-firewall=ai_firewall.api_server:app", ], }, classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Topic :: Security", "Topic :: Scientific/Engineering :: Artificial Intelligence", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ], keywords="ai security firewall prompt-injection adversarial llm guardrails", )