[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "reasongate" version = "0.2.0" description = "Explainable, model-agnostic LLM security gate: every block carries a reason." readme = "README.md" requires-python = ">=3.9" license = { text = "Apache-2.0" } authors = [{ name = "Cagri Temel" }] keywords = ["llm", "security", "prompt-injection", "jailbreak", "guardrail", "explainable", "ai-safety"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Topic :: Security", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] # Cekirdek (Shield + kural/normalize/indirect/canary dedektorleri) SAF PYTHON — sifir bagimlilik. dependencies = [] [project.optional-dependencies] # NOTE: the ML detector + trained model + provenance now ship in the separate # "reasongate-enterprise" add-on (installing it auto-enables them via plugins). # These extras only cover the OPEN parts: reproducing the public benchmarks and # the rule-core demo server. eval = ["voyageai>=0.3", "scikit-learn>=1.3", "numpy<2", "joblib>=1.3", "datasets>=2.0"] serve = ["fastapi>=0.104", "uvicorn>=0.24", "pydantic>=2.0"] # rule-core demo, no keys dev = ["pytest>=7", "reasongate[serve]"] [project.urls] Homepage = "https://github.com/cgrtml/reasongate" Issues = "https://github.com/cgrtml/reasongate/issues" [tool.setuptools.packages.find] include = ["reasongate*"] exclude = ["eval*", "app*", "examples*", "tests*"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q"