Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-governance/src/lexigram/ai/governance/constants.py: 90%

21 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 07:19 +0800

1"""Constants for AI Governance.""" 

2 

3from __future__ import annotations 

4 

5import importlib.metadata 

6 

7try: 

8 __version__: str = importlib.metadata.version("lexigram-ai-governance") 

9except ImportError: 

10 __version__ = "0.0.0" 

11 

12 

13# Environment variable prefix 

14ENV_PREFIX: str = "LEX_AI_GOVERNANCE__" 

15ENV_NESTED_DELIMITER: str = "__" 

16 

17# Budget defaults 

18DEFAULT_SOFT_LIMIT_PCT: float = 0.8 

19"""Default soft-limit threshold as a fraction of monthly budget.""" 

20 

21MAX_MONTHLY_BUDGET: float = 100_000.0 

22"""Safety ceiling for monthly budget configuration.""" 

23 

24# Rate-limit defaults 

25DEFAULT_RPM_LIMIT: int = 60 

26"""Default requests-per-minute limit when RPM enforcement is enabled.""" 

27 

28DEFAULT_TPM_LIMIT: int = 100_000 

29"""Default tokens-per-minute limit when TPM enforcement is enabled.""" 

30 

31RPM_WINDOW_SECONDS: float = 60.0 

32"""Sliding window size in seconds for RPM tracking.""" 

33 

34# Persistence 

35SPEND_TTL_SECONDS: int = 32 * 24 * 3600 

36"""TTL for monthly spend records in persistence backends (~32 days).""" 

37 

38 

39__all__ = [ 

40 "DEFAULT_RPM_LIMIT", 

41 "DEFAULT_SOFT_LIMIT_PCT", 

42 "DEFAULT_TPM_LIMIT", 

43 "ENV_NESTED_DELIMITER", 

44 "ENV_PREFIX", 

45 "MAX_MONTHLY_BUDGET", 

46 "RPM_WINDOW_SECONDS", 

47 "SPEND_TTL_SECONDS", 

48 "__version__", 

49]