/ pyproject.toml
pyproject.toml
  1  [build-system]
  2  requires = ["hatchling"]
  3  build-backend = "hatchling.build"
  4  
  5  [project]
  6  name = "argus-llm"
  7  version = "0.1.0"
  8  description = "Production-grade LLM observability. G-ARVIS scoring for Groundedness, Accuracy, Reliability, Variance, Inference Cost, and Safety."
  9  readme = "README.md"
 10  license = "Apache-2.0"
 11  requires-python = ">=3.9"
 12  authors = [
 13      { name = "Anil Prasad", email = "anil@ambharii.com" },
 14  ]
 15  keywords = [
 16      "llm",
 17      "observability",
 18      "monitoring",
 19      "ai-safety",
 20      "mlops",
 21      "garvis",
 22      "evaluation",
 23      "production-ai",
 24      "guardrails",
 25      "drift-detection",
 26  ]
 27  classifiers = [
 28      "Development Status :: 4 - Beta",
 29      "Intended Audience :: Developers",
 30      "Intended Audience :: Science/Research",
 31      "License :: OSI Approved :: Apache Software License",
 32      "Operating System :: OS Independent",
 33      "Programming Language :: Python :: 3",
 34      "Programming Language :: Python :: 3.9",
 35      "Programming Language :: Python :: 3.10",
 36      "Programming Language :: Python :: 3.11",
 37      "Programming Language :: Python :: 3.12",
 38      "Programming Language :: Python :: 3.13",
 39      "Topic :: Scientific/Engineering :: Artificial Intelligence",
 40      "Topic :: Software Development :: Libraries :: Python Modules",
 41      "Topic :: System :: Monitoring",
 42      "Typing :: Typed",
 43  ]
 44  dependencies = [
 45      "pydantic>=2.0",
 46      "numpy>=1.24",
 47      "structlog>=23.0",
 48  ]
 49  
 50  [project.optional-dependencies]
 51  opentelemetry = [
 52      "opentelemetry-api>=1.20",
 53      "opentelemetry-sdk>=1.20",
 54  ]
 55  prometheus = [
 56      "prometheus-client>=0.17",
 57  ]
 58  anthropic = [
 59      "anthropic>=0.25",
 60  ]
 61  openai = [
 62      "openai>=1.0",
 63  ]
 64  all = [
 65      "argus-llm[opentelemetry,prometheus,anthropic,openai]",
 66  ]
 67  dev = [
 68      "pytest>=7.0",
 69      "pytest-asyncio>=0.21",
 70      "pytest-cov>=4.0",
 71      "ruff>=0.1",
 72      "mypy>=1.5",
 73      "pre-commit>=3.0",
 74  ]
 75  
 76  [project.urls]
 77  Homepage = "https://github.com/anilatambharii/argus-ai"
 78  Documentation = "https://argus-ai.ambharii.com"
 79  Repository = "https://github.com/anilatambharii/argus-ai"
 80  Issues = "https://github.com/anilatambharii/argus-ai/issues"
 81  Changelog = "https://github.com/anilatambharii/argus-ai/blob/main/CHANGELOG.md"
 82  
 83  [tool.hatch.build.targets.wheel]
 84  packages = ["src/argus_ai"]
 85  
 86  [tool.pytest.ini_options]
 87  testpaths = ["tests"]
 88  asyncio_mode = "auto"
 89  
 90  [tool.ruff]
 91  target-version = "py39"
 92  line-length = 100
 93  
 94  [tool.ruff.lint]
 95  select = ["E", "F", "I", "N", "W", "UP", "B", "SIM", "TCH"]
 96  
 97  [tool.mypy]
 98  python_version = "3.9"
 99  strict = true
100  warn_return_any = true
101  warn_unused_configs = true