Environment Variables
Date: 2026-05-31 Total entries: 1439 Packages: 37
Generated by scanning config class fields and tracing nested config hierarchies.
Analysis
Section titled “Analysis”- Direct env access vars: 17 — accessed via
os.environ.get()outside config classes - Missing descriptions: 701 of 1439 (48%)
- Complex defaults: 28 — default values that could not be statically resolved
- Packages with NO env vars: lexigram-contracts
Package Registry
Section titled “Package Registry”lexigram (89 vars)
Section titled “lexigram (89 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_DEBUG | str | — | — | lexigram/src/lexigram/logging/debug.py *(direct env access; not config-derived)* |
LEX_LEXIGRAM__ALGORITHM | str | ’pbkdf2_sha256’ | — | lexigram/src/lexigram/security/config.py:HashingConfig.algorithm |
LEX_LEXIGRAM__ALLOWED_TAGS | set[str] | None | None | — | lexigram/src/lexigram/security/config.py:InputSanitizerConfig.allowed_tags |
LEX_LEXIGRAM__APP_NAME | str | DEFAULT_APP_NAME | — | lexigram/src/lexigram/app/config/models.py:AppConfig.app_name |
LEX_LEXIGRAM__AUTO_MAP | bool | True | Fall back to auto-mapping when no explicit mapper is registered. | lexigram/src/lexigram/mapping/config.py:MappingConfig.auto_map |
LEX_LEXIGRAM__BLAKE2B_DIGEST_SIZE | int | 64 | — | lexigram/src/lexigram/security/config.py:HashingConfig.blake2b_digest_size |
LEX_LEXIGRAM__CIRCUIT_FAILURE_THRESHOLD | int | 5 | Consecutive failures before CircuitBreakerMiddleware opens | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.circuit_failure_threshold |
LEX_LEXIGRAM__CIRCUIT_RECOVERY_TIMEOUT | float | 30.0 | Seconds before open circuit transitions to half-open | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.circuit_recovery_timeout |
LEX_LEXIGRAM__COERCE_TYPES | bool | False | — | lexigram/src/lexigram/validation/config.py:ValidationConfig.coerce_types |
LEX_LEXIGRAM__CORRELATION_HEADER | str | DEFAULT_CORRELATION_HEADER | HTTP header name used by CorrelationIdMiddleware. | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.correlation_header |
LEX_LEXIGRAM__CPU_POOL__MAX_WORKERS | int | None | None | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.cpu_pool.max_workers |
LEX_LEXIGRAM__CPU_POOL__THREAD_NAME_PREFIX | str | None | None | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.cpu_pool.thread_name_prefix |
LEX_LEXIGRAM__DEBUG | bool | False | — | lexigram/src/lexigram/app/config/models.py:AppConfig.debug |
LEX_LEXIGRAM__DEBUG_RESOLUTION | bool | False | — | lexigram/src/lexigram/di/config/models.py:DiConfig.debug_resolution |
LEX_LEXIGRAM__DEFAULT_CHANNEL_CAPACITY | int | DEFAULT_CHANNEL_CAPACITY | — | lexigram/src/lexigram/concurrency/config.py:ConcurrencyConfig.default_channel_capacity |
LEX_LEXIGRAM__DEFAULT_HASHER | str | ’sha256’ | — | lexigram/src/lexigram/security/config.py:HashingConfig.default_hasher |
LEX_LEXIGRAM__DEFAULT_RETRY_COUNT | int | DEFAULT_RETRY_COUNT | Default number of retries for RetryMiddleware. | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.default_retry_count |
LEX_LEXIGRAM__DEFAULT_RETRY_DELAY | float | DEFAULT_RETRY_DELAY | Default delay in seconds between retries. | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.default_retry_delay |
LEX_LEXIGRAM__DEFAULT_SANITIZE_MODE | str | ”allow” | — | lexigram/src/lexigram/security/config.py:InputSanitizerConfig.default_sanitize_mode |
LEX_LEXIGRAM__DEFAULT_SEMAPHORE_TIMEOUT | float | DEFAULT_SEMAPHORE_TIMEOUT | — | lexigram/src/lexigram/concurrency/config.py:ConcurrencyConfig.default_semaphore_timeout |
LEX_LEXIGRAM__DEFAULT_TIMEOUT | float | 30.0 | Default timeout in seconds for TimeoutMiddleware | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.default_timeout |
LEX_LEXIGRAM__DISCOVERY__AUTO_DISCOVER | bool | False | — | lexigram/src/lexigram/app/config/discovery.py:LexigramConfig.discovery.auto_discover |
LEX_LEXIGRAM__DISCOVERY__DIRECTORIES | list[str] | (complex) | — | lexigram/src/lexigram/app/config/discovery.py:LexigramConfig.discovery.directories |
LEX_LEXIGRAM__DISCOVERY__DISABLED_MODULES | list[str] | (complex) | — | lexigram/src/lexigram/app/config/discovery.py:LexigramConfig.discovery.disabled_modules |
LEX_LEXIGRAM__DISCOVERY__ENABLED_MODULES | list[str] | (complex) | — | lexigram/src/lexigram/app/config/discovery.py:LexigramConfig.discovery.enabled_modules |
LEX_LEXIGRAM__DISCOVERY__ENTRY_POINT_GROUP | str | ”lexigram.modules” | — | lexigram/src/lexigram/app/config/discovery.py:LexigramConfig.discovery.entry_point_group |
LEX_LEXIGRAM__DISPATCHER_SHUTDOWN_TIMEOUT | float | DEFAULT_DISPATCHER_SHUTDOWN_TIMEOUT | — | lexigram/src/lexigram/concurrency/config.py:ConcurrencyConfig.dispatcher_shutdown_timeout |
LEX_LEXIGRAM__DKLEN | int | 32 | — | lexigram/src/lexigram/security/config.py:HashingConfig.dklen |
LEX_LEXIGRAM__ENCODING | str | DEFAULT_ENCODING | — | lexigram/src/lexigram/serialization/config.py:SerializationConfig.encoding |
LEX_LEXIGRAM__ENSURE_ASCII | bool | DEFAULT_ENSURE_ASCII | — | lexigram/src/lexigram/serialization/config.py:SerializationConfig.ensure_ascii |
LEX_LEXIGRAM__ENV | str | ”production” | — | lexigram/src/lexigram/app/config/models.py:AppConfig.env |
LEX_LEXIGRAM__HASHING__ALGORITHM | str | ’pbkdf2_sha256’ | — | lexigram/src/lexigram/security/config.py:SecurityConfig.hashing.algorithm |
LEX_LEXIGRAM__HASHING__BLAKE2B_DIGEST_SIZE | int | 64 | — | lexigram/src/lexigram/security/config.py:SecurityConfig.hashing.blake2b_digest_size |
LEX_LEXIGRAM__HASHING__DEFAULT_HASHER | str | ’sha256’ | — | lexigram/src/lexigram/security/config.py:SecurityConfig.hashing.default_hasher |
LEX_LEXIGRAM__HASHING__DKLEN | int | 32 | — | lexigram/src/lexigram/security/config.py:SecurityConfig.hashing.dklen |
LEX_LEXIGRAM__HASHING__ITERATIONS | int | 100000 | — | lexigram/src/lexigram/security/config.py:SecurityConfig.hashing.iterations |
LEX_LEXIGRAM__HASHING__SALT_LENGTH | int | 16 | — | lexigram/src/lexigram/security/config.py:SecurityConfig.hashing.salt_length |
LEX_LEXIGRAM__HEALTH_CHECK_TIMEOUT | float | DEFAULT_HEALTH_CHECK_TIMEOUT | — | lexigram/src/lexigram/app/config/models.py:AppConfig.health_check_timeout |
LEX_LEXIGRAM__HEALTH__CHECK_TIMEOUT | float | DEFAULT_HEALTH_CHECK_TIMEOUT | — | lexigram/src/lexigram/app/config/models.py:LexigramConfig.health.check_timeout |
LEX_LEXIGRAM__HEALTH__INCLUDE_DETAILS | bool | True | — | lexigram/src/lexigram/app/config/models.py:LexigramConfig.health.include_details |
LEX_LEXIGRAM__HEALTH__STARTUP__TIMEOUT | float | 60.0 | — | lexigram/src/lexigram/app/config/models.py:LexigramConfig.health.startup.timeout |
LEX_LEXIGRAM__ID_PREFIX | str | "" | — | lexigram/src/lexigram/domain/config.py:DomainConfig.id_prefix |
LEX_LEXIGRAM__INDENT | int | None | None | — | lexigram/src/lexigram/serialization/config.py:SerializationConfig.indent |
LEX_LEXIGRAM__IO_POOL | ThreadPoolConfig | (complex) | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.io_pool |
LEX_LEXIGRAM__ITERATIONS | int | 100000 | — | lexigram/src/lexigram/security/config.py:HashingConfig.iterations |
LEX_LEXIGRAM__JSON_FORMAT | bool | False | JSON log format | lexigram/src/lexigram/logging/config/models.py:LoggingConfig.json_format |
LEX_LEXIGRAM__LEVEL | str | ’INFO’ | Global log level | lexigram/src/lexigram/logging/config/models.py:LoggingConfig.level |
LEX_LEXIGRAM__LEVELS | dict[str, str] | — | Per-logger level overrides | lexigram/src/lexigram/logging/config/models.py:LoggingConfig.levels |
LEX_LEXIGRAM__LOGGING__JSON_FORMAT | bool | False | JSON log format | lexigram/src/lexigram/logging/config/models.py:LexigramConfig.logging.json_format |
LEX_LEXIGRAM__LOGGING__LEVEL | str | ’INFO’ | Global log level | lexigram/src/lexigram/logging/config/models.py:LexigramConfig.logging.level |
LEX_LEXIGRAM__LOGGING__LEVELS | dict[str, str] | — | Per-logger level overrides | lexigram/src/lexigram/logging/config/models.py:LexigramConfig.logging.levels |
LEX_LEXIGRAM__LOGGING__SAMPLING__DEFAULT_RATE | float | 1.0 | — | lexigram/src/lexigram/logging/config/sampling.py:LexigramConfig.logging.sampling.default_rate |
LEX_LEXIGRAM__LOGGING__SAMPLING__ENABLED | bool | False | — | lexigram/src/lexigram/logging/config/sampling.py:LexigramConfig.logging.sampling.enabled |
LEX_LEXIGRAM__LOGGING__SAMPLING__RULES | dict[str, float] | — | — | lexigram/src/lexigram/logging/config/sampling.py:LexigramConfig.logging.sampling.rules |
LEX_LEXIGRAM__MAX_CONCURRENT_TASKS | int | 100 | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.max_concurrent_tasks |
LEX_LEXIGRAM__MAX_RESOLUTION_DEPTH | int | DEFAULT_MAX_RESOLUTION_DEPTH | — | lexigram/src/lexigram/di/config/models.py:DiConfig.max_resolution_depth |
LEX_LEXIGRAM__MAX_RETRIES | int | 3 | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.max_retries |
LEX_LEXIGRAM__MODULES | list[str] | — | Enabled modules | lexigram/src/lexigram/config/main.py:LexigramConfig.modules |
LEX_LEXIGRAM__POOL__ENABLE_METRICS | bool | False | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.pool.enable_metrics |
LEX_LEXIGRAM__POOL__MAX_SIZE | int | 10 | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.pool.max_size |
LEX_LEXIGRAM__POOL__MIN_SIZE | int | 1 | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.pool.min_size |
LEX_LEXIGRAM__POOL__TASK_QUEUE_SIZE | int | 100 | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.pool.task_queue_size |
LEX_LEXIGRAM__POOL__WORKER_TTL | float | 3600.0 | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.pool.worker_ttl |
LEX_LEXIGRAM__PREFERRED_BACKEND | JSONBackend | (complex) | — | lexigram/src/lexigram/serialization/config.py:SerializationConfig.preferred_backend |
LEX_LEXIGRAM__PREFIX_MAP | dict[str, str] | (complex) | — | lexigram/src/lexigram/identity/config.py:IdentityConfig.prefix_map |
LEX_LEXIGRAM__PREFIX_SEPARATOR | str | DEFAULT_PREFIX_SEPARATOR | — | lexigram/src/lexigram/identity/config.py:IdentityConfig.prefix_separator |
LEX_LEXIGRAM__QUEUE_TIMEOUT | float | 30.0 | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.queue_timeout |
LEX_LEXIGRAM__RATE_LIMIT_MAX_REQUESTS | int | 100 | Max requests per window for RateLimiterMiddleware | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.rate_limit_max_requests |
LEX_LEXIGRAM__RATE_LIMIT_WINDOW | float | 60.0 | Rate limit window in seconds | lexigram/src/lexigram/middleware/config.py:MiddlewareConfig.rate_limit_window |
LEX_LEXIGRAM__RETRY_FAILED_TASKS | bool | True | — | lexigram/src/lexigram/concurrency/config.py:DispatcherConfig.retry_failed_tasks |
LEX_LEXIGRAM__SALT_LENGTH | int | 16 | — | lexigram/src/lexigram/security/config.py:HashingConfig.salt_length |
LEX_LEXIGRAM__SAMPLING__DEFAULT_RATE | float | 1.0 | — | lexigram/src/lexigram/logging/config/sampling.py:LoggingConfig.sampling.default_rate |
LEX_LEXIGRAM__SAMPLING__ENABLED | bool | False | — | lexigram/src/lexigram/logging/config/sampling.py:LoggingConfig.sampling.enabled |
LEX_LEXIGRAM__SAMPLING__RULES | dict[str, float] | — | — | lexigram/src/lexigram/logging/config/sampling.py:LoggingConfig.sampling.rules |
LEX_LEXIGRAM__SANITIZATION__ALLOWED_TAGS | set[str] | None | None | — | lexigram/src/lexigram/security/config.py:SecurityConfig.sanitization.allowed_tags |
LEX_LEXIGRAM__SANITIZATION__DEFAULT_SANITIZE_MODE | str | ”allow” | — | lexigram/src/lexigram/security/config.py:SecurityConfig.sanitization.default_sanitize_mode |
LEX_LEXIGRAM__SANITIZATION__STRIP_COMMENTS | bool | True | — | lexigram/src/lexigram/security/config.py:SecurityConfig.sanitization.strip_comments |
LEX_LEXIGRAM__SHUTDOWN_TIMEOUT | float | DEFAULT_SHUTDOWN_TIMEOUT | — | lexigram/src/lexigram/app/config/models.py:AppConfig.shutdown_timeout |
LEX_LEXIGRAM__STOP_ON_FIRST_ERROR | bool | False | — | lexigram/src/lexigram/validation/config.py:ValidationConfig.stop_on_first_error |
LEX_LEXIGRAM__STRATEGY | IdStrategy | DEFAULT_ID_STRATEGY | — | lexigram/src/lexigram/identity/config.py:IdentityConfig.strategy |
LEX_LEXIGRAM__STRICT | bool | False | Raise on missing fields during mapping when True. | lexigram/src/lexigram/mapping/config.py:MappingConfig.strict |
LEX_LEXIGRAM__STRICT_IMMUTABILITY | bool | False | — | lexigram/src/lexigram/domain/config.py:DomainConfig.strict_immutability |
LEX_LEXIGRAM__STRICT_MODE | bool | False | — | lexigram/src/lexigram/di/config/models.py:DiConfig.strict_mode |
LEX_LEXIGRAM__STRIP_COMMENTS | bool | True | — | lexigram/src/lexigram/security/config.py:InputSanitizerConfig.strip_comments |
LEX_LEXIGRAM__TYPE_HINT_CACHE_SIZE | int | 2048 | — | lexigram/src/lexigram/di/config/models.py:DiConfig.type_hint_cache_size |
LEX_LEXIGRAM__VALIDATE_ON_REGISTER | bool | True | — | lexigram/src/lexigram/di/config/models.py:DiConfig.validate_on_register |
LEX_LEXIGRAM__WORKER_THREADS | int | DEFAULT_WORKER_THREADS | — | lexigram/src/lexigram/concurrency/config.py:ConcurrencyConfig.worker_threads |
LEX_PROFILE | str | — | — | lexigram/src/lexigram/config/base.py *(direct env access; not config-derived)* |
LEX_QUIET | str | — | — | lexigram/src/lexigram/app/base.py *(direct env access; not config-derived)* |
lexigram-ai (9 vars)
Section titled “lexigram-ai (9 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI__ENABLED | bool | True | Enable AI features | lexigram-ai/src/lexigram/ai/config.py:AIConfig.enabled |
LEX_AI__GOVERNANCE | Any | — | AI governance configuration | lexigram-ai/src/lexigram/ai/config.py:AIConfig.governance |
LEX_AI__LLM | Any | None | None | LLM configuration (optional) | lexigram-ai/src/lexigram/ai/config.py:AIConfig.llm |
LEX_AI__NAME | str | ’ai’ | Configuration name | lexigram-ai/src/lexigram/ai/config.py:AIConfig.name |
LEX_AI__OBSERVABILITY | Any | — | AI observability configuration (tracing and metrics) | lexigram-ai/src/lexigram/ai/config.py:AIConfig.observability |
LEX_AI__RAG | Any | None | None | RAG pipeline configuration (optional) | lexigram-ai/src/lexigram/ai/config.py:AIConfig.rag |
LEX_AI__SUBSYSTEMS | dict[str, dict[str, Any]] | — | Dynamic configuration for third-party AI subsystems discovered via entry poin… | lexigram-ai/src/lexigram/ai/config.py:AIConfig.subsystems |
LEX_AI__VECTOR | Any | None | None | Vector store configuration | lexigram-ai/src/lexigram/ai/config.py:AIConfig.vector |
LEX_ENV | str | — | — | lexigram-ai/src/lexigram/ai/config.py *(direct env access; not config-derived)* |
lexigram-ai-agents (7 vars)
Section titled “lexigram-ai-agents (7 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_AGENTS__DEFAULT_MAX_TOKENS | int | 2048 | Default max tokens for LLM responses | lexigram-ai-agents/src/lexigram/ai/agents/config.py:AgentConfig.default_max_tokens |
LEX_AI_AGENTS__DEFAULT_TEMPERATURE | float | 0.7 | Default temperature for LLM calls | lexigram-ai-agents/src/lexigram/ai/agents/config.py:AgentConfig.default_temperature |
LEX_AI_AGENTS__ENABLED | bool | True | Enable the AI agents subsystem | lexigram-ai-agents/src/lexigram/ai/agents/config.py:AgentConfig.enabled |
LEX_AI_AGENTS__ENABLE_METRICS | bool | True | Enable Prometheus metrics | lexigram-ai-agents/src/lexigram/ai/agents/config.py:AgentConfig.enable_metrics |
LEX_AI_AGENTS__ENABLE_TRACING | bool | True | Enable OpenTelemetry tracing | lexigram-ai-agents/src/lexigram/ai/agents/config.py:AgentConfig.enable_tracing |
LEX_AI_AGENTS__MAX_ITERATIONS | int | 10 | Maximum reasoning iterations per execution | lexigram-ai-agents/src/lexigram/ai/agents/config.py:AgentConfig.max_iterations |
LEX_AI_AGENTS__TOOL_MAX_RETRIES | int | 3 | Number of retries for transient tool execution errors (ConnectionError, Timeo… | lexigram-ai-agents/src/lexigram/ai/agents/config.py:AgentConfig.tool_max_retries |
lexigram-ai-feedback (3 vars)
Section titled “lexigram-ai-feedback (3 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_FEEDBACK__ASYNC_PROCESSING | bool | True | Process feedback handlers asynchronously in the background | lexigram-ai-feedback/src/lexigram/ai/feedback/config.py:FeedbackConfig.async_processing |
LEX_AI_FEEDBACK__ENABLED | bool | True | Master on/off switch for all feedback collection | lexigram-ai-feedback/src/lexigram/ai/feedback/config.py:FeedbackConfig.enabled |
LEX_AI_FEEDBACK__STORE_RAW_PAYLOADS | bool | False | Persist raw incoming feedback payloads for auditing | lexigram-ai-feedback/src/lexigram/ai/feedback/config.py:FeedbackConfig.store_raw_payloads |
lexigram-ai-llm (26 vars)
Section titled “lexigram-ai-llm (26 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_LLM__API_BASE | str | None | None | Custom API base URL (for Azure, local, or proxied endpoints). | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.api_base |
LEX_AI_LLM__API_KEY | SecretStr | None | None | API key for the chosen provider. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.api_key |
LEX_AI_LLM__BACKEND | Literal[‘memory’, ‘database’] | ‘memory’ | Backend type: memory or database. | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:QuotaConfig.backend |
LEX_AI_LLM__BASE_URL | str | None | None | Base URL override (local providers, Azure, custom endpoints). | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:ProviderConfig.base_url |
LEX_AI_LLM__BATCH_SIZE | int | 100 | — | lexigram-ai-llm/src/lexigram/ai/llm/embedding/config.py:EmbeddingConfig.batch_size |
LEX_AI_LLM__CACHE_TTL | int | 3600 | Cache TTL in seconds. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.cache_ttl |
LEX_AI_LLM__DEFAULTS | GenerationDefaults | — | Default generation parameters. | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:LLMConfig.defaults |
LEX_AI_LLM__DIMENSIONS | int | None | None | — | lexigram-ai-llm/src/lexigram/ai/llm/embedding/config.py:EmbeddingConfig.dimensions |
LEX_AI_LLM__ENABLED | bool | True | Enable the LLM subsystem | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.enabled |
LEX_AI_LLM__ENABLE_CACHE | bool | False | Enable response caching (requires CacheBackendProtocol in container). | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.enable_cache |
LEX_AI_LLM__EXTRA | dict[str, Any] | — | Provider-specific extra parameters passed verbatim. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.extra |
LEX_AI_LLM__EXTRAS | dict[str, str] | — | Provider-specific credential fields: azure_resource, azure_deployment, azure_… | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:ProviderConfig.extras |
LEX_AI_LLM__LOGGING__BACKEND | Literal[‘memory’, ‘database’] | ‘memory’ | Backend type: memory or database. | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:LLMConfig.logging.backend |
LEX_AI_LLM__LOGGING__MAX_ENTRIES | int | 1000 | Maximum in-memory log entries before FIFO eviction. | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:LLMConfig.logging.max_entries |
LEX_AI_LLM__MAX_ENTRIES | int | 1000 | Maximum in-memory log entries before FIFO eviction. | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:LogConfig.max_entries |
LEX_AI_LLM__MAX_TOKENS | int | None | None | Maximum tokens in response. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.max_tokens |
LEX_AI_LLM__MODEL | str | ’gpt-4-turbo’ | Model name or identifier. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.model |
LEX_AI_LLM__NAME | str | — | Provider name (must match ProviderRegistry key). | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:ProviderConfig.name |
LEX_AI_LLM__PROVIDER | ModelProvider | ModelProvider.OPENAI | LLM provider name. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.provider |
LEX_AI_LLM__PROVIDERS | list[ProviderConfig] | — | Ordered list of providers (cascade order). First = highest priority. | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:LLMConfig.providers |
LEX_AI_LLM__QUOTA__BACKEND | Literal[‘memory’, ‘database’] | ‘memory’ | Backend type: memory or database. | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:LLMConfig.quota.backend |
LEX_AI_LLM__STRATEGY | Literal[‘sequential’, ‘parallel_race’, ‘cost_optimized’, ‘latency_optimized’] | ‘sequential’ | Routing strategy. sequential: try providers in cascade order. “parallel_… | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:LLMConfig.strategy |
LEX_AI_LLM__SUPPRESS_THINKING | bool | False | When True, the LLM client actively disables thinking/chain-of-thought token g… | lexigram-ai-llm/src/lexigram/ai/llm/routing/config.py:ProviderConfig.suppress_thinking |
LEX_AI_LLM__TEMPERATURE | float | 0.7 | Sampling temperature. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.temperature |
LEX_AI_LLM__THINKING | ThinkingConfig | None | None | Thinking/reasoning configuration. None disables thinking. Set to a “Thi… | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.thinking |
LEX_AI_LLM__TIMEOUT | float | 60.0 | Request timeout in seconds. | lexigram-ai-llm/src/lexigram/ai/llm/config.py:ClientConfig.timeout |
lexigram-ai-mcp (30 vars)
Section titled “lexigram-ai-mcp (30 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_MCP__CLIENT_STDIO_COMMAND | list[str] | (complex) | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.client_stdio_command |
LEX_AI_MCP__CLIENT_URL | str | None | None | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.client_url |
LEX_AI_MCP__CONNECTORS__FILESYSTEM__READ_ONLY | bool | False | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.filesystem.read_only |
LEX_AI_MCP__CONNECTORS__FILESYSTEM__ROOT_DIR | str | "" | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.filesystem.root_dir |
LEX_AI_MCP__CONNECTORS__GITHUB__API_URL | str | ”https://api.github.com” | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.github.api_url |
LEX_AI_MCP__CONNECTORS__GITHUB__TOKEN | str | "" | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.github.token |
LEX_AI_MCP__CONNECTORS__GOOGLE_DRIVE__IMPERSONATED_EMAIL | str | "" | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.google_drive.impersonated_email |
LEX_AI_MCP__CONNECTORS__GOOGLE_DRIVE__SERVICE_ACCOUNT_JSON | str | "" | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.google_drive.service_account_json |
LEX_AI_MCP__CONNECTORS__SLACK__BOT_TOKEN | str | "" | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.slack.bot_token |
LEX_AI_MCP__CONNECTORS__SLACK__MAX_MESSAGES | int | 100 | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.slack.max_messages |
LEX_AI_MCP__CONNECTORS__SQL__ALLOWED_TABLES | list[str] | (complex) | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.sql.allowed_tables |
LEX_AI_MCP__CONNECTORS__SQL__DSN | str | "" | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.sql.dsn |
LEX_AI_MCP__CONNECTORS__SQL__READ_ONLY | bool | True | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.sql.read_only |
LEX_AI_MCP__CONNECTORS__WEB_FETCH__ENABLED | bool | False | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.web_fetch.enabled |
LEX_AI_MCP__CONNECTORS__WEB_FETCH__MAX_CONTENT_BYTES | int | 512 * 1024 | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.web_fetch.max_content_bytes |
LEX_AI_MCP__CONNECTORS__WEB_FETCH__USER_AGENT | str | ”lexigram-mcp/1.0” | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.web_fetch.user_agent |
LEX_AI_MCP__CONNECTORS__WEB_SEARCH__API_KEY | str | "" | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.web_search.api_key |
LEX_AI_MCP__CONNECTORS__WEB_SEARCH__MAX_RESULTS | int | 10 | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.web_search.max_results |
LEX_AI_MCP__CONNECTORS__WEB_SEARCH__PROVIDER | str | ”brave” | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.connectors.web_search.provider |
LEX_AI_MCP__CORS_ORIGINS | list[str] | (complex) | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.cors_origins |
LEX_AI_MCP__ENABLED | bool | True | Enable the MCP server subsystem | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.enabled |
LEX_AI_MCP__ENABLE_SSE | bool | True | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.enable_sse |
LEX_AI_MCP__HOST | str | ’0.0.0.0’ | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.host |
LEX_AI_MCP__MAX_REQUEST_SIZE | int | 1024 * 1024 | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.max_request_size |
LEX_AI_MCP__PATH | str | ’/mcp’ | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.path |
LEX_AI_MCP__PORT | int | 8080 | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.port |
LEX_AI_MCP__REQUEST_TIMEOUT | float | 30.0 | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.request_timeout |
LEX_AI_MCP__SERVER_NAME | str | ’lexigram-mcp’ | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.server_name |
LEX_AI_MCP__SERVER_VERSION | str | ’1.0.0’ | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.server_version |
LEX_AI_MCP__STDIO_MODE | bool | False | — | lexigram-ai-mcp/src/lexigram/ai/mcp/config.py:MCPConfig.stdio_mode |
lexigram-ai-memory (37 vars)
Section titled “lexigram-ai-memory (37 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_MEMORY__AGE_THRESHOLD_HOURS | float | const.DEFAULT_CONSOLIDATION_AGE_THRESHOLD_HOURS | Minimum entry age (hours) before it can be consolidated | lexigram-ai-memory/src/lexigram/ai/memory/config.py:ConsolidationConfig.age_threshold_hours |
LEX_AI_MEMORY__BATCH_SIZE | int | const.DEFAULT_CONSOLIDATION_BATCH_SIZE | Maximum entries processed per consolidation pass | lexigram-ai-memory/src/lexigram/ai/memory/config.py:ConsolidationConfig.batch_size |
LEX_AI_MEMORY__CONSOLIDATION__AGE_THRESHOLD_HOURS | float | const.DEFAULT_CONSOLIDATION_AGE_THRESHOLD_HOURS | Minimum entry age (hours) before it can be consolidated | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.consolidation.age_threshold_hours |
LEX_AI_MEMORY__CONSOLIDATION__BATCH_SIZE | int | const.DEFAULT_CONSOLIDATION_BATCH_SIZE | Maximum entries processed per consolidation pass | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.consolidation.batch_size |
LEX_AI_MEMORY__CONSOLIDATION__ENABLED | bool | True | Whether automatic background consolidation is active | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.consolidation.enabled |
LEX_AI_MEMORY__CONSOLIDATION__IMPORTANCE_PRUNE_THRESHOLD | float | const.DEFAULT_CONSOLIDATION_IMPORTANCE_PRUNE | Entries below this importance score are eligible for pruning | ...-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.consolidation.importance_prune_threshold |
LEX_AI_MEMORY__CONSOLIDATION__INTERVAL_SECONDS | float | const.DEFAULT_CONSOLIDATION_INTERVAL_S | How often to run a consolidation pass (seconds) | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.consolidation.interval_seconds |
LEX_AI_MEMORY__DEFAULT_BACKEND | str | const.DEFAULT_BACKEND | Backend type to use (‘in_memory’, ‘cache’, ‘database’, ‘vector’) | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.default_backend |
LEX_AI_MEMORY__DEFAULT_TOP_K | int | const.DEFAULT_EPISODIC_TOP_K | Default number of episodes to retrieve | lexigram-ai-memory/src/lexigram/ai/memory/config.py:EpisodicMemoryConfig.default_top_k |
LEX_AI_MEMORY__ENABLED | bool | True | Whether automatic background consolidation is active | lexigram-ai-memory/src/lexigram/ai/memory/config.py:ConsolidationConfig.enabled |
LEX_AI_MEMORY__EPISODIC_FRACTION | float | const.DEFAULT_EPISODIC_FRACTION | Fraction of remaining budget for episodic recall | lexigram-ai-memory/src/lexigram/ai/memory/config.py:WorkingMemoryConfig.episodic_fraction |
LEX_AI_MEMORY__EPISODIC__DEFAULT_TOP_K | int | const.DEFAULT_EPISODIC_TOP_K | Default number of episodes to retrieve | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.episodic.default_top_k |
LEX_AI_MEMORY__EPISODIC__IMPORTANCE_WEIGHT | float | const.DEFAULT_IMPORTANCE_WEIGHT | Weight applied to entry importance during scoring | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.episodic.importance_weight |
LEX_AI_MEMORY__EPISODIC__RECENCY_WEIGHT | float | const.DEFAULT_RECENCY_WEIGHT | Weight applied to temporal recency during scoring | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.episodic.recency_weight |
LEX_AI_MEMORY__EPISODIC__RELEVANCE_WEIGHT | float | const.DEFAULT_RELEVANCE_WEIGHT | Weight applied to semantic similarity during scoring | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.episodic.relevance_weight |
LEX_AI_MEMORY__EPISODIC__TTL_SECONDS | int | const.DEFAULT_EPISODIC_TTL_SECONDS | Time-to-live for entries in seconds (0 = never expire) | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.episodic.ttl_seconds |
LEX_AI_MEMORY__IMPORTANCE_PRUNE_THRESHOLD | float | const.DEFAULT_CONSOLIDATION_IMPORTANCE_PRUNE | Entries below this importance score are eligible for pruning | lexigram-ai-memory/src/lexigram/ai/memory/config.py:ConsolidationConfig.importance_prune_threshold |
LEX_AI_MEMORY__IMPORTANCE_WEIGHT | float | const.DEFAULT_IMPORTANCE_WEIGHT | Weight applied to entry importance during scoring | lexigram-ai-memory/src/lexigram/ai/memory/config.py:EpisodicMemoryConfig.importance_weight |
LEX_AI_MEMORY__INTERVAL_SECONDS | float | const.DEFAULT_CONSOLIDATION_INTERVAL_S | How often to run a consolidation pass (seconds) | lexigram-ai-memory/src/lexigram/ai/memory/config.py:ConsolidationConfig.interval_seconds |
LEX_AI_MEMORY__MAX_FACTS_PER_ENTITY | int | const.DEFAULT_MAX_FACTS_PER_ENTITY | Hard cap on stored facts per entity | lexigram-ai-memory/src/lexigram/ai/memory/config.py:SemanticMemoryConfig.max_facts_per_entity |
LEX_AI_MEMORY__MAX_RECENT_TURNS | int | const.DEFAULT_MAX_RECENT_TURNS | Hard cap on recent turns regardless of budget | lexigram-ai-memory/src/lexigram/ai/memory/config.py:WorkingMemoryConfig.max_recent_turns |
LEX_AI_MEMORY__MIN_CONFIDENCE | float | const.DEFAULT_MIN_CONFIDENCE | Minimum confidence score required to store a fact | lexigram-ai-memory/src/lexigram/ai/memory/config.py:SemanticMemoryConfig.min_confidence |
LEX_AI_MEMORY__RECENCY_WEIGHT | float | const.DEFAULT_RECENCY_WEIGHT | Weight applied to temporal recency during scoring | lexigram-ai-memory/src/lexigram/ai/memory/config.py:EpisodicMemoryConfig.recency_weight |
LEX_AI_MEMORY__RECENT_TURNS_FRACTION | float | const.DEFAULT_RECENT_TURNS_FRACTION | Fraction of remaining budget for recent turns | lexigram-ai-memory/src/lexigram/ai/memory/config.py:WorkingMemoryConfig.recent_turns_fraction |
LEX_AI_MEMORY__RELEVANCE_WEIGHT | float | const.DEFAULT_RELEVANCE_WEIGHT | Weight applied to semantic similarity during scoring | lexigram-ai-memory/src/lexigram/ai/memory/config.py:EpisodicMemoryConfig.relevance_weight |
LEX_AI_MEMORY__SEMANTIC_FRACTION | float | const.DEFAULT_SEMANTIC_FRACTION | Fraction of remaining budget for semantic facts | lexigram-ai-memory/src/lexigram/ai/memory/config.py:WorkingMemoryConfig.semantic_fraction |
LEX_AI_MEMORY__SEMANTIC__MAX_FACTS_PER_ENTITY | int | const.DEFAULT_MAX_FACTS_PER_ENTITY | Hard cap on stored facts per entity | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.semantic.max_facts_per_entity |
LEX_AI_MEMORY__SEMANTIC__MIN_CONFIDENCE | float | const.DEFAULT_MIN_CONFIDENCE | Minimum confidence score required to store a fact | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.semantic.min_confidence |
LEX_AI_MEMORY__SYSTEM_PROMPT_TOKENS | int | const.DEFAULT_SYSTEM_PROMPT_TOKENS | Fixed token allocation for system prompt | lexigram-ai-memory/src/lexigram/ai/memory/config.py:WorkingMemoryConfig.system_prompt_tokens |
LEX_AI_MEMORY__TOOL_DESCRIPTIONS_FRACTION | float | const.DEFAULT_TOOL_DESC_FRACTION | Fraction of remaining budget for tool descriptions | lexigram-ai-memory/src/lexigram/ai/memory/config.py:WorkingMemoryConfig.tool_descriptions_fraction |
LEX_AI_MEMORY__TTL_SECONDS | int | const.DEFAULT_EPISODIC_TTL_SECONDS | Time-to-live for entries in seconds (0 = never expire) | lexigram-ai-memory/src/lexigram/ai/memory/config.py:EpisodicMemoryConfig.ttl_seconds |
LEX_AI_MEMORY__WORKING__EPISODIC_FRACTION | float | const.DEFAULT_EPISODIC_FRACTION | Fraction of remaining budget for episodic recall | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.working.episodic_fraction |
LEX_AI_MEMORY__WORKING__MAX_RECENT_TURNS | int | const.DEFAULT_MAX_RECENT_TURNS | Hard cap on recent turns regardless of budget | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.working.max_recent_turns |
LEX_AI_MEMORY__WORKING__RECENT_TURNS_FRACTION | float | const.DEFAULT_RECENT_TURNS_FRACTION | Fraction of remaining budget for recent turns | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.working.recent_turns_fraction |
LEX_AI_MEMORY__WORKING__SEMANTIC_FRACTION | float | const.DEFAULT_SEMANTIC_FRACTION | Fraction of remaining budget for semantic facts | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.working.semantic_fraction |
LEX_AI_MEMORY__WORKING__SYSTEM_PROMPT_TOKENS | int | const.DEFAULT_SYSTEM_PROMPT_TOKENS | Fixed token allocation for system prompt | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.working.system_prompt_tokens |
LEX_AI_MEMORY__WORKING__TOOL_DESCRIPTIONS_FRACTION | float | const.DEFAULT_TOOL_DESC_FRACTION | Fraction of remaining budget for tool descriptions | lexigram-ai-memory/src/lexigram/ai/memory/config.py:MemoryConfig.working.tool_descriptions_fraction |
lexigram-ai-observability (4 vars)
Section titled “lexigram-ai-observability (4 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_OBSERVABILITY__ENABLED | bool | True | Master on/off switch for all observability | lexigram-ai-observability/src/lexigram/ai/observability/config.py:ObservabilityConfig.enabled |
LEX_AI_OBSERVABILITY__HEALTH_CHECKS_ENABLED | bool | True | Enable background health checking for AI components | ...i-observability/src/lexigram/ai/observability/config.py:ObservabilityConfig.health_checks_enabled |
LEX_AI_OBSERVABILITY__METRICS_ENABLED | bool | True | Enable metrics collection | ...gram-ai-observability/src/lexigram/ai/observability/config.py:ObservabilityConfig.metrics_enabled |
LEX_AI_OBSERVABILITY__TRACING_ENABLED | bool | True | Enable distributed tracing | ...gram-ai-observability/src/lexigram/ai/observability/config.py:ObservabilityConfig.tracing_enabled |
lexigram-ai-rag (126 vars)
Section titled “lexigram-ai-rag (126 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_RAG__AUTO_EVALUATE_EVERY_N | int | None | None | Run automatic evaluation every N pipeline requests. None disables auto-evalua… | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.auto_evaluate_every_n |
LEX_AI_RAG__CACHE_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PostProcessingConfig.cache_enabled |
LEX_AI_RAG__CACHE_RESULTS | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PostProcessingConfig.cache_results |
LEX_AI_RAG__CACHE_TTL | int | 3600 | Cache TTL in seconds (default: 1 hour) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.cache_ttl |
LEX_AI_RAG__CHUNKING_STRATEGY | str | ’recursive’ | Chunking strategy (recursive, semantic, token) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.chunking_strategy |
LEX_AI_RAG__CHUNK_OVERLAP | int | 50 | Overlap between consecutive chunks | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.chunk_overlap |
LEX_AI_RAG__CHUNK_SIZE | int | 512 | Text chunk size in tokens | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.chunk_size |
LEX_AI_RAG__CITATIONS_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:ContextOptimizationConfig.citations_enabled |
LEX_AI_RAG__CITATION_STYLE | str | ’inline’ | Citation style (inline, footnote, numbered) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.citation_style |
LEX_AI_RAG__COLLECTION_NAME | str | ’default’ | Collection/index name for vector store | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.collection_name |
LEX_AI_RAG__COLLECT_METRICS | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PostProcessingConfig.collect_metrics |
LEX_AI_RAG__COMPRESSION_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:ContextOptimizationConfig.compression_enabled |
LEX_AI_RAG__COMPRESSION_STRATEGY | str | ’hybrid’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:ContextOptimizationConfig.compression_strategy |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__CITATIONS_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.citations_enabled |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__COMPRESSION_ENABLED | bool | False | — | ...gram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.compression_enabled |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__COMPRESSION_STRATEGY | str | ’hybrid’ | — | ...ram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.compression_strategy |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__DEDUPLICATION_ENABLED | bool | True | — | ...am-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.deduplication_enabled |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__DEDUPLICATION_THRESHOLD | float | 0.9 | — | ...-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.deduplication_threshold |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.enabled |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__ERROR_STRATEGY | str | ’graceful’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.error_strategy |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__MAX_CONTEXT_TOKENS | int | 4000 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.max_context_tokens |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__RANKING_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.ranking_enabled |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__STRATEGY | str | ’cross-encoder’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.strategy |
LEX_AI_RAG__CONTEXT_OPTIMIZATION__TOP_K | int | 5 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.context_optimization.top_k |
LEX_AI_RAG__DEDUPLICATION_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:ContextOptimizationConfig.deduplication_enabled |
LEX_AI_RAG__DEDUPLICATION_THRESHOLD | float | 0.9 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:ContextOptimizationConfig.deduplication_threshold |
LEX_AI_RAG__DEFAULT_ERROR_STRATEGY | str | ’graceful’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.default_error_strategy |
LEX_AI_RAG__DESCRIPTION | str | ” | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.description |
LEX_AI_RAG__DETAILED_LOGGING | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PostProcessingConfig.detailed_logging |
LEX_AI_RAG__DOCUMENT_FORMATS | list[DocumentFormat] | — | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.document_formats |
LEX_AI_RAG__EMBEDDING_MODEL | str | None | None | Embedding model identifier. Must be set explicitly — no vendor-specific default. | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.embedding_model |
LEX_AI_RAG__EMBEDDING_PROVIDER | str | ’openai’ | Embedding provider (openai, cohere, etc.) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.embedding_provider |
LEX_AI_RAG__ENABLED | bool | True | Enable the RAG pipeline | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.enabled |
LEX_AI_RAG__ENABLE_CACHING | bool | True | Enable caching for RAG queries | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.enable_caching |
LEX_AI_RAG__ENABLE_CITATIONS | bool | True | Include source citations in responses | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.enable_citations |
LEX_AI_RAG__ENABLE_HALLUCINATION_DETECTION | bool | True | Enable hallucination detection for AI responses | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.enable_hallucination_detection |
LEX_AI_RAG__ENABLE_HYDE | bool | False | Enable HyDE (Hypothetical Document Embeddings) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.enable_hyde |
LEX_AI_RAG__ENABLE_QUERY_EXPANSION | bool | True | Enable query expansion techniques | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.enable_query_expansion |
LEX_AI_RAG__ERROR_STRATEGY | str | ’graceful’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.error_strategy |
LEX_AI_RAG__FAIL_FAST | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.fail_fast |
LEX_AI_RAG__HALLUCINATION_DETECTION_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QualityAssuranceConfig.hallucination_detection_enabled |
LEX_AI_RAG__HALLUCINATION_STRICT_MODE | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QualityAssuranceConfig.hallucination_strict_mode |
LEX_AI_RAG__HYDE_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QueryProcessingConfig.hyde_enabled |
LEX_AI_RAG__HYDE_NUM_DOCUMENTS | int | 1 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QueryProcessingConfig.hyde_num_documents |
LEX_AI_RAG__INGESTION__CHUNKING_STRATEGY | str | ’recursive’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.chunking_strategy |
LEX_AI_RAG__INGESTION__CHUNK_OVERLAP | int | 200 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.chunk_overlap |
LEX_AI_RAG__INGESTION__CHUNK_SIZE | int | 1000 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.chunk_size |
LEX_AI_RAG__INGESTION__DOCUMENT_FORMATS | list[DocumentFormat] | — | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.document_formats |
LEX_AI_RAG__INGESTION__ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.enabled |
LEX_AI_RAG__INGESTION__ERROR_STRATEGY | str | ’graceful’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.error_strategy |
LEX_AI_RAG__INGESTION__FAIL_FAST | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.fail_fast |
LEX_AI_RAG__INGESTION__METADATA_ENRICHMENT_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.metadata_enrichment_enabled |
LEX_AI_RAG__INGESTION__MIN_CHUNK_SIZE | int | 100 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.min_chunk_size |
LEX_AI_RAG__INGESTION__OCR_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.ocr_enabled |
LEX_AI_RAG__INGESTION__PREPROCESSING_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.preprocessing_enabled |
LEX_AI_RAG__INGESTION__TABLE_EXTRACTION_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.ingestion.table_extraction_enabled |
LEX_AI_RAG__KNOWLEDGE_GRAPH_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RetrievalConfig.knowledge_graph_enabled |
LEX_AI_RAG__MAX_CONTEXT_TOKENS | int | 4000 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:ContextOptimizationConfig.max_context_tokens |
LEX_AI_RAG__MAX_GRAPH_DEPTH | int | 2 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RetrievalConfig.max_graph_depth |
LEX_AI_RAG__MAX_HOPS | int | 3 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RetrievalConfig.max_hops |
LEX_AI_RAG__MAX_RETRIES | int | 3 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.max_retries |
LEX_AI_RAG__METADATA | dict[str, Any] | — | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.metadata |
LEX_AI_RAG__METADATA_ENRICHMENT_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.metadata_enrichment_enabled |
LEX_AI_RAG__MIN_CHUNK_SIZE | int | 100 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.min_chunk_size |
LEX_AI_RAG__MIN_CITATION_CONFIDENCE | float | 0.6 | Minimum confidence for citation inclusion | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.min_citation_confidence |
LEX_AI_RAG__MIN_CONFIDENCE | float | 0.5 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QualityAssuranceConfig.min_confidence |
LEX_AI_RAG__MIN_FAITHFULNESS | float | 0.7 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QualityAssuranceConfig.min_faithfulness |
LEX_AI_RAG__MIN_RELEVANCE | float | 0.6 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QualityAssuranceConfig.min_relevance |
LEX_AI_RAG__MULTI_HOP_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RetrievalConfig.multi_hop_enabled |
LEX_AI_RAG__NAME | str | ’default-rag-pipeline’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.name |
LEX_AI_RAG__OCR_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.ocr_enabled |
LEX_AI_RAG__PERSIST_DIRECTORY | str | None | None | Local directory path for vector store persistence (e.g. Chroma) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.persist_directory |
LEX_AI_RAG__POST_PROCESSING__CACHE_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.post_processing.cache_enabled |
LEX_AI_RAG__POST_PROCESSING__CACHE_RESULTS | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.post_processing.cache_results |
LEX_AI_RAG__POST_PROCESSING__COLLECT_METRICS | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.post_processing.collect_metrics |
LEX_AI_RAG__POST_PROCESSING__DETAILED_LOGGING | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.post_processing.detailed_logging |
LEX_AI_RAG__POST_PROCESSING__ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.post_processing.enabled |
LEX_AI_RAG__POST_PROCESSING__ERROR_STRATEGY | str | ’skip’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.post_processing.error_strategy |
LEX_AI_RAG__PREPROCESSING_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.preprocessing_enabled |
LEX_AI_RAG__QUALITY_ASSURANCE__ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.enabled |
LEX_AI_RAG__QUALITY_ASSURANCE__ERROR_STRATEGY | str | ’graceful’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.error_strategy |
LEX_AI_RAG__QUALITY_ASSURANCE__HALLUCINATION_DETECTION_ENABLED | bool | True | — | ...ag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.hallucination_detection_enabled |
LEX_AI_RAG__QUALITY_ASSURANCE__HALLUCINATION_STRICT_MODE | bool | False | — | ...m-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.hallucination_strict_mode |
LEX_AI_RAG__QUALITY_ASSURANCE__MIN_CONFIDENCE | float | 0.5 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.min_confidence |
LEX_AI_RAG__QUALITY_ASSURANCE__MIN_FAITHFULNESS | float | 0.7 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.min_faithfulness |
LEX_AI_RAG__QUALITY_ASSURANCE__MIN_RELEVANCE | float | 0.6 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.min_relevance |
LEX_AI_RAG__QUALITY_ASSURANCE__REJECT_LOW_QUALITY | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.reject_low_quality |
LEX_AI_RAG__QUALITY_ASSURANCE__WARN_LOW_QUALITY | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.quality_assurance.warn_low_quality |
LEX_AI_RAG__QUERY_PROCESSING__ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.enabled |
LEX_AI_RAG__QUERY_PROCESSING__ERROR_STRATEGY | str | ’graceful’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.error_strategy |
LEX_AI_RAG__QUERY_PROCESSING__HYDE_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.hyde_enabled |
LEX_AI_RAG__QUERY_PROCESSING__HYDE_NUM_DOCUMENTS | int | 1 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.hyde_num_documents |
LEX_AI_RAG__QUERY_PROCESSING__ROUTING_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.routing_enabled |
LEX_AI_RAG__QUERY_PROCESSING__ROUTING_STRATEGY | RoutingStrategyType | RoutingStrategyType.RULE_BASED | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.routing_strategy |
LEX_AI_RAG__QUERY_PROCESSING__TRANSFORMATION_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.transformation_enabled |
LEX_AI_RAG__QUERY_PROCESSING__TRANSFORMATION_STRATEGIES | list[str] | — | — | ...am-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.query_processing.transformation_strategies |
LEX_AI_RAG__RANKING_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:ContextOptimizationConfig.ranking_enabled |
LEX_AI_RAG__REJECT_LOW_QUALITY | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QualityAssuranceConfig.reject_low_quality |
LEX_AI_RAG__REQUIRE_CITATIONS | bool | False | Raise MissingCitationsError when the synthesis result contains no citations. | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.require_citations |
LEX_AI_RAG__RETRIEVAL__ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.enabled |
LEX_AI_RAG__RETRIEVAL__ERROR_STRATEGY | str | ’fail_fast’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.error_strategy |
LEX_AI_RAG__RETRIEVAL__KNOWLEDGE_GRAPH_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.knowledge_graph_enabled |
LEX_AI_RAG__RETRIEVAL__MAX_GRAPH_DEPTH | int | 2 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.max_graph_depth |
LEX_AI_RAG__RETRIEVAL__MAX_HOPS | int | 3 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.max_hops |
LEX_AI_RAG__RETRIEVAL__MULTI_HOP_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.multi_hop_enabled |
LEX_AI_RAG__RETRIEVAL__SIMILARITY_THRESHOLD | float | 0.0 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.similarity_threshold |
LEX_AI_RAG__RETRIEVAL__STRATEGY | str | ’hybrid’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.strategy |
LEX_AI_RAG__RETRIEVAL__TOP_K | int | 10 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.top_k |
LEX_AI_RAG__RETRIEVAL__VECTOR_SEARCH_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retrieval.vector_search_enabled |
LEX_AI_RAG__RETRY_DELAY | float | 1.0 | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.retry_delay |
LEX_AI_RAG__ROUTING_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QueryProcessingConfig.routing_enabled |
LEX_AI_RAG__ROUTING_STRATEGY | RoutingStrategyType | RoutingStrategyType.RULE_BASED | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QueryProcessingConfig.routing_strategy |
LEX_AI_RAG__SIMILARITY_THRESHOLD | float | 0.7 | Minimum similarity score threshold | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.similarity_threshold |
LEX_AI_RAG__STAGES | list[PipelineStageType] | — | Ordered list of pipeline stages to execute | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.stages |
LEX_AI_RAG__STRATEGY | str | ’hybrid’ | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RetrievalConfig.strategy |
LEX_AI_RAG__SYNTHESIS | SynthesisConfig | — | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:PipelineConfig.synthesis |
LEX_AI_RAG__SYNTHESIS_STRATEGY | str | ’hybrid’ | Synthesis strategy (direct, extractive, abstractive, hybrid) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.synthesis_strategy |
LEX_AI_RAG__TABLE_EXTRACTION_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:IngestionConfig.table_extraction_enabled |
LEX_AI_RAG__TOP_K | int | 5 | Number of documents to retrieve | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.top_k |
LEX_AI_RAG__TRANSFORMATION_ENABLED | bool | False | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QueryProcessingConfig.transformation_enabled |
LEX_AI_RAG__TRANSFORMATION_STRATEGIES | list[str] | — | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QueryProcessingConfig.transformation_strategies |
LEX_AI_RAG__USE_HYBRID_SEARCH | bool | True | Enable hybrid search (semantic + keyword) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.use_hybrid_search |
LEX_AI_RAG__VECTOR_DIMENSION | int | 1536 | Embedding vector dimension (1536 for OpenAI ada-002) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.vector_dimension |
LEX_AI_RAG__VECTOR_SEARCH_ENABLED | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RetrievalConfig.vector_search_enabled |
LEX_AI_RAG__VECTOR_STORE_TYPE | str | ’pgvector’ | Vector store backend (pgvector, chroma, qdrant, mock) | lexigram-ai-rag/src/lexigram/ai/rag/config.py:RAGConfig.vector_store_type |
LEX_AI_RAG__WARN_LOW_QUALITY | bool | True | — | lexigram-ai-rag/src/lexigram/ai/rag/config.py:QualityAssuranceConfig.warn_low_quality |
lexigram-ai-session (16 vars)
Section titled “lexigram-ai-session (16 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_SESSION__AUTO_CHECKPOINT_INTERVAL | int | None | const.DEFAULT_AUTO_CHECKPOINT_INTERVAL | Checkpoint every N turns; None to disable | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.auto_checkpoint_interval |
LEX_AI_SESSION__BACKEND | str | const.DEFAULT_BACKEND | Persistence backend (in_memory, cache, database) | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.backend |
LEX_AI_SESSION__CLEANUP_INTERVAL_S | int | const.DEFAULT_CLEANUP_INTERVAL_S | How often the cleanup scheduler sweeps for expired sessions | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.cleanup_interval_s |
LEX_AI_SESSION__CONSOLIDATE_ON_CLOSE | bool | const.DEFAULT_CONSOLIDATE_ON_CLOSE | Whether to trigger memory consolidation on session close | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.consolidate_on_close |
LEX_AI_SESSION__COOKIE_NAME | str | None | const.DEFAULT_COOKIE_NAME | Cookie name for web session ID; None disables cookies | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.cookie_name |
LEX_AI_SESSION__DEFAULT_SYSTEM_PROMPT | str | None | None | System prompt injected into every new session | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.default_system_prompt |
LEX_AI_SESSION__DEFAULT_TURN_STRATEGY | str | const.DEFAULT_TURN_STRATEGY | Default turn-selection strategy (round_robin, priority, llm_directed) | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.default_turn_strategy |
LEX_AI_SESSION__ENABLED | bool | True | Enable the AI session subsystem | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.enabled |
LEX_AI_SESSION__HEADER_NAME | str | const.DEFAULT_HEADER_NAME | HTTP header name for session ID pass-through | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.header_name |
LEX_AI_SESSION__MAX_AGENTS_PER_GROUP | int | const.DEFAULT_MAX_AGENTS | Maximum agents in a multi-agent group session | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.max_agents_per_group |
LEX_AI_SESSION__MAX_BRANCHES_PER_SESSION | int | const.DEFAULT_MAX_BRANCHES | Maximum forked branches per session | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.max_branches_per_session |
LEX_AI_SESSION__MAX_CHECKPOINTS_PER_SESSION | int | const.DEFAULT_MAX_CHECKPOINTS | Maximum retained checkpoints per session | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.max_checkpoints_per_session |
LEX_AI_SESSION__MAX_SESSIONS_PER_USER | int | const.DEFAULT_MAX_SESSIONS_PER_USER | Maximum concurrent sessions per user | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.max_sessions_per_user |
LEX_AI_SESSION__MAX_TURNS_PER_SESSION | int | const.DEFAULT_MAX_TURNS | Hard cap on turns before the session is closed | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.max_turns_per_session |
LEX_AI_SESSION__NAME | str | ’ai-session’ | Logical name used for DI registration keys | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.name |
LEX_AI_SESSION__SESSION_TTL | int | const.DEFAULT_SESSION_TTL_S | Maximum age of a session in seconds (0 to disable) | lexigram-ai-session/src/lexigram/ai/session/config.py:SessionConfig.session_ttl |
lexigram-ai-skills (18 vars)
Section titled “lexigram-ai-skills (18 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_SKILLS__ALLOWED_SCRIPT_TYPES | list[str] | — | Allowed script types (py, sh, js) | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.allowed_script_types |
LEX_AI_SKILLS__AUTO_DISCOVER | bool | const.DEFAULT_AUTO_DISCOVER | Whether to auto-scan packages for skills on boot | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.auto_discover |
LEX_AI_SKILLS__BUILTIN_SKILLS | list[str] | — | Names of built-in skills to register | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.builtin_skills |
LEX_AI_SKILLS__CACHE_BACKEND | str | const.DEFAULT_CACHE_BACKEND | Which cache backend to use (in_memory, cache) | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.cache_backend |
LEX_AI_SKILLS__CACHE_ENABLED | bool | const.DEFAULT_CACHE_ENABLED | Whether result caching is globally enabled | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.cache_enabled |
LEX_AI_SKILLS__CACHE_TTL_SECONDS | int | const.DEFAULT_CACHE_TTL_S | Default TTL for cached skill results (seconds) | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.cache_ttl_seconds |
LEX_AI_SKILLS__DEFAULT_TIMEOUT_SECONDS | float | const.DEFAULT_TIMEOUT_S | Default execution timeout per skill (seconds) | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.default_timeout_seconds |
LEX_AI_SKILLS__ENABLED_DIRECTORIES | list[str] | — | Which skill directories to enable (claude_code, opencode, cursor, etc.) | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.enabled_directories |
LEX_AI_SKILLS__ENABLE_BUILTIN | bool | const.DEFAULT_ENABLE_BUILTIN | Whether built-in skills are registered on boot | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.enable_builtin |
LEX_AI_SKILLS__ENABLE_SKILL_SOURCES | bool | True | Whether to scan for external skill sources on boot | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.enable_skill_sources |
LEX_AI_SKILLS__ENFORCE_PERMISSIONS | bool | const.DEFAULT_ENFORCE_PERMISSIONS | Whether permission checks are enforced | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.enforce_permissions |
LEX_AI_SKILLS__LAZY_LOAD_CONTEXT | bool | const.DEFAULT_LAZY_LOAD_CONTEXT | Whether to lazily load skill context files | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.lazy_load_context |
LEX_AI_SKILLS__MAX_CONCURRENT_EXECUTIONS | int | const.DEFAULT_MAX_CONCURRENT | Semaphore cap on concurrent skill executions | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.max_concurrent_executions |
LEX_AI_SKILLS__MAX_RETRIES | int | const.DEFAULT_MAX_RETRIES | Default maximum retry attempts for skill execution | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.max_retries |
LEX_AI_SKILLS__NAME | str | ’ai-skills’ | Logical name used for DI registration keys | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.name |
LEX_AI_SKILLS__SCAN_PACKAGES | list[str] | — | Fully-qualified package names to scan for skills | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.scan_packages |
LEX_AI_SKILLS__SCRIPT_TIMEOUT_SECONDS | int | const.DEFAULT_SCRIPT_TIMEOUT_SECONDS | Timeout for skill script execution (seconds) | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.script_timeout_seconds |
LEX_AI_SKILLS__SKILL_PATHS | list[str] | — | Paths to scan for skills (SKILL.md folders) | lexigram-ai-skills/src/lexigram/ai/skills/config.py:SkillsConfig.skill_paths |
lexigram-ai-workers (5 vars)
Section titled “lexigram-ai-workers (5 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AI_WORKERS__BATCH_EMBEDDING_CONCURRENCY | int | 3 | Concurrency level for batch embedding execution | lexigram-ai-workers/src/lexigram/ai/workers/config.py:WorkersConfig.batch_embedding_concurrency |
LEX_AI_WORKERS__DLQ_CHECK_INTERVAL | int | 60 | Interval in seconds for DLQ recovery sweeps | lexigram-ai-workers/src/lexigram/ai/workers/config.py:WorkersConfig.dlq_check_interval |
LEX_AI_WORKERS__DOCUMENT_INGESTION_CONCURRENCY | int | 3 | Concurrency level for document parsing and chunking | lexigram-ai-workers/src/lexigram/ai/workers/config.py:WorkersConfig.document_ingestion_concurrency |
LEX_AI_WORKERS__ENABLED | bool | True | Master on/off switch for all background workers | lexigram-ai-workers/src/lexigram/ai/workers/config.py:WorkersConfig.enabled |
LEX_AI_WORKERS__ENABLE_MAINTENANCE | bool | True | Enable vector store and cache maintenance tasks | lexigram-ai-workers/src/lexigram/ai/workers/config.py:WorkersConfig.enable_maintenance |
lexigram-audit (7 vars)
Section titled “lexigram-audit (7 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AUDIT__ENABLE_ADMIN | bool | — | Whether to register the AuditAdminContributor | lexigram-audit/src/lexigram/audit/config.py:AuditConfig.enable_admin |
LEX_AUDIT__HMAC_KEY | bytes | None | — | HMAC key for checksum computation | lexigram-audit/src/lexigram/audit/config.py:AuditConfig.hmac_key |
LEX_AUDIT__RETENTION_POLICY | RetentionPolicy | — | Retention rules | lexigram-audit/src/lexigram/audit/config.py:AuditConfig.retention_policy |
LEX_AUDIT__STORE_BACKEND | str | — | Backend type — ‘sql’ or ‘memory’ | lexigram-audit/src/lexigram/audit/config.py:AuditConfig.store_backend |
LEX_AUDIT__TABLE_NAME | str | — | SQL table name for the unified audit store | lexigram-audit/src/lexigram/audit/config.py:AuditConfig.table_name |
LEX_AUDIT__VERIFICATION_BATCH_SIZE | int | — | Entries to verify per verification run | lexigram-audit/src/lexigram/audit/config.py:AuditConfig.verification_batch_size |
LEX_AUDIT__VERIFICATION_SCHEDULE | str | — | Cron expression for scheduled verification | lexigram-audit/src/lexigram/audit/config.py:AuditConfig.verification_schedule |
lexigram-auth (75 vars)
Section titled “lexigram-auth (75 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_AUTH__ACCESS_TOKEN_EXPIRE | Duration | Duration.minutes(const.DEFAULT_ACCESS_TOKEN_EXPIRE_MINUTES) | Access token expiry duration | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.access_token_expire |
LEX_AUTH__ADMIN_EMAIL | str | None | None | Initial admin email | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.admin_email |
LEX_AUTH__ADMIN_PASSWORD | str | None | None | Initial admin password | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.admin_password |
LEX_AUTH__ALGORITHM | str | const.DEFAULT_TOKEN_ALGORITHM | Algorithm | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.algorithm |
LEX_AUTH__ALLOW_UNVERIFIED_DEV | bool | False | Allow unverified JWT decode when the secret is absent. ONLY effective in Envi… | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.allow_unverified_dev |
LEX_AUTH__BACKEND | str | ’session’ | Auth backend type | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.backend |
LEX_AUTH__BANNED_PATTERNS | list[str] | — | Substrings that must not appear in the password (case-insensitive). Use to re… | lexigram-auth/src/lexigram/auth/config.py:PasswordConfig.banned_patterns |
LEX_AUTH__CACHE_PERMISSIONS | bool | True | Cache resolved permissions | lexigram-auth/src/lexigram/auth/config.py:RBACConfig.cache_permissions |
LEX_AUTH__DEFAULT_ROLE | str | ’viewer’ | Default role for new users | lexigram-auth/src/lexigram/auth/config.py:RBACConfig.default_role |
LEX_AUTH__DESCRIPTION | str | ” | Role description | lexigram-auth/src/lexigram/auth/config.py:AuthRoleConfig.description |
LEX_AUTH__EMAIL | str | — | Email address | lexigram-auth/src/lexigram/auth/config.py:AuthUserConfig.email |
LEX_AUTH__ENABLED | bool | True | Enable RBAC enforcement | lexigram-auth/src/lexigram/auth/config.py:RBACConfig.enabled |
LEX_AUTH__EXCLUDE_PATHS | list[str] | — | Paths excluded from auth | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.exclude_paths |
LEX_AUTH__EXCLUDE_PREFIXES | list[str] | — | Path prefixes excluded | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.exclude_prefixes |
LEX_AUTH__HEADER_NAME | str | ’Authorization’ | Header name for token | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.header_name |
LEX_AUTH__ID_TOKEN_EXPIRE | Duration | Duration.hours(1) | ID token expiry duration | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.id_token_expire |
LEX_AUTH__INHERITS | list[str] | — | Parent roles to inherit from | lexigram-auth/src/lexigram/auth/config.py:AuthRoleConfig.inherits |
LEX_AUTH__IS_ACTIVE | bool | True | Whether user is active | lexigram-auth/src/lexigram/auth/config.py:AuthUserConfig.is_active |
LEX_AUTH__KEY_ROTATION_GRACE_PERIOD | Duration | Duration.seconds(const.DEFAULT_JWT_KEY_ROTATION_GRACE_PERIOD_SECONDS) | Duration during which tokens signed by a rotated-out key remain accepted. Pre… | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.key_rotation_grace_period |
LEX_AUTH__LOGIN_RATE_LIMIT | str | ’5/minute’ | Rate limit for auth endpoints | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.login_rate_limit |
LEX_AUTH__LOGIN_URL | str | None | None | URL to redirect for login | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.login_url |
LEX_AUTH__MAX_LENGTH | int | 128 | Maximum password length | lexigram-auth/src/lexigram/auth/config.py:PasswordConfig.max_length |
LEX_AUTH__MAX_SESSIONS_PER_USER | int | None | None | Maximum number of concurrent sessions allowed per user. None (the default… | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.max_sessions_per_user |
LEX_AUTH__MIDDLEWARE__BACKEND | str | ’session’ | Auth backend type | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.backend |
LEX_AUTH__MIDDLEWARE__EXCLUDE_PATHS | list[str] | — | Paths excluded from auth | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.exclude_paths |
LEX_AUTH__MIDDLEWARE__EXCLUDE_PREFIXES | list[str] | — | Path prefixes excluded | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.exclude_prefixes |
LEX_AUTH__MIDDLEWARE__HEADER_NAME | str | ’Authorization’ | Header name for token | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.header_name |
LEX_AUTH__MIDDLEWARE__LOGIN_RATE_LIMIT | str | ’5/minute’ | Rate limit for auth endpoints | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.login_rate_limit |
LEX_AUTH__MIDDLEWARE__LOGIN_URL | str | None | None | URL to redirect for login | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.login_url |
LEX_AUTH__MIDDLEWARE__OPTIONAL_AUTH | bool | False | Whether authentication is optional | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.optional_auth |
LEX_AUTH__MIDDLEWARE__PERMISSIONS_REQUIRED | list[str] | — | Permissions required | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.permissions_required |
LEX_AUTH__MIDDLEWARE__ROLES_REQUIRED | list[str] | — | Roles required | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.roles_required |
LEX_AUTH__MIDDLEWARE__SCHEME | str | const.DEFAULT_TOKEN_TYPE | Token scheme | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.middleware.scheme |
LEX_AUTH__MIN_LENGTH | int | 12 | Minimum password length | lexigram-auth/src/lexigram/auth/config.py:PasswordConfig.min_length |
LEX_AUTH__NAME | str | — | User name (preferred over username) | lexigram-auth/src/lexigram/auth/config.py:AuthUserConfig.name |
LEX_AUTH__OAUTH2_PROVIDERS | dict[str, dict[str, str]] | — | OAuth2 configs | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.oauth2_providers |
LEX_AUTH__OPTIONAL_AUTH | bool | False | Whether authentication is optional | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.optional_auth |
LEX_AUTH__PASSWORD | str | None | None | Plain password | lexigram-auth/src/lexigram/auth/config.py:AuthUserConfig.password |
LEX_AUTH__PASSWORD_HASH | str | None | None | Pre-hashed password | lexigram-auth/src/lexigram/auth/config.py:AuthUserConfig.password_hash |
LEX_AUTH__PASSWORD__BANNED_PATTERNS | list[str] | — | Substrings that must not appear in the password (case-insensitive). Use to re… | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.password.banned_patterns |
LEX_AUTH__PASSWORD__MAX_LENGTH | int | 128 | Maximum password length | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.password.max_length |
LEX_AUTH__PASSWORD__MIN_LENGTH | int | 12 | Minimum password length | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.password.min_length |
LEX_AUTH__PASSWORD__REQUIRE_DIGITS | bool | True | Require at least one digit | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.password.require_digits |
LEX_AUTH__PASSWORD__REQUIRE_LOWERCASE | bool | False | Require at least one lowercase letter | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.password.require_lowercase |
LEX_AUTH__PASSWORD__REQUIRE_SPECIAL | bool | False | Require at least one special character (non-alphanumeric) | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.password.require_special |
LEX_AUTH__PASSWORD__REQUIRE_UPPERCASE | bool | True | Require at least one uppercase letter | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.password.require_uppercase |
LEX_AUTH__PERMISSIONS | list[str] | — | Permission patterns | lexigram-auth/src/lexigram/auth/config.py:AuthRoleConfig.permissions |
LEX_AUTH__PERMISSIONS_REQUIRED | list[str] | — | Permissions required | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.permissions_required |
LEX_AUTH__PERMISSION_CACHE_TTL | int | 300 | Permission cache TTL in seconds | lexigram-auth/src/lexigram/auth/config.py:RBACConfig.permission_cache_ttl |
LEX_AUTH__RBAC__CACHE_PERMISSIONS | bool | True | Cache resolved permissions | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.rbac.cache_permissions |
LEX_AUTH__RBAC__DEFAULT_ROLE | str | ’viewer’ | Default role for new users | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.rbac.default_role |
LEX_AUTH__RBAC__ENABLED | bool | True | Enable RBAC enforcement | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.rbac.enabled |
LEX_AUTH__RBAC__PERMISSION_CACHE_TTL | int | 300 | Permission cache TTL in seconds | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.rbac.permission_cache_ttl |
LEX_AUTH__RBAC__SUPERUSER_BYPASS | bool | True | Allow superuser role to bypass all checks | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.rbac.superuser_bypass |
LEX_AUTH__REFRESH_TOKEN_EXPIRE | Duration | Duration.days(const.DEFAULT_REFRESH_TOKEN_EXPIRE_DAYS) | Refresh token expiry duration | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.refresh_token_expire |
LEX_AUTH__REQUIRED_AUDIENCE | str | None | None | Expected aud claim for every token verified by this service. When set, to… | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.required_audience |
LEX_AUTH__REQUIRE_DIGITS | bool | True | Require at least one digit | lexigram-auth/src/lexigram/auth/config.py:PasswordConfig.require_digits |
LEX_AUTH__REQUIRE_LOWERCASE | bool | False | Require at least one lowercase letter | lexigram-auth/src/lexigram/auth/config.py:PasswordConfig.require_lowercase |
LEX_AUTH__REQUIRE_SPECIAL | bool | False | Require at least one special character (non-alphanumeric) | lexigram-auth/src/lexigram/auth/config.py:PasswordConfig.require_special |
LEX_AUTH__REQUIRE_UPPERCASE | bool | True | Require at least one uppercase letter | lexigram-auth/src/lexigram/auth/config.py:PasswordConfig.require_uppercase |
LEX_AUTH__ROLES | list[str] | — | List of role names | lexigram-auth/src/lexigram/auth/config.py:AuthUserConfig.roles |
LEX_AUTH__ROLES_REQUIRED | list[str] | — | Roles required | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.roles_required |
LEX_AUTH__SCHEME | str | const.DEFAULT_TOKEN_TYPE | Token scheme | lexigram-auth/src/lexigram/auth/config.py:AuthMiddlewareConfig.scheme |
LEX_AUTH__SECRET_KEY | str | — | Secret key for signing tokens | lexigram-auth/src/lexigram/auth/config.py:JWTConfig.secret_key |
LEX_AUTH__SUPERUSER_BYPASS | bool | True | Allow superuser role to bypass all checks | lexigram-auth/src/lexigram/auth/config.py:RBACConfig.superuser_bypass |
LEX_AUTH__TOKEN__ACCESS_TOKEN_EXPIRE | Duration | Duration.minutes(const.DEFAULT_ACCESS_TOKEN_EXPIRE_MINUTES) | Access token expiry duration | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.access_token_expire |
LEX_AUTH__TOKEN__ALGORITHM | str | const.DEFAULT_TOKEN_ALGORITHM | Algorithm | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.algorithm |
LEX_AUTH__TOKEN__ALLOW_UNVERIFIED_DEV | bool | False | Allow unverified JWT decode when the secret is absent. ONLY effective in Envi… | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.allow_unverified_dev |
LEX_AUTH__TOKEN__ID_TOKEN_EXPIRE | Duration | Duration.hours(1) | ID token expiry duration | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.id_token_expire |
LEX_AUTH__TOKEN__KEY_ROTATION_GRACE_PERIOD | Duration | Duration.seconds(const.DEFAULT_JWT_KEY_ROTATION_GRACE_PERIOD_SECONDS) | Duration during which tokens signed by a rotated-out key remain accepted. Pre… | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.key_rotation_grace_period |
LEX_AUTH__TOKEN__REFRESH_TOKEN_EXPIRE | Duration | Duration.days(const.DEFAULT_REFRESH_TOKEN_EXPIRE_DAYS) | Refresh token expiry duration | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.refresh_token_expire |
LEX_AUTH__TOKEN__REQUIRED_AUDIENCE | str | None | None | Expected aud claim for every token verified by this service. When set, to… | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.required_audience |
LEX_AUTH__TOKEN__SECRET_KEY | str | — | Secret key for signing tokens | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.token.secret_key |
LEX_AUTH__USERNAME | str | None | — | Legacy username | lexigram-auth/src/lexigram/auth/config.py:AuthUserConfig.username |
LEX_AUTH__USERS | list[AuthUserConfig] | — | Initial users | lexigram-auth/src/lexigram/auth/config.py:AuthConfig.users |
lexigram-cache (18 vars)
Section titled “lexigram-cache (18 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_CACHE__BACKENDS | list[CacheBackendConfig] | — | Backend configs | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.backends |
LEX_CACHE__DEBUG | bool | — | Debug mode | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.debug |
LEX_CACHE__ENABLED | bool | — | Whether cache is enabled | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.enabled |
LEX_CACHE__ENV | str | None | — | Environment (development/staging/production) | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.env |
LEX_CACHE__ENVIRONMENT | str | — | Environment | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.environment |
LEX_CACHE__NAME | str | — | Provider name | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.name |
LEX_CACHE__SERVICE__ALLOW_PICKLE | bool | — | Allow insecure PickleSerializer (opt-in only) | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.allow_pickle |
LEX_CACHE__SERVICE__CIRCUIT_BREAKER_ENABLED | bool | — | Enable circuit breaker | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.circuit_breaker_enabled |
LEX_CACHE__SERVICE__CIRCUIT_BREAKER_THRESHOLD | int | — | Circuit breaker threshold | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.circuit_breaker_threshold |
LEX_CACHE__SERVICE__DEFAULT_BACKEND | str | None | — | Default backend name | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.default_backend |
LEX_CACHE__SERVICE__DEFAULT_SERIALIZER | str | — | Default serializer | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.default_serializer |
LEX_CACHE__SERVICE__ENABLE_HEALTH_CHECKS | bool | — | Enable health checks | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.enable_health_checks |
LEX_CACHE__SERVICE__ENABLE_METRICS | bool | — | Enable metrics | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.enable_metrics |
LEX_CACHE__SERVICE__ENABLE_PROTECTION | bool | — | Enable stampede protection | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.enable_protection |
LEX_CACHE__SERVICE__PROTECTION_LOCK_TTL | int | — | Protection lock TTL | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.protection_lock_ttl |
LEX_CACHE__SERVICE__PROTECTION_MAX_WAIT | float | — | Max wait for locks | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.protection_max_wait |
LEX_CACHE__SERVICE__PROTECTION_RETRY_INTERVAL | float | — | Lock retry interval | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.service.protection_retry_interval |
LEX_CACHE__VERSION | str | — | Config version | lexigram-cache/src/lexigram/cache/config.py:CacheConfig.version |
lexigram-cli (5 vars)
Section titled “lexigram-cli (5 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_CLI__COLOR | bool | True | — | lexigram-cli/src/lexigram/cli/config.py:CLIConfig.color |
LEX_CLI__DEFAULT_DATABASE | str | ’postgres’ | — | lexigram-cli/src/lexigram/cli/config.py:CLIConfig.default_database |
LEX_CLI__DEFAULT_TEMPLATE | str | ’web-api’ | — | lexigram-cli/src/lexigram/cli/config.py:CLIConfig.default_template |
LEX_CLI__VERBOSE | bool | False | — | lexigram-cli/src/lexigram/cli/config.py:CLIConfig.verbose |
LEX_CONFIG | str | — | — | lexigram-cli/src/lexigram/cli/lib/config_loader.py *(direct env access; not config-derived)* |
lexigram-events (162 vars)
Section titled “lexigram-events (162 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_EVENTS__ALLOW_NO_HANDLERS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.allow_no_handlers |
LEX_EVENTS__AUTO_CREATE_INDEXES | bool | True | — | lexigram-events/src/lexigram/events/stores/mongodb/config.py:MongoDBConfig.auto_create_indexes |
LEX_EVENTS__AUTO_CREATE_TABLES | bool | True | — | ...-events/src/lexigram/events/stores/postgres/config.py:PostgresEventStoreConfig.auto_create_tables |
LEX_EVENTS__BATCH_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:ProjectionConfig.batch_size |
LEX_EVENTS__BUFFER_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:StreamingConfig.buffer_size |
LEX_EVENTS__CHECKPOINT_INTERVAL | int | — | — | lexigram-events/src/lexigram/events/config.py:ProjectionConfig.checkpoint_interval |
LEX_EVENTS__CLEANUP_COMPLETED_AFTER_HOURS | int | — | — | lexigram-events/src/lexigram/events/config.py:SagaConfig.cleanup_completed_after_hours |
LEX_EVENTS__COMMAND_BUS__ENABLE_LOGGING | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.command_bus.enable_logging |
LEX_EVENTS__COMMAND_BUS__ENABLE_METRICS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.command_bus.enable_metrics |
LEX_EVENTS__COMMAND_BUS__ENABLE_VALIDATION | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.command_bus.enable_validation |
LEX_EVENTS__COMMAND_BUS__MAX_RETRIES | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.command_bus.max_retries |
LEX_EVENTS__COMMAND_BUS__RETRY_DELAY_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.command_bus.retry_delay_seconds |
LEX_EVENTS__COMMAND_BUS__TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.command_bus.timeout_seconds |
LEX_EVENTS__COMMAND_TIMEOUT | float | 60.0 | — | ...ram-events/src/lexigram/events/stores/postgres/config.py:PostgresEventStoreConfig.command_timeout |
LEX_EVENTS__CONNECTION_STRING | SecretStr | — | MongoDB connection string | lexigram-events/src/lexigram/events/config.py:MongoDBEventStoreConfig.connection_string |
LEX_EVENTS__CONTINUE_ON_ERROR | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.continue_on_error |
LEX_EVENTS__COUNTERS_COLLECTION | str | ’counters’ | — | lexigram-events/src/lexigram/events/stores/mongodb/config.py:MongoDBConfig.counters_collection |
LEX_EVENTS__DATABASE | str | ’./events.db’ | — | lexigram-events/src/lexigram/events/config.py:SqliteConfig.database |
LEX_EVENTS__DATABASE_NAME | str | — | — | lexigram-events/src/lexigram/events/config.py:MongoDBEventStoreConfig.database_name |
LEX_EVENTS__DEBUG | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.debug |
LEX_EVENTS__DEFAULT_TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:SagaConfig.default_timeout_seconds |
LEX_EVENTS__DSN | SecretStr | None | None | PostgreSQL connection string. Optional when a DatabaseProviderProtocol is inj… | lexigram-events/src/lexigram/events/stores/postgres/config.py:PostgresEventStoreConfig.dsn |
LEX_EVENTS__ENABLED | bool | — | — | lexigram-events/src/lexigram/events/config.py:LoggingMiddlewareConfig.enabled |
LEX_EVENTS__ENABLE_COMPENSATION | bool | — | — | lexigram-events/src/lexigram/events/config.py:SagaConfig.enable_compensation |
LEX_EVENTS__ENABLE_DEAD_LETTER | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.enable_dead_letter |
LEX_EVENTS__ENABLE_LOGGING | bool | — | — | lexigram-events/src/lexigram/events/config.py:CommandBusConfig.enable_logging |
LEX_EVENTS__ENABLE_METRICS | bool | — | — | lexigram-events/src/lexigram/events/config.py:CommandBusConfig.enable_metrics |
LEX_EVENTS__ENABLE_PARALLEL_PROJECTIONS | bool | — | — | lexigram-events/src/lexigram/events/config.py:ProjectionConfig.enable_parallel_projections |
LEX_EVENTS__ENABLE_SNAPSHOTS | bool | — | — | lexigram-events/src/lexigram/events/config.py:InMemoryEventStoreConfig.enable_snapshots |
LEX_EVENTS__ENABLE_VALIDATION | bool | — | — | lexigram-events/src/lexigram/events/config.py:CommandBusConfig.enable_validation |
LEX_EVENTS__ENABLE_WEBSOCKET | bool | — | — | lexigram-events/src/lexigram/events/config.py:StreamingConfig.enable_websocket |
LEX_EVENTS__ENV | str | None | — | Environment (development/staging/production) | lexigram-events/src/lexigram/events/config.py:EventsConfig.env |
LEX_EVENTS__EVENTS_COLLECTION | str | — | — | lexigram-events/src/lexigram/events/config.py:MongoDBEventStoreConfig.events_collection |
LEX_EVENTS__EVENTS_TABLE | str | ’events’ | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:PostgresEventStoreConfig.events_table |
LEX_EVENTS__EVENT_BUS__ALLOW_NO_HANDLERS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.allow_no_handlers |
LEX_EVENTS__EVENT_BUS__CONTINUE_ON_ERROR | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.continue_on_error |
LEX_EVENTS__EVENT_BUS__ENABLE_DEAD_LETTER | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.enable_dead_letter |
LEX_EVENTS__EVENT_BUS__HANDLER_TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.handler_timeout_seconds |
LEX_EVENTS__EVENT_BUS__MAX_CONCURRENT_HANDLERS | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.max_concurrent_handlers |
LEX_EVENTS__EVENT_BUS__MAX_HANDLER_RETRIES | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.max_handler_retries |
LEX_EVENTS__EVENT_BUS__MAX_QUEUE_PER_SUBSCRIBER | int | — | Maximum number of events queued per event type before backpressure is applied… | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.max_queue_per_subscriber |
LEX_EVENTS__EVENT_BUS__PARALLEL_DISPATCH | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.parallel_dispatch |
LEX_EVENTS__EVENT_BUS__RETRY_FAILED_HANDLERS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_bus.retry_failed_handlers |
LEX_EVENTS__EVENT_COUNT_THRESHOLD | int | — | — | lexigram-events/src/lexigram/events/config.py:SnapshotConfig.event_count_threshold |
LEX_EVENTS__EVENT_STORE_BACKEND | EventStoreBackend | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.event_store_backend |
LEX_EVENTS__EXPONENTIAL_BASE | float | — | — | lexigram-events/src/lexigram/events/config.py:RetryMiddlewareConfig.exponential_base |
LEX_EVENTS__HANDLER_TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.handler_timeout_seconds |
LEX_EVENTS__HISTOGRAM_BUCKETS | list[float] | — | — | lexigram-events/src/lexigram/events/config.py:MetricsMiddlewareConfig.histogram_buckets |
LEX_EVENTS__INCLUDE_HISTOGRAMS | bool | — | — | lexigram-events/src/lexigram/events/config.py:MetricsMiddlewareConfig.include_histograms |
LEX_EVENTS__INCLUDE_PAYLOAD | bool | — | — | lexigram-events/src/lexigram/events/config.py:LoggingMiddlewareConfig.include_payload |
LEX_EVENTS__INITIAL_DELAY_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:RetryMiddlewareConfig.initial_delay_seconds |
LEX_EVENTS__ISOLATION_LEVEL | str | — | — | lexigram-events/src/lexigram/events/config.py:TransactionMiddlewareConfig.isolation_level |
LEX_EVENTS__JOURNAL_MODE | str | ’WAL’ | — | lexigram-events/src/lexigram/events/config.py:SqliteConfig.journal_mode |
LEX_EVENTS__KAFKA__AUTO_OFFSET_RESET | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.kafka.auto_offset_reset |
LEX_EVENTS__KAFKA__BOOTSTRAP_SERVERS | str | — | Kafka bootstrap servers | lexigram-events/src/lexigram/events/config.py:EventsConfig.kafka.bootstrap_servers |
LEX_EVENTS__KAFKA__CONSUMER_GROUP | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.kafka.consumer_group |
LEX_EVENTS__KAFKA__ENABLE_AUTO_COMMIT | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.kafka.enable_auto_commit |
LEX_EVENTS__KAFKA__TOPIC_PREFIX | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.kafka.topic_prefix |
LEX_EVENTS__LOGGING_MIDDLEWARE__ENABLED | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.logging_middleware.enabled |
LEX_EVENTS__LOGGING_MIDDLEWARE__INCLUDE_PAYLOAD | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.logging_middleware.include_payload |
LEX_EVENTS__LOGGING_MIDDLEWARE__LOG_LEVEL | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.logging_middleware.log_level |
LEX_EVENTS__LOGGING_MIDDLEWARE__MAX_PAYLOAD_LENGTH | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.logging_middleware.max_payload_length |
LEX_EVENTS__LOG_LEVEL | str | — | — | lexigram-events/src/lexigram/events/config.py:LoggingMiddlewareConfig.log_level |
LEX_EVENTS__MAX_CATCH_UP_EVENTS | int | — | — | lexigram-events/src/lexigram/events/config.py:ProjectionConfig.max_catch_up_events |
LEX_EVENTS__MAX_CONCURRENT_HANDLERS | int | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.max_concurrent_handlers |
LEX_EVENTS__MAX_DELAY_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:RetryMiddlewareConfig.max_delay_seconds |
LEX_EVENTS__MAX_EVENTS_PER_STREAM | int | — | — | lexigram-events/src/lexigram/events/config.py:InMemoryEventStoreConfig.max_events_per_stream |
LEX_EVENTS__MAX_HANDLER_RETRIES | int | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.max_handler_retries |
LEX_EVENTS__MAX_PAYLOAD_LENGTH | int | — | — | lexigram-events/src/lexigram/events/config.py:LoggingMiddlewareConfig.max_payload_length |
LEX_EVENTS__MAX_POOL_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:MongoDBEventStoreConfig.max_pool_size |
LEX_EVENTS__MAX_QUEUE_PER_SUBSCRIBER | int | — | Maximum number of events queued per event type before backpressure is applied… | lexigram-events/src/lexigram/events/config.py:EventBusConfig.max_queue_per_subscriber |
LEX_EVENTS__MAX_RETRIES | int | — | — | lexigram-events/src/lexigram/events/config.py:CommandBusConfig.max_retries |
LEX_EVENTS__MAX_RETRIES_PER_STEP | int | — | — | lexigram-events/src/lexigram/events/config.py:SagaConfig.max_retries_per_step |
LEX_EVENTS__MAX_SNAPSHOTS_PER_AGGREGATE | int | — | — | lexigram-events/src/lexigram/events/config.py:SnapshotConfig.max_snapshots_per_aggregate |
LEX_EVENTS__MAX_SUBSCRIBERS | int | — | — | lexigram-events/src/lexigram/events/config.py:StreamingConfig.max_subscribers |
LEX_EVENTS__MEMORY__ENABLE_SNAPSHOTS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.memory.enable_snapshots |
LEX_EVENTS__MEMORY__MAX_EVENTS_PER_STREAM | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.memory.max_events_per_stream |
LEX_EVENTS__METRICS_MIDDLEWARE__ENABLED | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.metrics_middleware.enabled |
LEX_EVENTS__METRICS_MIDDLEWARE__HISTOGRAM_BUCKETS | list[float] | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.metrics_middleware.histogram_buckets |
LEX_EVENTS__METRICS_MIDDLEWARE__INCLUDE_HISTOGRAMS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.metrics_middleware.include_histograms |
LEX_EVENTS__METRICS_MIDDLEWARE__PREFIX | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.metrics_middleware.prefix |
LEX_EVENTS__MONGODB__CONNECTION_STRING | SecretStr | — | MongoDB connection string | lexigram-events/src/lexigram/events/config.py:EventsConfig.mongodb.connection_string |
LEX_EVENTS__MONGODB__DATABASE_NAME | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.mongodb.database_name |
LEX_EVENTS__MONGODB__EVENTS_COLLECTION | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.mongodb.events_collection |
LEX_EVENTS__MONGODB__MAX_POOL_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.mongodb.max_pool_size |
LEX_EVENTS__MONGODB__SERVER_SELECTION_TIMEOUT | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.mongodb.server_selection_timeout |
LEX_EVENTS__MONGODB__SNAPSHOTS_COLLECTION | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.mongodb.snapshots_collection |
LEX_EVENTS__NAME | str | ”events” | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.name |
LEX_EVENTS__PARALLEL_DISPATCH | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.parallel_dispatch |
LEX_EVENTS__PERSIST_STATE | bool | — | — | lexigram-events/src/lexigram/events/config.py:SagaConfig.persist_state |
LEX_EVENTS__POLL_INTERVAL_MS | int | — | — | lexigram-events/src/lexigram/events/config.py:StreamingConfig.poll_interval_ms |
LEX_EVENTS__POOL_MAX_SIZE | int | 20 | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:PostgresEventStoreConfig.pool_max_size |
LEX_EVENTS__POOL_MIN_SIZE | int | 5 | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:PostgresEventStoreConfig.pool_min_size |
LEX_EVENTS__POSTGRES__AUTO_CREATE_TABLES | bool | True | — | ...ram-events/src/lexigram/events/stores/postgres/config.py:EventsConfig.postgres.auto_create_tables |
LEX_EVENTS__POSTGRES__COMMAND_TIMEOUT | float | 60.0 | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:EventsConfig.postgres.command_timeout |
LEX_EVENTS__POSTGRES__DSN | SecretStr | None | None | PostgreSQL connection string. Optional when a DatabaseProviderProtocol is inj… | lexigram-events/src/lexigram/events/stores/postgres/config.py:EventsConfig.postgres.dsn |
LEX_EVENTS__POSTGRES__EVENTS_TABLE | str | ’events’ | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:EventsConfig.postgres.events_table |
LEX_EVENTS__POSTGRES__POOL_MAX_SIZE | int | 20 | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:EventsConfig.postgres.pool_max_size |
LEX_EVENTS__POSTGRES__POOL_MIN_SIZE | int | 5 | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:EventsConfig.postgres.pool_min_size |
LEX_EVENTS__POSTGRES__SNAPSHOTS_TABLE | str | ’snapshots’ | — | lexigram-events/src/lexigram/events/stores/postgres/config.py:EventsConfig.postgres.snapshots_table |
LEX_EVENTS__PRAGMAS | dict[str, str] | — | — | lexigram-events/src/lexigram/events/config.py:SqliteConfig.pragmas |
LEX_EVENTS__PREFIX | str | — | — | lexigram-events/src/lexigram/events/config.py:MetricsMiddlewareConfig.prefix |
LEX_EVENTS__PROJECTION__BATCH_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.projection.batch_size |
LEX_EVENTS__PROJECTION__CHECKPOINT_INTERVAL | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.projection.checkpoint_interval |
LEX_EVENTS__PROJECTION__ENABLE_PARALLEL_PROJECTIONS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.projection.enable_parallel_projections |
LEX_EVENTS__PROJECTION__MAX_CATCH_UP_EVENTS | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.projection.max_catch_up_events |
LEX_EVENTS__PROJECTION__REBUILD_BATCH_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.projection.rebuild_batch_size |
LEX_EVENTS__QUERY_BUS__ENABLE_LOGGING | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.query_bus.enable_logging |
LEX_EVENTS__QUERY_BUS__ENABLE_METRICS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.query_bus.enable_metrics |
LEX_EVENTS__QUERY_BUS__TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.query_bus.timeout_seconds |
LEX_EVENTS__RABBITMQ__DURABLE | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.rabbitmq.durable |
LEX_EVENTS__RABBITMQ__EXCHANGE_NAME | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.rabbitmq.exchange_name |
LEX_EVENTS__RABBITMQ__PREFETCH_COUNT | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.rabbitmq.prefetch_count |
LEX_EVENTS__RABBITMQ__QUEUE_PREFIX | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.rabbitmq.queue_prefix |
LEX_EVENTS__RABBITMQ__URL | SecretStr | — | AMQP connection URL | lexigram-events/src/lexigram/events/config.py:EventsConfig.rabbitmq.url |
LEX_EVENTS__REBUILD_BATCH_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:ProjectionConfig.rebuild_batch_size |
LEX_EVENTS__RECONNECT_ATTEMPTS | int | — | Number of reconnection attempts | lexigram-events/src/lexigram/events/config.py:BaseAdapterConfig.reconnect_attempts |
LEX_EVENTS__RECONNECT_DELAY | float | — | Delay between reconnection attempts | lexigram-events/src/lexigram/events/config.py:BaseAdapterConfig.reconnect_delay |
LEX_EVENTS__RETRY_DELAY_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:CommandBusConfig.retry_delay_seconds |
LEX_EVENTS__RETRY_FAILED_HANDLERS | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventBusConfig.retry_failed_handlers |
LEX_EVENTS__RETRY_MIDDLEWARE__ENABLED | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.retry_middleware.enabled |
LEX_EVENTS__RETRY_MIDDLEWARE__EXPONENTIAL_BASE | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.retry_middleware.exponential_base |
LEX_EVENTS__RETRY_MIDDLEWARE__INITIAL_DELAY_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.retry_middleware.initial_delay_seconds |
LEX_EVENTS__RETRY_MIDDLEWARE__MAX_DELAY_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.retry_middleware.max_delay_seconds |
LEX_EVENTS__RETRY_MIDDLEWARE__MAX_RETRIES | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.retry_middleware.max_retries |
LEX_EVENTS__SAGA__CLEANUP_COMPLETED_AFTER_HOURS | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.saga.cleanup_completed_after_hours |
LEX_EVENTS__SAGA__DEFAULT_TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.saga.default_timeout_seconds |
LEX_EVENTS__SAGA__ENABLE_COMPENSATION | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.saga.enable_compensation |
LEX_EVENTS__SAGA__MAX_RETRIES_PER_STEP | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.saga.max_retries_per_step |
LEX_EVENTS__SAGA__PERSIST_STATE | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.saga.persist_state |
LEX_EVENTS__SAGA__RETRY_DELAY_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.saga.retry_delay_seconds |
LEX_EVENTS__SERVER_SELECTION_TIMEOUT | int | — | — | lexigram-events/src/lexigram/events/config.py:MongoDBEventStoreConfig.server_selection_timeout |
LEX_EVENTS__SNAPSHOTS_COLLECTION | str | — | — | lexigram-events/src/lexigram/events/config.py:MongoDBEventStoreConfig.snapshots_collection |
LEX_EVENTS__SNAPSHOTS_TABLE | str | ’snapshots’ | — | ...ram-events/src/lexigram/events/stores/postgres/config.py:PostgresEventStoreConfig.snapshots_table |
LEX_EVENTS__SNAPSHOTS__ENABLED | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.snapshots.enabled |
LEX_EVENTS__SNAPSHOTS__EVENT_COUNT_THRESHOLD | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.snapshots.event_count_threshold |
LEX_EVENTS__SNAPSHOTS__MAX_SNAPSHOTS_PER_AGGREGATE | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.snapshots.max_snapshots_per_aggregate |
LEX_EVENTS__SNAPSHOTS__STRATEGY | SnapshotStrategy | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.snapshots.strategy |
LEX_EVENTS__SNAPSHOTS__TIME_THRESHOLD_SECONDS | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.snapshots.time_threshold_seconds |
LEX_EVENTS__SQLITE__DATABASE | str | ’./events.db’ | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.sqlite.database |
LEX_EVENTS__SQLITE__JOURNAL_MODE | str | ’WAL’ | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.sqlite.journal_mode |
LEX_EVENTS__SQLITE__PRAGMAS | dict[str, str] | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.sqlite.pragmas |
LEX_EVENTS__SQLITE__WAL_MODE | bool | True | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.sqlite.wal_mode |
LEX_EVENTS__STRATEGY | SnapshotStrategy | — | — | lexigram-events/src/lexigram/events/config.py:SnapshotConfig.strategy |
LEX_EVENTS__STREAMING__BATCH_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.streaming.batch_size |
LEX_EVENTS__STREAMING__BUFFER_SIZE | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.streaming.buffer_size |
LEX_EVENTS__STREAMING__ENABLE_WEBSOCKET | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.streaming.enable_websocket |
LEX_EVENTS__STREAMING__MAX_SUBSCRIBERS | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.streaming.max_subscribers |
LEX_EVENTS__STREAMING__POLL_INTERVAL_MS | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.streaming.poll_interval_ms |
LEX_EVENTS__STREAMING__WEBSOCKET_PING_INTERVAL | int | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.streaming.websocket_ping_interval |
LEX_EVENTS__STRICT_MODE | bool | — | — | lexigram-events/src/lexigram/events/config.py:ValidationMiddlewareConfig.strict_mode |
LEX_EVENTS__TIMEOUT | float | — | Connection timeout in seconds | lexigram-events/src/lexigram/events/config.py:BaseAdapterConfig.timeout |
LEX_EVENTS__TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:CommandBusConfig.timeout_seconds |
LEX_EVENTS__TIME_THRESHOLD_SECONDS | int | — | — | lexigram-events/src/lexigram/events/config.py:SnapshotConfig.time_threshold_seconds |
LEX_EVENTS__TRANSACTION_MIDDLEWARE__ENABLED | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.transaction_middleware.enabled |
LEX_EVENTS__TRANSACTION_MIDDLEWARE__ISOLATION_LEVEL | str | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.transaction_middleware.isolation_level |
LEX_EVENTS__TRANSACTION_MIDDLEWARE__TIMEOUT_SECONDS | float | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.transaction_middleware.timeout_seconds |
LEX_EVENTS__URI | SecretStr | — | MongoDB connection URI | lexigram-events/src/lexigram/events/stores/mongodb/config.py:MongoDBConfig.uri |
LEX_EVENTS__VALIDATION_MIDDLEWARE__ENABLED | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.validation_middleware.enabled |
LEX_EVENTS__VALIDATION_MIDDLEWARE__STRICT_MODE | bool | — | — | lexigram-events/src/lexigram/events/config.py:EventsConfig.validation_middleware.strict_mode |
LEX_EVENTS__WAL_MODE | bool | True | — | lexigram-events/src/lexigram/events/config.py:SqliteConfig.wal_mode |
LEX_EVENTS__WEBSOCKET_PING_INTERVAL | int | — | — | lexigram-events/src/lexigram/events/config.py:StreamingConfig.websocket_ping_interval |
lexigram-features (5 vars)
Section titled “lexigram-features (5 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_FEATURES__CACHE_TTL | int | DEFAULT_CACHE_TTL | Seconds to cache flag evaluations (0 = disabled). | lexigram-features/src/lexigram/features/config.py:FeatureFlagsConfig.cache_ttl |
LEX_FEATURES__DEFAULT_ENABLED | bool | DEFAULT_ENABLED | Default value when a flag is not found in the provider. | lexigram-features/src/lexigram/features/config.py:FeatureFlagsConfig.default_enabled |
LEX_FEATURES__ENABLED | bool | True | Enable the feature flags subsystem | lexigram-features/src/lexigram/features/config.py:FeatureFlagsConfig.enabled |
LEX_FEATURES__FLAG_ENV_PREFIX | str | FLAG_ENV_PREFIX | Env var prefix used by EnvProvider when reading flag values. | lexigram-features/src/lexigram/features/config.py:FeatureFlagsConfig.flag_env_prefix |
LEX_FEATURES__INITIAL_FLAGS | dict[str, bool] | — | Seed flags for the in-memory provider (name -> enabled). | lexigram-features/src/lexigram/features/config.py:FeatureFlagsConfig.initial_flags |
lexigram-graph (19 vars)
Section titled “lexigram-graph (19 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_GRAPH__BACKEND | str | const.BACKEND_MEMORY | Graph store backend to use | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.backend |
LEX_GRAPH__BULK_BATCH_SIZE | int | const.DEFAULT_BULK_BATCH_SIZE | Batch size for bulk operations | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.bulk_batch_size |
LEX_GRAPH__DEFAULT_QUERY_LIMIT | int | const.DEFAULT_QUERY_LIMIT | Default limit for query results | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.default_query_limit |
LEX_GRAPH__DEFAULT_TRAVERSAL_MAX_DEPTH | int | const.DEFAULT_TRAVERSAL_MAX_DEPTH | Default maximum depth for traversals | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.default_traversal_max_depth |
LEX_GRAPH__ENABLED | bool | True | Enable the graph store subsystem | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.enabled |
LEX_GRAPH__MAX_RETRIES | int | const.DEFAULT_MAX_RETRIES | Maximum number of retries for operations | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.max_retries |
LEX_GRAPH__MEMORY__MAX_EDGES | int | const.DEFAULT_MEMORY_MAX_EDGES | Maximum number of edges in memory | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.memory.max_edges |
LEX_GRAPH__MEMORY__MAX_NODES | int | const.DEFAULT_MEMORY_MAX_NODES | Maximum number of nodes in memory | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.memory.max_nodes |
LEX_GRAPH__NEO4J__CONNECTION_TIMEOUT | float | const.DEFAULT_CONNECT_TIMEOUT | Connection timeout in seconds | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.connection_timeout |
LEX_GRAPH__NEO4J__DATABASE | str | const.DEFAULT_NEO4J_DATABASE | Target database name | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.database |
LEX_GRAPH__NEO4J__ENCRYPTED | bool | False | Whether to use SSL/TLS encryption | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.encrypted |
LEX_GRAPH__NEO4J__FETCH_SIZE | int | const.DEFAULT_NEO4J_FETCH_SIZE | Default fetch size for results | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.fetch_size |
LEX_GRAPH__NEO4J__MAX_CONNECTION_POOL_SIZE | int | const.DEFAULT_NEO4J_MAX_POOL_SIZE | Maximum number of connections in the pool | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.max_connection_pool_size |
LEX_GRAPH__NEO4J__MAX_TRANSACTION_RETRY_TIME | float | 30.0 | Maximum time for transaction retries | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.max_transaction_retry_time |
LEX_GRAPH__NEO4J__PASSWORD | SecretStr | — | Neo4j password | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.password |
LEX_GRAPH__NEO4J__TRUST | str | ’TRUST_SYSTEM_CA_SIGNED_CERTIFICATES’ | Trust strategy for SSL | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.trust |
LEX_GRAPH__NEO4J__URI | str | ’bolt://localhost:7687’ | Neo4j BOLT URI | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.uri |
LEX_GRAPH__NEO4J__USERNAME | str | ’neo4j’ | Neo4j username | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.neo4j.username |
LEX_GRAPH__RETRY_DELAY | float | const.DEFAULT_RETRY_DELAY | Delay between retries in seconds | lexigram-graph/src/lexigram/graph/config.py:GraphConfig.retry_delay |
lexigram-graphql (82 vars)
Section titled “lexigram-graphql (82 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_GRAPHQL__ALLOWED_ENVIRONMENTS | set[str] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:IntrospectionConfig.allowed_environments |
LEX_GRAPHQL__BATCH_DELAY_MS | float | 2.0 | Delay in milliseconds before executing a DataLoaderProtocol batch. A small no… | lexigram-graphql/src/lexigram/graphql/config.py:DataLoaderConfig.batch_delay_ms |
LEX_GRAPHQL__BATCH_ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:DataLoaderConfig.batch_enabled |
LEX_GRAPHQL__BATCH__ENABLED | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.batch.enabled |
LEX_GRAPHQL__BATCH__MAX_BATCH_SIZE | int | 10 | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.batch.max_batch_size |
LEX_GRAPHQL__CACHE_ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:DataLoaderConfig.cache_enabled |
LEX_GRAPHQL__CACHE__DEFAULT_MAX_AGE | Duration | int | const.DEFAULT_CACHE_MAX_AGE | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.cache.default_max_age |
LEX_GRAPHQL__CACHE__DEFAULT_SCOPE | CacheScope | CacheScope.PUBLIC | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.cache.default_scope |
LEX_GRAPHQL__CACHE__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.cache.enabled |
LEX_GRAPHQL__CACHE__VARY_HEADERS | list[str] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.cache.vary_headers |
LEX_GRAPHQL__COMPLEXITY__DEFAULT_FIELD_COST | float | 1.0 | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.complexity.default_field_cost |
LEX_GRAPHQL__COMPLEXITY__DEFAULT_LIST_COST | float | 10.0 | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.complexity.default_list_cost |
LEX_GRAPHQL__COMPLEXITY__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.complexity.enabled |
LEX_GRAPHQL__COMPLEXITY__MAX_COMPLEXITY | int | const.DEFAULT_MAX_COMPLEXITY | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.complexity.max_complexity |
LEX_GRAPHQL__CONNECTION_TIMEOUT | Duration | int | 60 | — | lexigram-graphql/src/lexigram/graphql/config.py:SubscriptionConfig.connection_timeout |
LEX_GRAPHQL__DATALOADER__BATCH_DELAY_MS | float | 2.0 | Delay in milliseconds before executing a DataLoaderProtocol batch. A small no… | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.dataloader.batch_delay_ms |
LEX_GRAPHQL__DATALOADER__BATCH_ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.dataloader.batch_enabled |
LEX_GRAPHQL__DATALOADER__CACHE_ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.dataloader.cache_enabled |
LEX_GRAPHQL__DATALOADER__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.dataloader.enabled |
LEX_GRAPHQL__DATALOADER__MAX_BATCH_SIZE | int | 100 | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.dataloader.max_batch_size |
LEX_GRAPHQL__DEBUG | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.debug |
LEX_GRAPHQL__DEBUG_MODE | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:ErrorConfig.debug_mode |
LEX_GRAPHQL__DEFAULT_FIELD_COST | float | 1.0 | — | lexigram-graphql/src/lexigram/graphql/config.py:ComplexityConfig.default_field_cost |
LEX_GRAPHQL__DEFAULT_LIST_COST | float | 10.0 | — | lexigram-graphql/src/lexigram/graphql/config.py:ComplexityConfig.default_list_cost |
LEX_GRAPHQL__DEFAULT_MAX_AGE | Duration | int | const.DEFAULT_CACHE_MAX_AGE | — | lexigram-graphql/src/lexigram/graphql/config.py:CacheConfig.default_max_age |
LEX_GRAPHQL__DEFAULT_SCOPE | CacheScope | CacheScope.PUBLIC | — | lexigram-graphql/src/lexigram/graphql/config.py:CacheConfig.default_scope |
LEX_GRAPHQL__DEPTH_LIMIT__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.depth_limit.enabled |
LEX_GRAPHQL__DEPTH_LIMIT__IGNORE_INTROSPECTION | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.depth_limit.ignore_introspection |
LEX_GRAPHQL__DEPTH_LIMIT__MAX_DEPTH | int | const.DEFAULT_MAX_DEPTH | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.depth_limit.max_depth |
LEX_GRAPHQL__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:CacheConfig.enabled |
LEX_GRAPHQL__ENABLE_IDENTITY_RESOLUTION | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.enable_identity_resolution |
LEX_GRAPHQL__ENV | str | None | None | Environment (development/staging/production) | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.env |
LEX_GRAPHQL__ERRORS__DEBUG_MODE | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.errors.debug_mode |
LEX_GRAPHQL__ERRORS__INCLUDE_STACKTRACE | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.errors.include_stacktrace |
LEX_GRAPHQL__ERRORS__LOG_ERRORS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.errors.log_errors |
LEX_GRAPHQL__ERRORS__MASK_ERRORS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.errors.mask_errors |
LEX_GRAPHQL__HISTOGRAM_BUCKETS | list[float] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:MetricsConfig.histogram_buckets |
LEX_GRAPHQL__IGNORE_INTROSPECTION | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:DepthLimitConfig.ignore_introspection |
LEX_GRAPHQL__INCLUDE_LABELS | list[str] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:MetricsConfig.include_labels |
LEX_GRAPHQL__INCLUDE_STACKTRACE | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:ErrorConfig.include_stacktrace |
LEX_GRAPHQL__INTROSPECTION__ALLOWED_ENVIRONMENTS | set[str] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.introspection.allowed_environments |
LEX_GRAPHQL__INTROSPECTION__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.introspection.enabled |
LEX_GRAPHQL__KEEPALIVE_INTERVAL | Duration | int | const.DEFAULT_SUBSCRIPTION_KEEPALIVE | — | lexigram-graphql/src/lexigram/graphql/config.py:SubscriptionConfig.keepalive_interval |
LEX_GRAPHQL__LOG_ERRORS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:ErrorConfig.log_errors |
LEX_GRAPHQL__MASK_ERRORS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:ErrorConfig.mask_errors |
LEX_GRAPHQL__MAX_BATCH_SIZE | int | 10 | — | lexigram-graphql/src/lexigram/graphql/config.py:BatchConfig.max_batch_size |
LEX_GRAPHQL__MAX_COMPLEXITY | int | const.DEFAULT_MAX_COMPLEXITY | — | lexigram-graphql/src/lexigram/graphql/config.py:ComplexityConfig.max_complexity |
LEX_GRAPHQL__MAX_DEPTH | int | const.DEFAULT_MAX_DEPTH | — | lexigram-graphql/src/lexigram/graphql/config.py:DepthLimitConfig.max_depth |
LEX_GRAPHQL__METRICS__ENABLED | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.metrics.enabled |
LEX_GRAPHQL__METRICS__HISTOGRAM_BUCKETS | list[float] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.metrics.histogram_buckets |
LEX_GRAPHQL__METRICS__INCLUDE_LABELS | list[str] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.metrics.include_labels |
LEX_GRAPHQL__METRICS__NAMESPACE | str | ”lexigram_graphql” | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.metrics.namespace |
LEX_GRAPHQL__NAME | str | ”graphql” | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.name |
LEX_GRAPHQL__NAMESPACE | str | ”lexigram_graphql” | — | lexigram-graphql/src/lexigram/graphql/config.py:MetricsConfig.namespace |
LEX_GRAPHQL__PATH | str | const.DEFAULT_PLAYGROUND_PATH | — | lexigram-graphql/src/lexigram/graphql/config.py:PlaygroundConfig.path |
LEX_GRAPHQL__PERSISTED_QUERIES__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.persisted_queries.enabled |
LEX_GRAPHQL__PERSISTED_QUERIES__STORE_TYPE | str | ”memory” | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.persisted_queries.store_type |
LEX_GRAPHQL__PERSISTED_QUERIES__TTL_SECONDS | Duration | int | 86400 | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.persisted_queries.ttl_seconds |
LEX_GRAPHQL__PLAYGROUND__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.playground.enabled |
LEX_GRAPHQL__PLAYGROUND__PATH | str | const.DEFAULT_PLAYGROUND_PATH | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.playground.path |
LEX_GRAPHQL__PLAYGROUND__TITLE | str | ”Lexigram GraphQL Playground” | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.playground.title |
LEX_GRAPHQL__PROTOCOL | SubscriptionProtocol | SubscriptionProtocol.GRAPHQL_TRANSPORT_WS | — | lexigram-graphql/src/lexigram/graphql/config.py:SubscriptionConfig.protocol |
LEX_GRAPHQL__RATE_LIMIT | RateLimitConfig | — | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.rate_limit |
LEX_GRAPHQL__SAMPLE_RATE | float | 1.0 | — | lexigram-graphql/src/lexigram/graphql/config.py:TracingConfig.sample_rate |
LEX_GRAPHQL__SCHEMA_BASELINE_PATH | str | None | None | Path to a GraphQL SDL (.graphql) file containing the baseline schema. When se… | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.schema_baseline_path |
LEX_GRAPHQL__SERVICE_NAME | str | ”lexigram-graphql” | — | lexigram-graphql/src/lexigram/graphql/config.py:TracingConfig.service_name |
LEX_GRAPHQL__STORE_TYPE | str | ”memory” | — | lexigram-graphql/src/lexigram/graphql/config.py:PersistedQueryConfig.store_type |
LEX_GRAPHQL__SUBSCRIPTIONS__CONNECTION_TIMEOUT | Duration | int | 60 | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.subscriptions.connection_timeout |
LEX_GRAPHQL__SUBSCRIPTIONS__ENABLED | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.subscriptions.enabled |
LEX_GRAPHQL__SUBSCRIPTIONS__KEEPALIVE_INTERVAL | Duration | int | const.DEFAULT_SUBSCRIPTION_KEEPALIVE | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.subscriptions.keepalive_interval |
LEX_GRAPHQL__SUBSCRIPTIONS__PATH | str | const.DEFAULT_SUBSCRIPTIONS_PATH | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.subscriptions.path |
LEX_GRAPHQL__SUBSCRIPTIONS__PROTOCOL | SubscriptionProtocol | SubscriptionProtocol.GRAPHQL_TRANSPORT_WS | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.subscriptions.protocol |
LEX_GRAPHQL__TITLE | str | ”Lexigram GraphQL Playground” | — | lexigram-graphql/src/lexigram/graphql/config.py:PlaygroundConfig.title |
LEX_GRAPHQL__TRACE_DATALOADERS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:TracingConfig.trace_dataloaders |
LEX_GRAPHQL__TRACE_RESOLVERS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:TracingConfig.trace_resolvers |
LEX_GRAPHQL__TRACING__ENABLED | bool | False | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.tracing.enabled |
LEX_GRAPHQL__TRACING__SAMPLE_RATE | float | 1.0 | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.tracing.sample_rate |
LEX_GRAPHQL__TRACING__SERVICE_NAME | str | ”lexigram-graphql” | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.tracing.service_name |
LEX_GRAPHQL__TRACING__TRACE_DATALOADERS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.tracing.trace_dataloaders |
LEX_GRAPHQL__TRACING__TRACE_RESOLVERS | bool | True | — | lexigram-graphql/src/lexigram/graphql/config.py:GraphQLConfig.tracing.trace_resolvers |
LEX_GRAPHQL__TTL_SECONDS | Duration | int | 86400 | — | lexigram-graphql/src/lexigram/graphql/config.py:PersistedQueryConfig.ttl_seconds |
LEX_GRAPHQL__VARY_HEADERS | list[str] | — | — | lexigram-graphql/src/lexigram/graphql/config.py:CacheConfig.vary_headers |
lexigram-http (15 vars)
Section titled “lexigram-http (15 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_HTTP__COOKIE_JAR | bool | True | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.cookie_jar |
LEX_HTTP__FORCE_CLOSE | bool | False | — | lexigram-http/src/lexigram/http/config.py:ConnectionPoolConfig.force_close |
LEX_HTTP__MAX_CONNECTIONS | int | DEFAULT_MAX_CONNECTIONS | — | lexigram-http/src/lexigram/http/config.py:ConnectionPoolConfig.max_connections |
LEX_HTTP__MAX_CONNECTIONS_PER_HOST | int | DEFAULT_MAX_CONNECTIONS_PER_HOST | — | lexigram-http/src/lexigram/http/config.py:ConnectionPoolConfig.max_connections_per_host |
LEX_HTTP__MAX_KEEPALIVE_CONNECTIONS | int | DEFAULT_MAX_KEEPALIVE_CONNECTIONS | — | lexigram-http/src/lexigram/http/config.py:ConnectionPoolConfig.max_keepalive_connections |
LEX_HTTP__POOL__FORCE_CLOSE | bool | False | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.pool.force_close |
LEX_HTTP__POOL__MAX_CONNECTIONS | int | DEFAULT_MAX_CONNECTIONS | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.pool.max_connections |
LEX_HTTP__POOL__MAX_CONNECTIONS_PER_HOST | int | DEFAULT_MAX_CONNECTIONS_PER_HOST | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.pool.max_connections_per_host |
LEX_HTTP__POOL__MAX_KEEPALIVE_CONNECTIONS | int | DEFAULT_MAX_KEEPALIVE_CONNECTIONS | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.pool.max_keepalive_connections |
LEX_HTTP__POOL__TIMEOUT | float | DEFAULT_TIMEOUT | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.pool.timeout |
LEX_HTTP__POOL__TTL_DNS_CACHE | int | DEFAULT_TTL_DNS_CACHE | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.pool.ttl_dns_cache |
LEX_HTTP__PROXY | str | None | None | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.proxy |
LEX_HTTP__TIMEOUT | float | DEFAULT_TIMEOUT | — | lexigram-http/src/lexigram/http/config.py:ConnectionPoolConfig.timeout |
LEX_HTTP__TRUST_ENV | bool | True | — | lexigram-http/src/lexigram/http/config.py:HTTPClientConfig.trust_env |
LEX_HTTP__TTL_DNS_CACHE | int | DEFAULT_TTL_DNS_CACHE | — | lexigram-http/src/lexigram/http/config.py:ConnectionPoolConfig.ttl_dns_cache |
lexigram-monitor (85 vars)
Section titled “lexigram-monitor (85 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_MONITOR__BACKEND_TYPE | BackendType | — | Monitoring backend type | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.backend_type |
LEX_MONITOR__BATCH_SIZE | int | — | Export batch size | lexigram-monitor/src/lexigram/monitor/config.py:OpenTelemetryConfig.batch_size |
LEX_MONITOR__CHECKS | list[str] | — | List of health check names to run | lexigram-monitor/src/lexigram/monitor/config.py:HealthCheckConfig.checks |
LEX_MONITOR__COLLECTION_INTERVAL | float | — | Metrics collection interval in seconds | lexigram-monitor/src/lexigram/monitor/config.py:MetricsConfig.collection_interval |
LEX_MONITOR__COMPRESSION | str | — | Compression type (none, gzip) | lexigram-monitor/src/lexigram/monitor/config.py:OpenTelemetryConfig.compression |
LEX_MONITOR__DEBUG | bool | — | Enable debug mode | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.debug |
LEX_MONITOR__DEFAULT_LABELS | dict[str, str] | — | Default labels for all metrics | lexigram-monitor/src/lexigram/monitor/config.py:MetricsConfig.default_labels |
LEX_MONITOR__ENABLED | bool | — | Enable metrics collection | lexigram-monitor/src/lexigram/monitor/config.py:MetricsConfig.enabled |
LEX_MONITOR__ENABLE_DEFAULT_METRICS | bool | — | Enable default process metrics | lexigram-monitor/src/lexigram/monitor/config.py:PrometheusConfig.enable_default_metrics |
LEX_MONITOR__ENDPOINT | str | None | — | Collector endpoint URL | lexigram-monitor/src/lexigram/monitor/config.py:OTelExporterConfig.endpoint |
LEX_MONITOR__ENV | str | None | — | Environment (development/staging/production) | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.env |
LEX_MONITOR__ENVIRONMENT | Environment | — | Deployment environment | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.environment |
LEX_MONITOR__EXPORT_INTERVAL | float | — | Export interval seconds | lexigram-monitor/src/lexigram/monitor/config.py:OpenTelemetryConfig.export_interval |
LEX_MONITOR__FORMAT | str | — | Log format (json, text) | lexigram-monitor/src/lexigram/monitor/config.py:LoggingConfig.format |
LEX_MONITOR__HEADERS | dict[str, str] | — | Custom headers for OTLP | lexigram-monitor/src/lexigram/monitor/config.py:OTelExporterConfig.headers |
LEX_MONITOR__HEALTH__CHECKS | list[str] | — | List of health check names to run | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.health.checks |
LEX_MONITOR__HEALTH__ENABLED | bool | — | Enable health checks | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.health.enabled |
LEX_MONITOR__HEALTH__INCLUDE_DETAILS | bool | — | Include detailed health info in response | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.health.include_details |
LEX_MONITOR__HEALTH__INTERVAL | int | — | Health check interval in seconds | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.health.interval |
LEX_MONITOR__HEALTH__PATH | str | — | Health endpoint path | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.health.path |
LEX_MONITOR__HEALTH__TIMEOUT | float | — | Health check timeout in seconds | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.health.timeout |
LEX_MONITOR__HISTOGRAM_BUCKETS | list[float] | — | Default histogram bucket boundaries | lexigram-monitor/src/lexigram/monitor/config.py:MetricsConfig.histogram_buckets |
LEX_MONITOR__INCLUDE_DETAILS | bool | — | Include detailed health info in response | lexigram-monitor/src/lexigram/monitor/config.py:HealthCheckConfig.include_details |
LEX_MONITOR__INCLUDE_TRACE_CONTEXT | bool | — | Include trace context in logs | lexigram-monitor/src/lexigram/monitor/config.py:LoggingConfig.include_trace_context |
LEX_MONITOR__INSECURE | bool | — | Use insecure connection | lexigram-monitor/src/lexigram/monitor/config.py:OpenTelemetryConfig.insecure |
LEX_MONITOR__INTERVAL | int | — | Health check interval in seconds | lexigram-monitor/src/lexigram/monitor/config.py:HealthCheckConfig.interval |
LEX_MONITOR__LEVEL | str | — | Default log level | lexigram-monitor/src/lexigram/monitor/config.py:LoggingConfig.level |
LEX_MONITOR__LOGGING__ENABLED | bool | — | Enable structured logging | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.logging.enabled |
LEX_MONITOR__LOGGING__FORMAT | str | — | Log format (json, text) | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.logging.format |
LEX_MONITOR__LOGGING__INCLUDE_TRACE_CONTEXT | bool | — | Include trace context in logs | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.logging.include_trace_context |
LEX_MONITOR__LOGGING__LEVEL | str | — | Default log level | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.logging.level |
LEX_MONITOR__LOGGING__REDACT_FIELDS | list[str] | — | Fields to redact from logs | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.logging.redact_fields |
LEX_MONITOR__MAX_ATTRIBUTES | int | — | Max attributes per span | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.max_attributes |
LEX_MONITOR__MAX_EVENTS | int | — | Max events per span | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.max_events |
LEX_MONITOR__MAX_LINKS | int | — | Max links per span | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.max_links |
LEX_MONITOR__MAX_SPANS | int | — | Max number of spans to keep in memory | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.max_spans |
LEX_MONITOR__MAX_TRACES_PER_SECOND | int | — | Max traces to sample per second | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.max_traces_per_second |
LEX_MONITOR__METRICS_EXPORTERS | list[OTelExporterConfig] | — | List of metrics exporters to build. | lexigram-monitor/src/lexigram/monitor/config.py:OpenTelemetryConfig.metrics_exporters |
LEX_MONITOR__METRICS_TABLE | str | — | Table name for metrics samples | lexigram-monitor/src/lexigram/monitor/config.py:PrometheusConfig.metrics_table |
LEX_MONITOR__METRICS__COLLECTION_INTERVAL | float | — | Metrics collection interval in seconds | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.metrics.collection_interval |
LEX_MONITOR__METRICS__DEFAULT_LABELS | dict[str, str] | — | Default labels for all metrics | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.metrics.default_labels |
LEX_MONITOR__METRICS__ENABLED | bool | — | Enable metrics collection | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.metrics.enabled |
LEX_MONITOR__METRICS__HISTOGRAM_BUCKETS | list[float] | — | Default histogram bucket boundaries | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.metrics.histogram_buckets |
LEX_MONITOR__METRICS__PREFIX | str | — | MetricProtocol name prefix | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.metrics.prefix |
LEX_MONITOR__NAME | str | — | Provider name | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.name |
LEX_MONITOR__OPENTELEMETRY__BATCH_SIZE | int | — | Export batch size | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.batch_size |
LEX_MONITOR__OPENTELEMETRY__COMPRESSION | str | — | Compression type (none, gzip) | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.compression |
LEX_MONITOR__OPENTELEMETRY__ENDPOINT | str | None | — | OTLP endpoint URL | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.endpoint |
LEX_MONITOR__OPENTELEMETRY__EXPORT_INTERVAL | float | — | Export interval seconds | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.export_interval |
LEX_MONITOR__OPENTELEMETRY__HEADERS | dict[str, str] | — | OTLP request headers | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.headers |
LEX_MONITOR__OPENTELEMETRY__INSECURE | bool | — | Use insecure connection | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.insecure |
LEX_MONITOR__OPENTELEMETRY__METRICS_EXPORTERS | list[OTelExporterConfig] | — | List of metrics exporters to build. | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.metrics_exporters |
LEX_MONITOR__OPENTELEMETRY__TIMEOUT | float | — | Export timeout seconds | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.timeout |
LEX_MONITOR__OPENTELEMETRY__TRACING_EXPORTERS | list[OTelExporterConfig] | — | List of tracing exporters to build. | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.opentelemetry.tracing_exporters |
LEX_MONITOR__PATH | str | — | Health endpoint path | lexigram-monitor/src/lexigram/monitor/config.py:HealthCheckConfig.path |
LEX_MONITOR__PORT | int | — | Metrics server port | lexigram-monitor/src/lexigram/monitor/config.py:PrometheusConfig.port |
LEX_MONITOR__PREFIX | str | — | MetricProtocol name prefix | lexigram-monitor/src/lexigram/monitor/config.py:MetricsConfig.prefix |
LEX_MONITOR__PROMETHEUS__ENABLE_DEFAULT_METRICS | bool | — | Enable default process metrics | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.prometheus.enable_default_metrics |
LEX_MONITOR__PROMETHEUS__METRICS_TABLE | str | — | Table name for metrics samples | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.prometheus.metrics_table |
LEX_MONITOR__PROMETHEUS__PATH | str | — | Metrics endpoint path | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.prometheus.path |
LEX_MONITOR__PROMETHEUS__PORT | int | — | Metrics server port | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.prometheus.port |
LEX_MONITOR__PROMETHEUS__PUSHGATEWAY_URL | str | None | — | Pushgateway URL for push-based metrics | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.prometheus.pushgateway_url |
LEX_MONITOR__PROMETHEUS__PUSH_INTERVAL | float | — | Push interval for Pushgateway | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.prometheus.push_interval |
LEX_MONITOR__PROMETHEUS__STORE_IN_DB | bool | — | Persist metrics observations to DB | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.prometheus.store_in_db |
LEX_MONITOR__PROPAGATION_FORMATS | list[str] | — | Propagation format list | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.propagation_formats |
LEX_MONITOR__PUSHGATEWAY_URL | str | None | — | Pushgateway URL for push-based metrics | lexigram-monitor/src/lexigram/monitor/config.py:PrometheusConfig.pushgateway_url |
LEX_MONITOR__PUSH_INTERVAL | float | — | Push interval for Pushgateway | lexigram-monitor/src/lexigram/monitor/config.py:PrometheusConfig.push_interval |
LEX_MONITOR__REDACT_FIELDS | list[str] | — | Fields to redact from logs | lexigram-monitor/src/lexigram/monitor/config.py:LoggingConfig.redact_fields |
LEX_MONITOR__SAMPLER_TYPE | SamplerType | — | Tracing sampler type | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.sampler_type |
LEX_MONITOR__SAMPLE_RATE | float | — | Sample rate (0.0 to 1.0) | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.sample_rate |
LEX_MONITOR__SERVICE_NAME | str | — | Service name for traces | lexigram-monitor/src/lexigram/monitor/config.py:TracingConfig.service_name |
LEX_MONITOR__STORE_IN_DB | bool | — | Persist metrics observations to DB | lexigram-monitor/src/lexigram/monitor/config.py:PrometheusConfig.store_in_db |
LEX_MONITOR__TIMEOUT | float | — | Health check timeout in seconds | lexigram-monitor/src/lexigram/monitor/config.py:HealthCheckConfig.timeout |
LEX_MONITOR__TRACING_EXPORTERS | list[OTelExporterConfig] | — | List of tracing exporters to build. | lexigram-monitor/src/lexigram/monitor/config.py:OpenTelemetryConfig.tracing_exporters |
LEX_MONITOR__TRACING__ENABLED | bool | — | Enable tracing | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.enabled |
LEX_MONITOR__TRACING__MAX_ATTRIBUTES | int | — | Max attributes per span | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.max_attributes |
LEX_MONITOR__TRACING__MAX_EVENTS | int | — | Max events per span | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.max_events |
LEX_MONITOR__TRACING__MAX_LINKS | int | — | Max links per span | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.max_links |
LEX_MONITOR__TRACING__MAX_SPANS | int | — | Max number of spans to keep in memory | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.max_spans |
LEX_MONITOR__TRACING__MAX_TRACES_PER_SECOND | int | — | Max traces to sample per second | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.max_traces_per_second |
LEX_MONITOR__TRACING__PROPAGATION_FORMATS | list[str] | — | Propagation format list | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.propagation_formats |
LEX_MONITOR__TRACING__SAMPLER_TYPE | SamplerType | — | Tracing sampler type | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.sampler_type |
LEX_MONITOR__TRACING__SAMPLE_RATE | float | — | Sample rate (0.0 to 1.0) | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.sample_rate |
LEX_MONITOR__TRACING__SERVICE_NAME | str | — | Service name for traces | lexigram-monitor/src/lexigram/monitor/config.py:MonitorConfig.tracing.service_name |
LEX_MONITOR__TYPE | str | — | Exporter type (console, jaeger, otlp) | lexigram-monitor/src/lexigram/monitor/config.py:OTelExporterConfig.type |
lexigram-nosql (18 vars)
Section titled “lexigram-nosql (18 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_NOSQL__BACKENDS | list[NamedNoSQLConfig] | — | Named NoSQL backends for multi-store support. When non-empty, the provider re… | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.backends |
LEX_NOSQL__DRIVER | str | ’mongodb’ | NoSQL driver name | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.driver |
LEX_NOSQL__ENABLED | bool | True | Enable NoSQL support | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.enabled |
LEX_NOSQL__FIRESTORE__CREDENTIALS_JSON | str | None | None | Path to a service account JSON key file, or the raw JSON string. When “None`… | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.firestore.credentials_json |
LEX_NOSQL__FIRESTORE__DATABASE_ID | str | ’(default)‘ | Firestore database ID (use ‘(default)’ for the default database) | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.firestore.database_id |
LEX_NOSQL__FIRESTORE__PROJECT_ID | str | — | Google Cloud project ID | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.firestore.project_id |
LEX_NOSQL__MONGODB__AUTH_SOURCE | str | ’admin’ | Authentication database | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.auth_source |
LEX_NOSQL__MONGODB__CONNECT_TIMEOUT_MS | int | 10000 | Connection timeout (ms) | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.connect_timeout_ms |
LEX_NOSQL__MONGODB__DATABASE | str | ’lexigram’ | Database name | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.database |
LEX_NOSQL__MONGODB__MAX_POOL_SIZE | int | 100 | Maximum connection pool size | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.max_pool_size |
LEX_NOSQL__MONGODB__MIN_POOL_SIZE | int | 10 | Minimum connection pool size | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.min_pool_size |
LEX_NOSQL__MONGODB__READ_PREFERENCE | str | ’primaryPreferred’ | Read preference mode | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.read_preference |
LEX_NOSQL__MONGODB__RETRY_READS | bool | True | Enable read retries | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.retry_reads |
LEX_NOSQL__MONGODB__RETRY_WRITES | bool | True | Enable write retries | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.retry_writes |
LEX_NOSQL__MONGODB__SERVER_SELECTION_TIMEOUT_MS | int | 5000 | Server selection timeout (ms) | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.server_selection_timeout_ms |
LEX_NOSQL__MONGODB__SOCKET_TIMEOUT_MS | int | 30000 | Socket timeout (ms) | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.socket_timeout_ms |
LEX_NOSQL__MONGODB__URI | str | ’mongodb://localhost:27017’ | MongoDB connection URI | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.uri |
LEX_NOSQL__MONGODB__WRITE_CONCERN_W | str | int | ’majority’ | Write concern level | lexigram-nosql/src/lexigram/nosql/config.py:NoSQLConfig.mongodb.write_concern_w |
lexigram-notification (7 vars)
Section titled “lexigram-notification (7 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_NOTIFICATION__BACKENDS | list[NamedMailerConfig] | — | Named mailer backends for multi-backend support. When non-empty, the provider… | lexigram-notification/src/lexigram/notification/config.py:MailerConfig.backends |
LEX_NOTIFICATION__MARK_READ_ON_FETCH | bool | False | Automatically mark messages as read when fetched. | lexigram-notification/src/lexigram/notification/config.py:InboxConfig.mark_read_on_fetch |
LEX_NOTIFICATION__MAX_PAGE_SIZE | int | 50 | Maximum messages returned per page. | lexigram-notification/src/lexigram/notification/config.py:InboxConfig.max_page_size |
LEX_NOTIFICATION__PUSH_BACKENDS | list[NamedPushConfig] | — | Named push notification backends for multi-backend support. When non-empty, t… | lexigram-notification/src/lexigram/notification/config.py:NotificationConfig.push_backends |
LEX_NOTIFICATION__RETENTION_DAYS | int | 30 | Days to retain inbox messages before pruning. | lexigram-notification/src/lexigram/notification/config.py:InboxConfig.retention_days |
LEX_NOTIFICATION__SMS_BACKENDS | list[NamedSMSConfig] | — | Named SMS backends for multi-backend support. When non-empty, the provider re… | lexigram-notification/src/lexigram/notification/config.py:NotificationConfig.sms_backends |
LEX_NOTIFICATION__STORE_BACKEND | str | ’database’ | Storage backend. One of ‘database’ or ‘memory’. | lexigram-notification/src/lexigram/notification/config.py:InboxConfig.store_backend |
lexigram-queue (1 vars)
Section titled “lexigram-queue (1 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_QUEUE__BACKENDS | list[NamedQueueConfig] | — | Named queue backends for multi-backend support. When non-empty, the provider … | lexigram-queue/src/lexigram/queue/config.py:QueueConfig.backends |
lexigram-resilience (13 vars)
Section titled “lexigram-resilience (13 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_RESILIENCE__AUTO_CLEANUP | bool | True | Start background cleanup task on init. | lexigram-resilience/src/lexigram/resilience/config.py:IdempotencyConfig.auto_cleanup |
LEX_RESILIENCE__BULKHEAD__MAX_CONCURRENT | int | 10 | Max concurrent requests | lexigram-resilience/src/lexigram/resilience/config.py:ResilienceConfig.bulkhead.max_concurrent |
LEX_RESILIENCE__BULKHEAD__NAME | str | ” | Bulkhead name | lexigram-resilience/src/lexigram/resilience/config.py:ResilienceConfig.bulkhead.name |
LEX_RESILIENCE__BULKHEAD__QUEUE_SIZE | int | 100 | Max queue size | lexigram-resilience/src/lexigram/resilience/config.py:ResilienceConfig.bulkhead.queue_size |
LEX_RESILIENCE__BULKHEAD__TIMEOUT | float | 30.0 | Execution timeout | lexigram-resilience/src/lexigram/resilience/config.py:ResilienceConfig.bulkhead.timeout |
LEX_RESILIENCE__CIRCUIT_BREAKER | CircuitBreakerConfig | (complex) | — | lexigram-resilience/src/lexigram/resilience/config.py:ResilienceConfig.circuit_breaker |
LEX_RESILIENCE__CLEANUP_INTERVAL | float | 300.0 | Seconds between background cleanup sweeps. | lexigram-resilience/src/lexigram/resilience/config.py:IdempotencyConfig.cleanup_interval |
LEX_RESILIENCE__KEY_PREFIX | str | ’idempotency:‘ | Prefix for all keys in backing stores. | lexigram-resilience/src/lexigram/resilience/config.py:IdempotencyConfig.key_prefix |
LEX_RESILIENCE__MAX_ENTRIES | int | 10000 | Maximum in-memory entries before FIFO eviction. | lexigram-resilience/src/lexigram/resilience/config.py:IdempotencyConfig.max_entries |
LEX_RESILIENCE__MAX_KEY_LENGTH | int | 512 | Maximum allowed idempotency key length. | lexigram-resilience/src/lexigram/resilience/config.py:IdempotencyConfig.max_key_length |
LEX_RESILIENCE__RETRY | RetryConfig | (complex) | — | lexigram-resilience/src/lexigram/resilience/config.py:ResilienceConfig.retry |
LEX_RESILIENCE__TIMEOUT | TimeoutConfig | (complex) | — | lexigram-resilience/src/lexigram/resilience/config.py:ResilienceConfig.timeout |
LEX_RESILIENCE__TTL | int | 3600 | TTL for cached results in seconds. | lexigram-resilience/src/lexigram/resilience/config.py:IdempotencyConfig.ttl |
lexigram-search (104 vars)
Section titled “lexigram-search (104 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_SEARCH__API_KEY | SecretStr | None | None | — | lexigram-search/src/lexigram/search/config.py:SearchMeiliConfig.api_key |
LEX_SEARCH__API_URL | str | None | None | — | lexigram-search/src/lexigram/search/config.py:SearchMeiliConfig.api_url |
LEX_SEARCH__AUTO_CREATE_TABLES | bool | True | — | lexigram-search/src/lexigram/search/config.py:PostgresSearchConfig.auto_create_tables |
LEX_SEARCH__BACKENDS | list[NamedSearchConfig] | — | Named search backends for multi-backend support. When non-empty, the provider… | lexigram-search/src/lexigram/search/config.py:SearchConfig.backends |
LEX_SEARCH__BACKEND_TYPE | BackendType | — | Search backend type | lexigram-search/src/lexigram/search/config.py:SearchConfig.backend_type |
LEX_SEARCH__BULK_CHUNK_SIZE | int | — | Bulk request chunk size | lexigram-search/src/lexigram/search/config.py:SearchOperationsConfig.bulk_chunk_size |
LEX_SEARCH__CONNECTION_STRING | SecretStr | SecretStr(”) | PostgreSQL connection string | lexigram-search/src/lexigram/search/config.py:PostgresSearchConfig.connection_string |
LEX_SEARCH__CONNECTION_TIMEOUT | int | 30 | Connection timeout | lexigram-search/src/lexigram/search/config.py:TypesenseConfig.connection_timeout |
LEX_SEARCH__DATABASE | str | None | None | Named database to use for DB-backed backends (postgres/mysql). References a n… | lexigram-search/src/lexigram/search/config.py:SearchConfig.database |
LEX_SEARCH__DATABASE_NAME | str | ’search’ | — | lexigram-search/src/lexigram/search/config.py:MongoSearchConfig.database_name |
LEX_SEARCH__DB_PATH | str | ’:memory:‘ | — | lexigram-search/src/lexigram/search/config.py:SQLiteSearchConfig.db_path |
LEX_SEARCH__DEFAULT_LIMIT | int | search_const.DEFAULT_PAGE_SIZE | — | lexigram-search/src/lexigram/search/config.py:QueryConfig.default_limit |
LEX_SEARCH__DISPLAYED_ATTRIBUTES | list[str] | — | Fields to return in results | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.displayed_attributes |
LEX_SEARCH__ELASTICSEARCH__API_KEY | SecretStr | None | None | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.api_key |
LEX_SEARCH__ELASTICSEARCH__HOSTS | list[str] | — | Elasticsearch hosts | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.hosts |
LEX_SEARCH__ELASTICSEARCH__INDEX_PREFIX | str | ’lexigram_search_‘ | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.index_prefix |
LEX_SEARCH__ELASTICSEARCH__NUMBER_OF_REPLICAS | int | 0 | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.number_of_replicas |
LEX_SEARCH__ELASTICSEARCH__NUMBER_OF_SHARDS | int | 1 | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.number_of_shards |
LEX_SEARCH__ELASTICSEARCH__PASSWORD | SecretStr | None | None | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.password |
LEX_SEARCH__ELASTICSEARCH__USERNAME | str | None | None | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.username |
LEX_SEARCH__ELASTICSEARCH__USE_SSL | bool | False | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.use_ssl |
LEX_SEARCH__ELASTICSEARCH__VERIFY_CERTS | bool | True | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.elasticsearch.verify_certs |
LEX_SEARCH__ENABLED | bool | True | Enable the search subsystem | lexigram-search/src/lexigram/search/config.py:SearchConfig.enabled |
LEX_SEARCH__ENABLE_AGGREGATIONS | bool | False | — | lexigram-search/src/lexigram/search/config.py:QueryConfig.enable_aggregations |
LEX_SEARCH__ENABLE_FACETING | bool | True | — | lexigram-search/src/lexigram/search/config.py:QueryConfig.enable_faceting |
LEX_SEARCH__ENABLE_HIGHLIGHTING | bool | True | — | lexigram-search/src/lexigram/search/config.py:QueryConfig.enable_highlighting |
LEX_SEARCH__ENABLE_TRIGRAM | bool | True | Enable pg_trgm fuzzy matching | lexigram-search/src/lexigram/search/config.py:PostgresSearchConfig.enable_trigram |
LEX_SEARCH__FILTERABLE_ATTRIBUTES | list[str] | — | Attributes that can be filtered | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.filterable_attributes |
LEX_SEARCH__FULLTEXT_MODE | str | ’natural_language’ | — | lexigram-search/src/lexigram/search/config.py:MySQLSearchConfig.fulltext_mode |
LEX_SEARCH__FUZZY_THRESHOLD | float | 0.8 | — | lexigram-search/src/lexigram/search/config.py:QueryConfig.fuzzy_threshold |
LEX_SEARCH__HEALTH_CHECK_INTERVAL | int | 60 | Health check interval | lexigram-search/src/lexigram/search/config.py:TypesenseConfig.health_check_interval |
LEX_SEARCH__HOSTS | list[str] | — | Elasticsearch hosts | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.hosts |
LEX_SEARCH__INDEX_PREFIX | str | ’lexigram_search_‘ | — | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.index_prefix |
LEX_SEARCH__MAX_CONNECTIONS | int | 10 | Maximum number of connections | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.max_connections |
LEX_SEARCH__MAX_LIMIT | int | search_const.DEFAULT_MAX_RESULTS | — | lexigram-search/src/lexigram/search/config.py:QueryConfig.max_limit |
LEX_SEARCH__MAX_RETRIES | int | — | Max retry attempts | lexigram-search/src/lexigram/search/config.py:SearchOperationsConfig.max_retries |
LEX_SEARCH__MEILISEARCH__API_KEY | SecretStr | None | None | MeiliSearch API key | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.api_key |
LEX_SEARCH__MEILISEARCH__DISPLAYED_ATTRIBUTES | list[str] | — | Fields to return in results | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.displayed_attributes |
LEX_SEARCH__MEILISEARCH__FILTERABLE_ATTRIBUTES | list[str] | — | Attributes that can be filtered | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.filterable_attributes |
LEX_SEARCH__MEILISEARCH__MAX_CONNECTIONS | int | 10 | Maximum number of connections | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.max_connections |
LEX_SEARCH__MEILISEARCH__MIN_WORD_SIZE_FOR_TYPOS | dict[str, int] | — | Minimum word size for typo tolerance | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.min_word_size_for_typos |
LEX_SEARCH__MEILISEARCH__RANKING_RULES | list[str] | — | Ranking rules in order | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.ranking_rules |
LEX_SEARCH__MEILISEARCH__SEARCHABLE_ATTRIBUTES | list[str] | — | Fields to search in | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.searchable_attributes |
LEX_SEARCH__MEILISEARCH__SORTABLE_ATTRIBUTES | list[str] | — | Attributes that can be sorted | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.sortable_attributes |
LEX_SEARCH__MEILISEARCH__TIMEOUT | int | 30 | Request timeout in seconds | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.timeout |
LEX_SEARCH__MEILISEARCH__TYPO_TOLERANCE_ENABLED | bool | True | Enable typo tolerance | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.typo_tolerance_enabled |
LEX_SEARCH__MEILISEARCH__URL | str | ’http://localhost:7700’ | MeiliSearch server URL | lexigram-search/src/lexigram/search/config.py:SearchConfig.meilisearch.url |
LEX_SEARCH__MIN_WORD_LENGTH | int | 3 | — | lexigram-search/src/lexigram/search/config.py:MySQLSearchConfig.min_word_length |
LEX_SEARCH__MIN_WORD_SIZE_FOR_TYPOS | dict[str, int] | — | Minimum word size for typo tolerance | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.min_word_size_for_typos |
LEX_SEARCH__MONGO__CONNECTION_STRING | SecretStr | SecretStr(”) | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.mongo.connection_string |
LEX_SEARCH__MONGO__DATABASE_NAME | str | ’search’ | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.mongo.database_name |
LEX_SEARCH__MONGO__USE_ATLAS_SEARCH | bool | False | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.mongo.use_atlas_search |
LEX_SEARCH__MYSQL__CONNECTION_STRING | SecretStr | SecretStr(”) | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.mysql.connection_string |
LEX_SEARCH__MYSQL__FULLTEXT_MODE | str | ’natural_language’ | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.mysql.fulltext_mode |
LEX_SEARCH__MYSQL__MIN_WORD_LENGTH | int | 3 | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.mysql.min_word_length |
LEX_SEARCH__NODES | list[dict[str, str]] | — | Typesense node connections | lexigram-search/src/lexigram/search/config.py:TypesenseConfig.nodes |
LEX_SEARCH__NUMBER_OF_REPLICAS | int | 0 | — | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.number_of_replicas |
LEX_SEARCH__NUMBER_OF_SHARDS | int | 1 | — | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.number_of_shards |
LEX_SEARCH__OPENSEARCH__HOSTS | list[str] | — | OpenSearch hosts | lexigram-search/src/lexigram/search/config.py:SearchConfig.opensearch.hosts |
LEX_SEARCH__OPENSEARCH__INDEX_PREFIX | str | ’lexigram_search_‘ | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.opensearch.index_prefix |
LEX_SEARCH__OPENSEARCH__PASSWORD | str | None | None | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.opensearch.password |
LEX_SEARCH__OPENSEARCH__TIMEOUT | int | 30 | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.opensearch.timeout |
LEX_SEARCH__OPENSEARCH__USERNAME | str | None | None | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.opensearch.username |
LEX_SEARCH__OPENSEARCH__USE_SSL | bool | False | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.opensearch.use_ssl |
LEX_SEARCH__OPENSEARCH__VERIFY_SSL | bool | True | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.opensearch.verify_ssl |
LEX_SEARCH__OPERATIONS__BULK_CHUNK_SIZE | int | — | Bulk request chunk size | lexigram-search/src/lexigram/search/config.py:SearchConfig.operations.bulk_chunk_size |
LEX_SEARCH__OPERATIONS__MAX_RETRIES | int | — | Max retry attempts | lexigram-search/src/lexigram/search/config.py:SearchConfig.operations.max_retries |
LEX_SEARCH__OPERATIONS__REQUEST_TIMEOUT | float | — | Request timeout seconds | lexigram-search/src/lexigram/search/config.py:SearchConfig.operations.request_timeout |
LEX_SEARCH__OPERATIONS__RETRY_BACKOFF | float | — | Retry backoff multiplier | lexigram-search/src/lexigram/search/config.py:SearchConfig.operations.retry_backoff |
LEX_SEARCH__PASSWORD | SecretStr | None | None | — | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.password |
LEX_SEARCH__POSTGRES__AUTO_CREATE_TABLES | bool | True | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.postgres.auto_create_tables |
LEX_SEARCH__POSTGRES__CONNECTION_STRING | SecretStr | SecretStr(”) | PostgreSQL connection string | lexigram-search/src/lexigram/search/config.py:SearchConfig.postgres.connection_string |
LEX_SEARCH__POSTGRES__ENABLE_TRIGRAM | bool | True | Enable pg_trgm fuzzy matching | lexigram-search/src/lexigram/search/config.py:SearchConfig.postgres.enable_trigram |
LEX_SEARCH__POSTGRES__TEXT_SEARCH_CONFIG | str | ’english’ | PostgreSQL text search config | lexigram-search/src/lexigram/search/config.py:SearchConfig.postgres.text_search_config |
LEX_SEARCH__QUERY__DEFAULT_LIMIT | int | search_const.DEFAULT_PAGE_SIZE | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.query.default_limit |
LEX_SEARCH__QUERY__ENABLE_AGGREGATIONS | bool | False | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.query.enable_aggregations |
LEX_SEARCH__QUERY__ENABLE_FACETING | bool | True | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.query.enable_faceting |
LEX_SEARCH__QUERY__ENABLE_HIGHLIGHTING | bool | True | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.query.enable_highlighting |
LEX_SEARCH__QUERY__FUZZY_THRESHOLD | float | 0.8 | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.query.fuzzy_threshold |
LEX_SEARCH__QUERY__MAX_LIMIT | int | search_const.DEFAULT_MAX_RESULTS | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.query.max_limit |
LEX_SEARCH__QUERY__STRATEGY | str | ’fuzzy’ | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.query.strategy |
LEX_SEARCH__RANKING_RULES | list[str] | — | Ranking rules in order | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.ranking_rules |
LEX_SEARCH__REQUEST_TIMEOUT | float | — | Request timeout seconds | lexigram-search/src/lexigram/search/config.py:SearchOperationsConfig.request_timeout |
LEX_SEARCH__RETRY_BACKOFF | float | — | Retry backoff multiplier | lexigram-search/src/lexigram/search/config.py:SearchOperationsConfig.retry_backoff |
LEX_SEARCH__SEARCHABLE_ATTRIBUTES | list[str] | — | Fields to search in | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.searchable_attributes |
LEX_SEARCH__SORTABLE_ATTRIBUTES | list[str] | — | Attributes that can be sorted | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.sortable_attributes |
LEX_SEARCH__SQLITE__AUTO_CREATE_TABLES | bool | True | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.sqlite.auto_create_tables |
LEX_SEARCH__SQLITE__DB_PATH | str | ’:memory:‘ | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.sqlite.db_path |
LEX_SEARCH__SQLITE__TOKENIZER | str | ’porter unicode61’ | — | lexigram-search/src/lexigram/search/config.py:SearchConfig.sqlite.tokenizer |
LEX_SEARCH__STRATEGY | str | ’fuzzy’ | — | lexigram-search/src/lexigram/search/config.py:QueryConfig.strategy |
LEX_SEARCH__TEXT_SEARCH_CONFIG | str | ’english’ | PostgreSQL text search config | lexigram-search/src/lexigram/search/config.py:PostgresSearchConfig.text_search_config |
LEX_SEARCH__TIMEOUT | int | 30 | — | lexigram-search/src/lexigram/search/config.py:OpenSearchConfig.timeout |
LEX_SEARCH__TOKENIZER | str | ’porter unicode61’ | — | lexigram-search/src/lexigram/search/config.py:SQLiteSearchConfig.tokenizer |
LEX_SEARCH__TYPESENSE__API_KEY | SecretStr | None | None | Typesense API key | lexigram-search/src/lexigram/search/config.py:SearchConfig.typesense.api_key |
LEX_SEARCH__TYPESENSE__CONNECTION_TIMEOUT | int | 30 | Connection timeout | lexigram-search/src/lexigram/search/config.py:SearchConfig.typesense.connection_timeout |
LEX_SEARCH__TYPESENSE__HEALTH_CHECK_INTERVAL | int | 60 | Health check interval | lexigram-search/src/lexigram/search/config.py:SearchConfig.typesense.health_check_interval |
LEX_SEARCH__TYPESENSE__NODES | list[dict[str, str]] | — | Typesense node connections | lexigram-search/src/lexigram/search/config.py:SearchConfig.typesense.nodes |
LEX_SEARCH__TYPO_TOLERANCE_ENABLED | bool | True | Enable typo tolerance | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.typo_tolerance_enabled |
LEX_SEARCH__URL | str | ’http://localhost:7700’ | MeiliSearch server URL | lexigram-search/src/lexigram/search/config.py:MeiliSearchConfig.url |
LEX_SEARCH__USERNAME | str | None | None | — | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.username |
LEX_SEARCH__USE_ATLAS_SEARCH | bool | False | — | lexigram-search/src/lexigram/search/config.py:MongoSearchConfig.use_atlas_search |
LEX_SEARCH__USE_SSL | bool | False | — | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.use_ssl |
LEX_SEARCH__VERIFY_CERTS | bool | True | — | lexigram-search/src/lexigram/search/config.py:ElasticsearchConfig.verify_certs |
LEX_SEARCH__VERIFY_SSL | bool | True | — | lexigram-search/src/lexigram/search/config.py:OpenSearchConfig.verify_ssl |
lexigram-sql (22 vars)
Section titled “lexigram-sql (22 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_SQL__AUDIT_HMAC_KEY | str | None | None | HMAC key for audit checksum signing. Plain text or base64. | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.audit_hmac_key |
LEX_SQL__BACKENDS | list[NamedDatabaseConfig] | — | Multi-database backends list. When non-empty, drives multi-DB mode. The entry… | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.backends |
LEX_SQL__BACKEND__URL | SecretStr | — | Database connection URL (may contain credentials) | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.backend.url |
LEX_SQL__DEFAULT_CURSOR_SIZE | int | const.DEFAULT_CURSOR_SIZE | — | lexigram-sql/src/lexigram/sql/config.py:DataConfig.default_cursor_size |
LEX_SQL__DEFAULT_PAGE_SIZE | int | const.DEFAULT_PAGE_SIZE | — | lexigram-sql/src/lexigram/sql/config.py:DataConfig.default_page_size |
LEX_SQL__ENABLED | bool | True | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.enabled |
LEX_SQL__MAX_PAGE_SIZE | int | const.MAX_PAGE_SIZE | — | lexigram-sql/src/lexigram/sql/config.py:DataConfig.max_page_size |
LEX_SQL__MIGRATIONS__LOCK_TIMEOUT | Duration | Duration.seconds(30) | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.migrations.lock_timeout |
LEX_SQL__NAME | str | ”database” | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.name |
LEX_SQL__OPERATIONS__ECHO | bool | False | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.operations.echo |
LEX_SQL__OPERATIONS__STATEMENT_TIMEOUT | Duration | Duration.seconds(60) | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.operations.statement_timeout |
LEX_SQL__OUTBOX__BATCH_MAX_AGE | Duration | Duration.seconds(30) | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.outbox.batch_max_age |
LEX_SQL__OUTBOX__ENABLED | bool | True | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.outbox.enabled |
LEX_SQL__OUTBOX__POLL_INTERVAL | Duration | Duration.seconds(5) | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.outbox.poll_interval |
LEX_SQL__POOL__ACQUIRE_TIMEOUT | Duration | Duration.seconds(30) | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.acquire_timeout |
LEX_SQL__POOL__IDLE_TIMEOUT | Duration | Duration.minutes(5) | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.idle_timeout |
LEX_SQL__POOL__MAX_LIFETIME | Duration | Duration.hours(1) | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.max_lifetime |
LEX_SQL__POOL__MAX_OVERFLOW | int | 5 | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.max_overflow |
LEX_SQL__POOL__MAX_SIZE | int | const.DEFAULT_POOL_MAX_SIZE | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.max_size |
LEX_SQL__POOL__MIN_SIZE | int | const.DEFAULT_POOL_MIN_SIZE | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.min_size |
LEX_SQL__POOL__RECYCLE | int | 3600 | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.recycle |
LEX_SQL__POOL__TIMEOUT | float | const.DEFAULT_POOL_TIMEOUT | — | lexigram-sql/src/lexigram/sql/config.py:DatabaseConfig.pool.timeout |
lexigram-storage (29 vars)
Section titled “lexigram-storage (29 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_STORAGE__ACCESS_KEY | SecretStr | None | — | AWS access key | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.access_key |
LEX_STORAGE__ACCOUNT_KEY | SecretStr | — | Azure storage account key | lexigram-storage/src/lexigram/storage/config.py:StorageAzureConfig.account_key |
LEX_STORAGE__ACCOUNT_NAME | str | — | Azure storage account name | lexigram-storage/src/lexigram/storage/config.py:StorageAzureConfig.account_name |
LEX_STORAGE__ALLOWED_MIME_TYPES | list[str] | — | Allowed MIME types for upload validation. Defaults to a safe set of common im… | lexigram-storage/src/lexigram/storage/config.py:StorageOperationConfig.allowed_mime_types |
LEX_STORAGE__BACKENDS | list[NamedStorageConfig] | — | Named storage backends for multi-store support. When non-empty, the provider … | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.backends |
LEX_STORAGE__BASE_URL | str | storage_const.DEFAULT_LOCAL_BASE_URL | Base URL for file access | lexigram-storage/src/lexigram/storage/config.py:StorageLocalConfig.base_url |
LEX_STORAGE__BUCKET | str | — | S3 bucket name | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.bucket |
LEX_STORAGE__CONTAINER | str | — | Blob container name | lexigram-storage/src/lexigram/storage/config.py:StorageAzureConfig.container |
LEX_STORAGE__CREDENTIALS_PATH | str | None | — | Path to service account credentials | lexigram-storage/src/lexigram/storage/config.py:StorageGCSConfig.credentials_path |
LEX_STORAGE__DEFAULT_DRIVER | Literal[‘local’, ‘s3’, ‘gcs’, ‘azure’, ‘memory’, ‘r2’] | storage_const.DEFAULT_DRIVER | Default storage driver to use | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.default_driver |
LEX_STORAGE__DRIVERS | dict[str, StorageLocalConfig | StorageS3Config | StorageGCSConfig | StorageAzureConfig | StorageMemoryConfig | StorageR2Config] | — | Driver-specific configurations | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.drivers |
LEX_STORAGE__ENABLED | bool | False | Enable server-side encryption | lexigram-storage/src/lexigram/storage/config.py:EncryptionConfig.enabled |
LEX_STORAGE__ENCRYPTION__ENABLED | bool | False | Enable server-side encryption | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.encryption.enabled |
LEX_STORAGE__ENCRYPTION__KMS_KEY_ID | str | None | None | KMS/CMEK key ARN or ID (required for aws:kms and gcs:cmek types) | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.encryption.kms_key_id |
LEX_STORAGE__ENCRYPTION__TYPE | Literal[‘AES256’, ‘aws:kms’, ‘gcs:cmek’] | ‘AES256’ | Encryption type | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.encryption.type |
LEX_STORAGE__ENDPOINT_URL | str | None | — | Custom endpoint URL (for MinIO, etc.) | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.endpoint_url |
LEX_STORAGE__ENV | str | None | — | Environment (development/staging/production) | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.env |
LEX_STORAGE__HEALTH_CHECK_TIMEOUT | float | 5.0 | Timeout in seconds for the startup health check in StorageProvider.boot() | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.health_check_timeout |
LEX_STORAGE__KMS_KEY_ID | str | None | None | KMS/CMEK key ARN or ID (required for aws:kms and gcs:cmek types) | lexigram-storage/src/lexigram/storage/config.py:EncryptionConfig.kms_key_id |
LEX_STORAGE__MAX_FILE_SIZE_MB | int | storage_const.DEFAULT_MAX_FILE_SIZE_MB | Maximum file size in MB | lexigram-storage/src/lexigram/storage/config.py:StorageOperationConfig.max_file_size_mb |
LEX_STORAGE__NAME | str | ”storage” | — | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.name |
LEX_STORAGE__PROJECT_ID | str | — | Google Cloud project ID | lexigram-storage/src/lexigram/storage/config.py:StorageGCSConfig.project_id |
LEX_STORAGE__PUBLIC_URL | str | None | — | Custom public URL for serving files (e.g., Cloudflare R2 custom domain). | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.public_url |
LEX_STORAGE__REGION | str | — | AWS region | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.region |
LEX_STORAGE__ROOT_DIR | str | storage_const.DEFAULT_LOCAL_ROOT_DIR | Root directory for file storage | lexigram-storage/src/lexigram/storage/config.py:StorageLocalConfig.root_dir |
LEX_STORAGE__SECRET_KEY | SecretStr | None | — | AWS secret key | lexigram-storage/src/lexigram/storage/config.py:StorageS3Config.secret_key |
LEX_STORAGE__SERVICE__ALLOWED_MIME_TYPES | list[str] | — | Allowed MIME types for upload validation. Defaults to a safe set of common im… | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.service.allowed_mime_types |
LEX_STORAGE__SERVICE__MAX_FILE_SIZE_MB | int | storage_const.DEFAULT_MAX_FILE_SIZE_MB | Maximum file size in MB | lexigram-storage/src/lexigram/storage/config.py:StorageConfig.service.max_file_size_mb |
LEX_STORAGE__TYPE | Literal[‘AES256’, ‘aws:kms’, ‘gcs:cmek’] | ‘AES256’ | Encryption type | lexigram-storage/src/lexigram/storage/config.py:EncryptionConfig.type |
lexigram-tasks (45 vars)
Section titled “lexigram-tasks (45 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_TASKS__AMQP_URL | SecretStr | SecretStr(tasks_const.DEFAULT_AMQP_URL) | AMQP connection URL (may contain credentials). | lexigram-tasks/src/lexigram/tasks/config.py:TaskBackendConfig.amqp_url |
LEX_TASKS__BACKENDS | list[NamedTaskConfig] | — | Named task queue backends for multi-queue support. When non-empty, the provid… | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.backends |
LEX_TASKS__BACKEND__AMQP_URL | SecretStr | SecretStr(tasks_const.DEFAULT_AMQP_URL) | AMQP connection URL (may contain credentials). | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.backend.amqp_url |
LEX_TASKS__BACKEND__POSTGRES_DSN | SecretStr | None | None | Postgres DSN (required when type=“postgres”; may contain credentials). | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.backend.postgres_dsn |
LEX_TASKS__BACKEND__QUEUE_NAME | str | tasks_const.DEFAULT_QUEUE_NAME | Name of the task queue | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.backend.queue_name |
LEX_TASKS__BACKEND__REDIS_URL | SecretStr | SecretStr(tasks_const.DEFAULT_REDIS_URL) | Redis connection URL (may contain credentials). | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.backend.redis_url |
LEX_TASKS__BACKEND__TYPE | str | tasks_const.DEFAULT_BACKEND | Queue backend type | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.backend.type |
LEX_TASKS__BURST | int | None | None | Maximum burst size | lexigram-tasks/src/lexigram/tasks/config.py:TaskRateLimitConfig.burst |
LEX_TASKS__CHECK_INTERVAL | float | tasks_const.DEFAULT_SCHEDULER_CHECK_INTERVAL | Interval between schedule checks (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskSchedulerConfig.check_interval |
LEX_TASKS__DEFAULT_TIMEOUT | float | tasks_const.DEFAULT_TASK_TIMEOUT | Default timeout for tasks without an explicit timeout (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskWorkerConfig.default_timeout |
LEX_TASKS__ENABLED | bool | True | Whether scheduling is enabled | lexigram-tasks/src/lexigram/tasks/config.py:TaskSchedulerConfig.enabled |
LEX_TASKS__ENFORCE_TIMEOUT | bool | True | Whether to enforce timeouts on all tasks | lexigram-tasks/src/lexigram/tasks/config.py:TaskWorkerConfig.enforce_timeout |
LEX_TASKS__ENV | str | None | — | Environment (development/staging/production) | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.env |
LEX_TASKS__EXTRA | dict[str, Any] | — | — | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.extra |
LEX_TASKS__MAX_CONCURRENT_TASKS | int | tasks_const.DEFAULT_MAX_CONCURRENT_TASKS | Maximum concurrent tasks per worker | lexigram-tasks/src/lexigram/tasks/config.py:TaskWorkerConfig.max_concurrent_tasks |
LEX_TASKS__MAX_TIMEOUT | float | tasks_const.DEFAULT_MAX_TIMEOUT | Maximum allowed timeout for any task (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskWorkerConfig.max_timeout |
LEX_TASKS__NAME | str | ’tasks’ | Configuration name | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.name |
LEX_TASKS__PER | float | 1.0 | Time period in seconds | lexigram-tasks/src/lexigram/tasks/config.py:TaskRateLimitConfig.per |
LEX_TASKS__POLL_INTERVAL | float | tasks_const.DEFAULT_POLL_INTERVAL | Interval between queue polls (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskWorkerConfig.poll_interval |
LEX_TASKS__POSTGRES_DSN | SecretStr | None | None | Postgres DSN (required when type=“postgres”; may contain credentials). | lexigram-tasks/src/lexigram/tasks/config.py:TaskBackendConfig.postgres_dsn |
LEX_TASKS__QUEUE_NAME | str | tasks_const.DEFAULT_QUEUE_NAME | Name of the task queue | lexigram-tasks/src/lexigram/tasks/config.py:TaskBackendConfig.queue_name |
LEX_TASKS__RATE | int | 100 | Number of tasks allowed per time period | lexigram-tasks/src/lexigram/tasks/config.py:TaskRateLimitConfig.rate |
LEX_TASKS__RATE_LIMIT__BURST | int | None | None | Maximum burst size | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.rate_limit.burst |
LEX_TASKS__RATE_LIMIT__ENABLED | bool | False | Whether rate limiting is enabled | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.rate_limit.enabled |
LEX_TASKS__RATE_LIMIT__PER | float | 1.0 | Time period in seconds | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.rate_limit.per |
LEX_TASKS__RATE_LIMIT__RATE | int | 100 | Number of tasks allowed per time period | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.rate_limit.rate |
LEX_TASKS__REDIS_URL | SecretStr | SecretStr(tasks_const.DEFAULT_REDIS_URL) | Redis connection URL (may contain credentials). | lexigram-tasks/src/lexigram/tasks/config.py:TaskBackendConfig.redis_url |
LEX_TASKS__RETRY | RetryConfig | — | — | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.retry |
LEX_TASKS__SCHEDULER__CHECK_INTERVAL | float | tasks_const.DEFAULT_SCHEDULER_CHECK_INTERVAL | Interval between schedule checks (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.scheduler.check_interval |
LEX_TASKS__SCHEDULER__ENABLED | bool | True | Whether scheduling is enabled | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.scheduler.enabled |
LEX_TASKS__SCHEDULER__TIMEZONE | str | tasks_const.DEFAULT_SCHEDULER_TIMEZONE | Timezone for cron expressions | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.scheduler.timezone |
LEX_TASKS__SHUTDOWN_TIMEOUT | float | tasks_const.DEFAULT_SHUTDOWN_TIMEOUT | Timeout for graceful shutdown (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskWorkerConfig.shutdown_timeout |
LEX_TASKS__TIMEOUT__DEFAULT_TIMEOUT | float | tasks_const.DEFAULT_TASK_TIMEOUT | Default timeout | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.timeout.default_timeout |
LEX_TASKS__TIMEOUT__ENFORCE_TIMEOUT | bool | True | Enforce timeouts | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.timeout.enforce_timeout |
LEX_TASKS__TIMEOUT__MAX_TIMEOUT | float | tasks_const.DEFAULT_MAX_TIMEOUT | Maximum allowed timeout | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.timeout.max_timeout |
LEX_TASKS__TIMEZONE | str | tasks_const.DEFAULT_SCHEDULER_TIMEZONE | Timezone for cron expressions | lexigram-tasks/src/lexigram/tasks/config.py:TaskSchedulerConfig.timezone |
LEX_TASKS__TYPE | str | tasks_const.DEFAULT_BACKEND | Queue backend type | lexigram-tasks/src/lexigram/tasks/config.py:TaskBackendConfig.type |
LEX_TASKS__WORKER_COUNT | int | tasks_const.DEFAULT_WORKER_COUNT | Number of worker instances | lexigram-tasks/src/lexigram/tasks/config.py:TaskWorkerConfig.worker_count |
LEX_TASKS__WORKER__DEFAULT_TIMEOUT | float | tasks_const.DEFAULT_TASK_TIMEOUT | Default timeout for tasks without an explicit timeout (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.worker.default_timeout |
LEX_TASKS__WORKER__ENFORCE_TIMEOUT | bool | True | Whether to enforce timeouts on all tasks | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.worker.enforce_timeout |
LEX_TASKS__WORKER__MAX_CONCURRENT_TASKS | int | tasks_const.DEFAULT_MAX_CONCURRENT_TASKS | Maximum concurrent tasks per worker | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.worker.max_concurrent_tasks |
LEX_TASKS__WORKER__MAX_TIMEOUT | float | tasks_const.DEFAULT_MAX_TIMEOUT | Maximum allowed timeout for any task (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.worker.max_timeout |
LEX_TASKS__WORKER__POLL_INTERVAL | float | tasks_const.DEFAULT_POLL_INTERVAL | Interval between queue polls (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.worker.poll_interval |
LEX_TASKS__WORKER__SHUTDOWN_TIMEOUT | float | tasks_const.DEFAULT_SHUTDOWN_TIMEOUT | Timeout for graceful shutdown (seconds) | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.worker.shutdown_timeout |
LEX_TASKS__WORKER__WORKER_COUNT | int | tasks_const.DEFAULT_WORKER_COUNT | Number of worker instances | lexigram-tasks/src/lexigram/tasks/config.py:TaskConfig.worker.worker_count |
lexigram-tenancy (11 vars)
Section titled “lexigram-tenancy (11 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_TENANCY__INTEGRATION__CACHE_KEY_PREFIX | bool | True | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.integration.cache_key_prefix |
LEX_TENANCY__INTEGRATION__SQL_CONTEXT_BRIDGE | bool | True | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.integration.sql_context_bridge |
LEX_TENANCY__LIFECYCLE__AUTO_PROVISION_ISOLATION | bool | True | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.lifecycle.auto_provision_isolation |
LEX_TENANCY__LIFECYCLE__ISOLATION_STRATEGY | str | ”row_level” | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.lifecycle.isolation_strategy |
LEX_TENANCY__OVERRIDES__CACHE_TTL | int | DEFAULT_CONFIG_CACHE_TTL | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.overrides.cache_ttl |
LEX_TENANCY__RESOLUTION__HEADER_NAME | str | DEFAULT_HEADER_NAME | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.resolution.header_name |
LEX_TENANCY__RESOLUTION__JWT_CLAIM_KEY | str | DEFAULT_JWT_CLAIM_KEY | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.resolution.jwt_claim_key |
LEX_TENANCY__RESOLUTION__PATH_PATTERN | str | None | DEFAULT_PATH_PATTERN | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.resolution.path_pattern |
LEX_TENANCY__RESOLUTION__RESOLVERS | list[str] | (complex) | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.resolution.resolvers |
LEX_TENANCY__RESOLUTION__SUBDOMAIN_PATTERN | str | None | None | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.resolution.subdomain_pattern |
LEX_TENANCY__RESOLUTION__VALIDATOR_CACHE_TTL | int | DEFAULT_VALIDATOR_CACHE_TTL | — | lexigram-tenancy/src/lexigram/tenancy/config.py:TenancyConfig.resolution.validator_cache_ttl |
lexigram-testing (32 vars)
Section titled “lexigram-testing (32 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_TESTING__AUDIT_CAPACITY | int | DEFAULT_AUDIT_CAPACITY | — | lexigram-testing/src/lexigram/testing/memory/config/models.py:MemoryConfig.audit_capacity |
LEX_TESTING__CLEANUP_TEMP_FILES | bool | True | Clean up temporary files after tests | lexigram-testing/src/lexigram/testing/config.py:TestingConfig.cleanup_temp_files |
LEX_TESTING__DB_REUSE | bool | True | Reuse test databases between tests | lexigram-testing/src/lexigram/testing/config.py:TestingConfig.db_reuse |
LEX_TESTING__ELASTICSEARCH_URL | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.elasticsearch_url |
LEX_TESTING__ENABLED | bool | True | — | lexigram-testing/src/lexigram/testing/config.py:TestingConfig.enabled |
LEX_TESTING__EVENT_BUS_CAPACITY | int | DEFAULT_EVENT_BUS_CAPACITY | — | lexigram-testing/src/lexigram/testing/memory/config/models.py:MemoryConfig.event_bus_capacity |
LEX_TESTING__KAFKA_BOOTSTRAP | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.kafka_bootstrap |
LEX_TESTING__MINIO_ACCESS_KEY | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.minio_access_key |
LEX_TESTING__MINIO_ENDPOINT | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.minio_endpoint |
LEX_TESTING__MINIO_SECRET_KEY | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.minio_secret_key |
LEX_TESTING__MOCK_EXTERNAL_SERVICES | bool | True | Mock external service calls | lexigram-testing/src/lexigram/testing/config.py:TestingConfig.mock_external_services |
LEX_TESTING__MONGODB_DSN | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.mongodb_dsn |
LEX_TESTING__NEO4J_AUTH | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.neo4j_auth |
LEX_TESTING__NEO4J_URL | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.neo4j_url |
LEX_TESTING__OUTBOX_CAPACITY | int | DEFAULT_OUTBOX_CAPACITY | — | lexigram-testing/src/lexigram/testing/memory/config/models.py:MemoryConfig.outbox_capacity |
LEX_TESTING__POSTGRES_DSN | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.postgres_dsn |
LEX_TESTING__POSTGRES_DSN_RAW | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.postgres_dsn_raw |
LEX_TESTING__QDRANT_URL | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.qdrant_url |
LEX_TESTING__REDIS_URL | str | (complex) | — | lexigram-testing/src/lexigram/testing/integration/config.py:IntegrationTestConfig.redis_url |
LEX_TESTING__REPOSITORY_CAPACITY | int | DEFAULT_REPOSITORY_CAPACITY | — | lexigram-testing/src/lexigram/testing/memory/config/models.py:MemoryConfig.repository_capacity |
LEX_TEST_ELASTICSEARCH_URL | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_KAFKA_BOOTSTRAP | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_MINIO_ACCESS_KEY | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_MINIO_ENDPOINT | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_MINIO_SECRET_KEY | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_MONGODB_DSN | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_NEO4J_AUTH | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_NEO4J_URL | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_POSTGRES_DSN | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_POSTGRES_DSN_RAW | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_QDRANT_URL | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
LEX_TEST_REDIS_URL | str | — | — | lexigram-testing/src/lexigram/testing/integration/config.py *(direct env access; not config-derived)* |
lexigram-ui (53 vars)
Section titled “lexigram-ui (53 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_UI__ANIMATION_IN | str | ”fade-in-right” | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.animation_in |
LEX_UI__ANIMATION_OUT | str | ”fade-out-right” | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.animation_out |
LEX_UI__AUTHOR | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.author |
LEX_UI__AUTO_ESCAPE | bool | True | HTML-escape user strings by default. | lexigram-ui/src/lexigram/ui/config.py:UIConfig.auto_escape |
LEX_UI__CHANGED | bool | True | — | lexigram-ui/src/lexigram/ui/config.py:DebounceConfig.changed |
LEX_UI__CHARSET | str | ”UTF-8” | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.charset |
LEX_UI__COPYRIGHT_HOLDER | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.copyright_holder |
LEX_UI__COPYRIGHT_START_YEAR | int | None | None | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.copyright_start_year |
LEX_UI__CSS_FILES | list[str] | (complex) | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.css_files |
LEX_UI__CSS_FRAMEWORK | str | ”tailwind” | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.css_framework |
LEX_UI__CSS_FRAMEWORK_URL | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.css_framework_url |
LEX_UI__CUSTOM_LEFT | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.custom_left |
LEX_UI__CUSTOM_RIGHT | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.custom_right |
LEX_UI__DEBUG_COMPONENTS | bool | False | Render data-component debug attributes. | lexigram-ui/src/lexigram/ui/config.py:UIConfig.debug_components |
LEX_UI__DEFAULT_DURATION_MS | int | 5000 | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.default_duration_ms |
LEX_UI__DEFAULT_THEME | str | ’default’ | Default CSS theme name. | lexigram-ui/src/lexigram/ui/config.py:UIConfig.default_theme |
LEX_UI__DELAY_MS | int | 300 | — | lexigram-ui/src/lexigram/ui/config.py:DebounceConfig.delay_ms |
LEX_UI__DESCRIPTION | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.description |
LEX_UI__ENABLE_REALTIME | bool | False | Enable realtime update features. | lexigram-ui/src/lexigram/ui/config.py:UIConfig.enable_realtime |
LEX_UI__ENABLE_SSE | bool | False | Enable Server-Sent Events support. | lexigram-ui/src/lexigram/ui/config.py:UIConfig.enable_sse |
LEX_UI__EVENT_NAME | str | ”showToast” | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.event_name |
LEX_UI__EXTRA_HEAD | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.extra_head |
LEX_UI__FAVICON | str | None | None | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.favicon |
LEX_UI__FAVICON_TYPE | str | ”image/x-icon” | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.favicon_type |
LEX_UI__FONT_URL | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.font_url |
LEX_UI__HTMX_URL | str | ”https://unpkg.com/htmx.org@1.9.10” | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.htmx_url |
LEX_UI__HTMX_VERSION | str | ’2.0.4’ | HTMX CDN version. | lexigram-ui/src/lexigram/ui/config.py:UIConfig.htmx_version |
LEX_UI__HYPERSCRIPT_URL | str | ”https://unpkg.com/hyperscript.org@0.9.12” | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.hyperscript_url |
LEX_UI__ICON_LIBRARY | str | ”lucide” | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.icon_library |
LEX_UI__ICON_LIBRARY_URL | str | ”https://unpkg.com/lucide@0.263.1/dist/umd/lucide.min.js” | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.icon_library_url |
LEX_UI__INCLUDE_HYPERSCRIPT | bool | False | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.include_hyperscript |
LEX_UI__INLINE_CSS | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HeadConfig.inline_css |
LEX_UI__KEYWORDS | list[str] | (complex) | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.keywords |
LEX_UI__LANG | str | ”en” | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.lang |
LEX_UI__LINKS | list[Any] | (complex) | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.links |
LEX_UI__LISTEN_FOR_EVENTS | bool | True | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.listen_for_events |
LEX_UI__MAX_TOASTS | int | 5 | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.max_toasts |
LEX_UI__OG_DESCRIPTION | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.og_description |
LEX_UI__OG_IMAGE | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.og_image |
LEX_UI__OG_TITLE | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.og_title |
LEX_UI__OG_TYPE | str | ”website” | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.og_type |
LEX_UI__OG_URL | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.og_url |
LEX_UI__POSITION | str | ”top-right” | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.position |
LEX_UI__ROBOTS | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.robots |
LEX_UI__SHOW_COPYRIGHT | bool | True | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.show_copyright |
LEX_UI__SHOW_DIVIDER | bool | True | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.show_divider |
LEX_UI__SHOW_VERSION | bool | True | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.show_version |
LEX_UI__STACK_DIRECTION | str | ”down” | — | lexigram-ui/src/lexigram/ui/config.py:ToastConfig.stack_direction |
LEX_UI__STICKY | bool | False | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.sticky |
LEX_UI__THEME | str | ’light’ | Active UI theme. | lexigram-ui/src/lexigram/ui/config.py:UIConfig.theme |
LEX_UI__THEME_COLOR | str | ”#ffffff” | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.theme_color |
LEX_UI__VERSION | str | "" | — | lexigram-ui/src/lexigram/ui/config.py:FooterConfig.version |
LEX_UI__VIEWPORT | str | ”width=device-width, initial-scale=1.0” | — | lexigram-ui/src/lexigram/ui/config.py:HTMLDocumentConfig.viewport |
lexigram-vector (44 vars)
Section titled “lexigram-vector (44 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_VECTOR__API_BASE | str | ’http://fastembed’ | Base URL of the embedding API. The client appends ‘/embeddings’ to this URL. | lexigram-vector/src/lexigram/vector/embedding/config.py:EmbeddingClientConfig.api_base |
LEX_VECTOR__API_KEY | str | None | None | API key sent as Bearer token (required for OpenAI and most cloud providers). | lexigram-vector/src/lexigram/vector/embedding/config.py:EmbeddingClientConfig.api_key |
LEX_VECTOR__BACKEND | str | const.BACKEND_MEMORY | Vector store backend to use | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.backend |
LEX_VECTOR__BACKENDS | list[NamedVectorConfig] | — | Named vector store backends for multi-store support. When non-empty, the prov… | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.backends |
LEX_VECTOR__BATCH_SIZE | int | 64 | Maximum number of texts per embedding API request. | lexigram-vector/src/lexigram/vector/embedding/config.py:EmbeddingClientConfig.batch_size |
LEX_VECTOR__CACHE_TTL | int | 86400 | Cache TTL in seconds (default: 24 hours) | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.cache_ttl |
LEX_VECTOR__COLLECTION_NAME | str | ’default’ | Default collection name for AI-layer operations | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.collection_name |
LEX_VECTOR__DEFAULT_DIMENSION | int | 1536 | Default vector dimension | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.default_dimension |
LEX_VECTOR__DEFAULT_DISTANCE_METRIC | DistanceMetric | DistanceMetric.COSINE | Default distance metric for new collections | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.default_distance_metric |
LEX_VECTOR__DEFAULT_INDEX_TYPE | IndexType | IndexType.HNSW | Default index type for new collections | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.default_index_type |
LEX_VECTOR__DIMENSION | int | 768 | Expected output vector dimension. Must match the model (768 for nomic-embed-t… | lexigram-vector/src/lexigram/vector/embedding/config.py:EmbeddingClientConfig.dimension |
LEX_VECTOR__EMBEDDING_MODEL | str | ’text-embedding-3-small’ | Embedding model name for AI-layer embedding generation | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.embedding_model |
LEX_VECTOR__ENABLED | bool | True | Enable the vector store subsystem | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.enabled |
LEX_VECTOR__ENABLE_CACHE | bool | False | Enable embedding caching (requires a CacheBackend binding) | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.enable_cache |
LEX_VECTOR__FORMAT | Literal[‘openai’, ‘fastembed’, ‘cohere’] | ‘openai’ | API payload format. ‘openai’ uses {‘input’: […]}, ‘fastembed’ uses {‘texts’… | lexigram-vector/src/lexigram/vector/embedding/config.py:EmbeddingClientConfig.format |
LEX_VECTOR__MAX_RETRIES | int | const.DEFAULT_MAX_RETRIES | Maximum number of retries for operations | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.max_retries |
LEX_VECTOR__MEMORY__MAX_COLLECTIONS | int | 100 | Maximum number of collections in memory | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.memory.max_collections |
LEX_VECTOR__MEMORY__MAX_VECTORS_PER_COLLECTION | int | 100000 | Maximum number of vectors per collection | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.memory.max_vectors_per_collection |
LEX_VECTOR__MODEL | str | ’nomic-ai/nomic-embed-text-v1.5’ | Embedding model identifier passed to the API. | lexigram-vector/src/lexigram/vector/embedding/config.py:EmbeddingClientConfig.model |
LEX_VECTOR__PGVECTOR__CREATE_EXTENSION | bool | True | Whether to create pgvector extension if missing | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pgvector.create_extension |
LEX_VECTOR__PGVECTOR__DATABASE | str | ’primary’ | Name of the database backend from db.backends to use for pgvector. Matches a … | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pgvector.database |
LEX_VECTOR__PGVECTOR__DEFAULT_EF_SEARCH | int | const.PGVECTOR_DEFAULT_EF_SEARCH | Default ef_search for HNSW index | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pgvector.default_ef_search |
LEX_VECTOR__PGVECTOR__DEFAULT_LISTS | int | const.PGVECTOR_DEFAULT_LISTS | Default number of lists for IVFFlat index | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pgvector.default_lists |
LEX_VECTOR__PGVECTOR__DEFAULT_PROBES | int | const.PGVECTOR_DEFAULT_PROBES | Default number of probes for IVFFlat index | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pgvector.default_probes |
LEX_VECTOR__PGVECTOR__SCHEMA | str | ’public’ | Database schema for vector tables | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pgvector.schema |
LEX_VECTOR__PGVECTOR__TABLE_PREFIX | str | ’vec_‘ | Prefix for vector storage tables | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pgvector.table_prefix |
LEX_VECTOR__PINECONE__API_KEY | SecretStr | SecretStr(”) | Pinecone API key | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pinecone.api_key |
LEX_VECTOR__PINECONE__ENVIRONMENT | str | ” | Pinecone environment (e.g. ‘us-west1-gcp’) | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pinecone.environment |
LEX_VECTOR__PINECONE__INDEX_NAME | str | ” | Name of the Pinecone index | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pinecone.index_name |
LEX_VECTOR__PINECONE__NAMESPACE | str | ” | Default namespace for the index | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pinecone.namespace |
LEX_VECTOR__PINECONE__POOL_THREADS | int | 4 | Number of threads for the connection pool | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pinecone.pool_threads |
LEX_VECTOR__PINECONE__TIMEOUT | float | const.DEFAULT_REQUEST_TIMEOUT | Request timeout in seconds | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.pinecone.timeout |
LEX_VECTOR__QDRANT__API_KEY | SecretStr | None | None | Qdrant API key | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.qdrant.api_key |
LEX_VECTOR__QDRANT__GRPC_PORT | int | 6334 | gRPC port for Qdrant | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.qdrant.grpc_port |
LEX_VECTOR__QDRANT__PREFER_GRPC | bool | True | Whether to prefer gRPC over HTTP | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.qdrant.prefer_grpc |
LEX_VECTOR__QDRANT__TIMEOUT | float | const.DEFAULT_REQUEST_TIMEOUT | Request timeout in seconds | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.qdrant.timeout |
LEX_VECTOR__QDRANT__URL | str | ’http://localhost:6333’ | Qdrant server URL | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.qdrant.url |
LEX_VECTOR__RETRY_DELAY | float | const.DEFAULT_RETRY_DELAY | Delay between retries in seconds | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.retry_delay |
LEX_VECTOR__TIMEOUT | float | 30.0 | HTTP request timeout in seconds. | lexigram-vector/src/lexigram/vector/embedding/config.py:EmbeddingClientConfig.timeout |
LEX_VECTOR__UPSERT_BATCH_SIZE | int | const.DEFAULT_UPSERT_BATCH_SIZE | Number of vectors per upsert batch | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.upsert_batch_size |
LEX_VECTOR__WEAVIATE__API_KEY | SecretStr | None | None | Weaviate API key for authenticated clusters | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.weaviate.api_key |
LEX_VECTOR__WEAVIATE__GRPC_PORT | int | 50051 | gRPC port for the Weaviate cluster | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.weaviate.grpc_port |
LEX_VECTOR__WEAVIATE__TIMEOUT | float | const.DEFAULT_REQUEST_TIMEOUT | Request timeout in seconds | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.weaviate.timeout |
LEX_VECTOR__WEAVIATE__URL | str | ’http://localhost:8080’ | Weaviate cluster URL (HTTP) | lexigram-vector/src/lexigram/vector/config.py:VectorConfig.weaviate.url |
lexigram-web (185 vars)
Section titled “lexigram-web (185 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_WEB__ALLOWED_ORIGINS | list[str] | — | Allowed origins (use [’*’] to allow all) | lexigram-web/src/lexigram/web/security/config.py:CORSConfig.allowed_origins |
LEX_WEB__ALLOW_CREDENTIALS | bool | False | — | lexigram-web/src/lexigram/web/security/config.py:CORSConfig.allow_credentials |
LEX_WEB__ALLOW_HEADERS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:CORSConfig.allow_headers |
LEX_WEB__ALLOW_METHODS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:CORSConfig.allow_methods |
LEX_WEB__ALLOW_ORIGIN_REGEX | str | None | None | Regex pattern for allowed origins (matched when not in allowed_origins) | lexigram-web/src/lexigram/web/security/config.py:CORSConfig.allow_origin_regex |
LEX_WEB__API_DOCS__ENABLED | bool | False | Enable API documentation endpoints (/docs, /redoc) | lexigram-web/src/lexigram/web/config.py:WebConfig.api_docs.enabled |
LEX_WEB__API_DOCS__PROVIDER | str | ’both’ | Documentation provider: ‘swagger’, ‘redoc’, or ‘both’ | lexigram-web/src/lexigram/web/config.py:WebConfig.api_docs.provider |
LEX_WEB__AUTH_EXCLUDE_PATHS | list[str] | — | Paths to exclude from authentication | lexigram-web/src/lexigram/web/config.py:WebConfig.auth_exclude_paths |
LEX_WEB__BURST | int | None | None | Burst capacity (defaults to requests) | lexigram-web/src/lexigram/web/config.py:RateLimitRuleConfig.burst |
LEX_WEB__COMPRESSION_ENABLED | bool | True | — | lexigram-web/src/lexigram/web/config.py:WebConfig.compression_enabled |
LEX_WEB__CONTENT_TYPE_NOSNIFF | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.content_type_nosniff |
LEX_WEB__COOKIE_DOMAIN | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.cookie_domain |
LEX_WEB__COOKIE_HTTPONLY | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.cookie_httponly |
LEX_WEB__COOKIE_NAME | str | ’csrf_token’ | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.cookie_name |
LEX_WEB__COOKIE_PATH | str | ’/‘ | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.cookie_path |
LEX_WEB__COOKIE_SAMESITE | str | ’Lax’ | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.cookie_samesite |
LEX_WEB__COOKIE_SECURE | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.cookie_secure |
LEX_WEB__CORS | CORSConfig | — | — | lexigram-web/src/lexigram/web/config.py:WebConfig.cors |
LEX_WEB__CORS_CREDENTIALS | bool | True | — | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.cors_credentials |
LEX_WEB__CORS_HEADERS | list[str] | — | — | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.cors_headers |
LEX_WEB__CORS_METHODS | list[str] | — | — | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.cors_methods |
LEX_WEB__CORS_ORIGINS | list[str] | — | — | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.cors_origins |
LEX_WEB__CORS__ALLOWED_ORIGINS | list[str] | — | Allowed origins (use [’*’] to allow all) | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.allowed_origins |
LEX_WEB__CORS__ALLOW_CREDENTIALS | bool | False | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.allow_credentials |
LEX_WEB__CORS__ALLOW_HEADERS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.allow_headers |
LEX_WEB__CORS__ALLOW_METHODS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.allow_methods |
LEX_WEB__CORS__ALLOW_ORIGIN_REGEX | str | None | None | Regex pattern for allowed origins (matched when not in allowed_origins) | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.allow_origin_regex |
LEX_WEB__CORS__ENABLED | bool | True | Enable CORS | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.enabled |
LEX_WEB__CORS__EXPOSE_HEADERS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.expose_headers |
LEX_WEB__CORS__MAX_AGE | int | 600 | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cors.max_age |
LEX_WEB__CROSS_ORIGIN__EMBEDDER_POLICY | str | ’require-corp’ | Cross-Origin-Embedder-Policy header value | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cross_origin.embedder_policy |
LEX_WEB__CROSS_ORIGIN__ENABLED | bool | False | Emit cross-origin isolation headers | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cross_origin.enabled |
LEX_WEB__CROSS_ORIGIN__OPENER_POLICY | str | ’same-origin’ | Cross-Origin-Opener-Policy header value | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cross_origin.opener_policy |
LEX_WEB__CROSS_ORIGIN__RESOURCE_POLICY | str | ’same-origin’ | Cross-Origin-Resource-Policy header value | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.cross_origin.resource_policy |
LEX_WEB__CSP | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.csp |
LEX_WEB__CSP__DIRECTIVES | dict[str, Any] | — | CSP directives mapping directive name to source expression(s) | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csp.directives |
LEX_WEB__CSP__ENABLED | bool | True | Emit the Content-Security-Policy header | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csp.enabled |
LEX_WEB__CSRF__COOKIE_DOMAIN | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.cookie_domain |
LEX_WEB__CSRF__COOKIE_HTTPONLY | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.cookie_httponly |
LEX_WEB__CSRF__COOKIE_NAME | str | ’csrf_token’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.cookie_name |
LEX_WEB__CSRF__COOKIE_PATH | str | ’/‘ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.cookie_path |
LEX_WEB__CSRF__COOKIE_SAMESITE | str | ’Lax’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.cookie_samesite |
LEX_WEB__CSRF__COOKIE_SECURE | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.cookie_secure |
LEX_WEB__CSRF__ENABLED | bool | False | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.enabled |
LEX_WEB__CSRF__EXCLUDED_PATHS | list[str] | — | URL path prefixes that are exempt from CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.excluded_paths |
LEX_WEB__CSRF__EXCLUDE_AUTH_SCHEMES | list[str] | — | Authorization header schemes that bypass CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.exclude_auth_schemes |
LEX_WEB__CSRF__EXCLUDE_CONTENT_TYPES | list[str] | — | Content-Type values that bypass CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.exclude_content_types |
LEX_WEB__CSRF__HEADER_NAME | str | ’X-CSRF-Token’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.header_name |
LEX_WEB__CSRF__TOKEN_LENGTH | int | 32 | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.token_length |
LEX_WEB__CSRF__TOKEN_TTL | int | 3600 | TTL in seconds for synchronizer-mode tokens stored in cache. | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.csrf.token_ttl |
LEX_WEB__CUSTOM_HEADERS | dict[str, str] | — | Additional HTTP response headers emitted verbatim | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.custom_headers |
LEX_WEB__DEBUG | bool | False | Enable debug mode | lexigram-web/src/lexigram/web/config.py:ServerConfig.debug |
LEX_WEB__DEBUG_ROUTES | bool | False | Enable debug routes | lexigram-web/src/lexigram/web/config.py:WebConfig.debug_routes |
LEX_WEB__DEBUG_ROUTES_RATE_LIMIT | int | 0 | Rate limit for debug routes | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.debug_routes_rate_limit |
LEX_WEB__DEBUG_ROUTES_RATE_WINDOW_SECONDS | int | 60 | Rate limit window for debug routes | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.debug_routes_rate_window_seconds |
LEX_WEB__DEBUG_ROUTES_REQUIRE_MIDDLEWARE | str | None | None | Required middleware for debug routes | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.debug_routes_require_middleware |
LEX_WEB__DEBUG_ROUTES_TOKEN | SecretStr | None | None | Token required to access debug routes (sent as X-Debug-Token header). | lexigram-web/src/lexigram/web/config.py:WebConfig.debug_routes_token |
LEX_WEB__DEFAULT_LIMIT | int | const.DEFAULT_RATE_LIMIT_REQUESTS | Max requests per window | lexigram-web/src/lexigram/web/config.py:RateLimitConfig.default_limit |
LEX_WEB__DEFAULT_WINDOW | int | const.DEFAULT_RATE_LIMIT_WINDOW | Window size in seconds | lexigram-web/src/lexigram/web/config.py:RateLimitConfig.default_window |
LEX_WEB__DIRECTIVES | dict[str, Any] | — | CSP directives mapping directive name to source expression(s) | lexigram-web/src/lexigram/web/security/config.py:CSPConfig.directives |
LEX_WEB__DIRECTORY | str | ’static’ | Directory to serve | lexigram-web/src/lexigram/web/config.py:StaticFileConfig.directory |
LEX_WEB__EMBEDDER_POLICY | str | ’require-corp’ | Cross-Origin-Embedder-Policy header value | lexigram-web/src/lexigram/web/security/config.py:CrossOriginConfig.embedder_policy |
LEX_WEB__ENABLED | bool | False | Enable API documentation endpoints (/docs, /redoc) | lexigram-web/src/lexigram/web/config.py:APIDocsConfig.enabled |
LEX_WEB__ENABLE_AUTH | bool | False | Enable built-in authentication middleware. Requires authenticators to be regi… | lexigram-web/src/lexigram/web/config.py:WebConfig.enable_auth |
LEX_WEB__ENABLE_CORS | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.enable_cors |
LEX_WEB__ENABLE_CSRF | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.enable_csrf |
LEX_WEB__ENABLE_DEBUG_ROUTES_ENV_GATE | bool | False | Require explicit opt-in for debug route registration. | lexigram-web/src/lexigram/web/config.py:WebConfig.enable_debug_routes_env_gate |
LEX_WEB__ENABLE_IDENTITY_RESOLUTION | bool | False | Automatically resolve OAuth external IDs to internal UUIDs in authenticated r… | lexigram-web/src/lexigram/web/config.py:WebConfig.enable_identity_resolution |
LEX_WEB__ENV | str | None | None | Environment (development/staging/production) | lexigram-web/src/lexigram/web/config.py:WebConfig.env |
LEX_WEB__EXCEPTION_FILTERS | list[str] | — | Exception filter class names | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.exception_filters |
LEX_WEB__EXCLUDED_PATHS | list[str] | — | URL path prefixes that are exempt from CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.excluded_paths |
LEX_WEB__EXCLUDE_AUTH_SCHEMES | list[str] | — | Authorization header schemes that bypass CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.exclude_auth_schemes |
LEX_WEB__EXCLUDE_CONTENT_TYPES | list[str] | — | Content-Type values that bypass CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.exclude_content_types |
LEX_WEB__EXPOSE_HEADERS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:CORSConfig.expose_headers |
LEX_WEB__FAIL_ON_ROUTE_CONFLICT | bool | False | If true, duplicate route registrations will raise during startup; otherwise a… | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.fail_on_route_conflict |
LEX_WEB__FRAME_OPTIONS | str | ’DENY’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.frame_options |
LEX_WEB__HEADERS__CONTENT_TYPE_NOSNIFF | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.content_type_nosniff |
LEX_WEB__HEADERS__CSP | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.csp |
LEX_WEB__HEADERS__FRAME_OPTIONS | str | ’DENY’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.frame_options |
LEX_WEB__HEADERS__HSTS_INCLUDE_SUBDOMAINS | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.hsts_include_subdomains |
LEX_WEB__HEADERS__HSTS_MAX_AGE | int | 31536000 | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.hsts_max_age |
LEX_WEB__HEADERS__PERMISSIONS_POLICY | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.permissions_policy |
LEX_WEB__HEADERS__REFERRER_POLICY | str | ’strict-origin-when-cross-origin’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.referrer_policy |
LEX_WEB__HEADERS__XSS_PROTECTION | str | ’1; mode=block’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.headers.xss_protection |
LEX_WEB__HEADER_NAME | str | ’X-CSRF-Token’ | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.header_name |
LEX_WEB__HOST | str | const.DEFAULT_HOST | Bind host | lexigram-web/src/lexigram/web/config.py:ServerConfig.host |
LEX_WEB__HSTS_INCLUDE_SUBDOMAINS | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.hsts_include_subdomains |
LEX_WEB__HSTS_MAX_AGE | int | 31536000 | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.hsts_max_age |
LEX_WEB__HSTS__ENABLED | bool | False | Emit the Strict-Transport-Security header | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.hsts.enabled |
LEX_WEB__HSTS__INCLUDE_SUBDOMAINS | bool | True | Apply HSTS to all subdomains | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.hsts.include_subdomains |
LEX_WEB__HSTS__MAX_AGE | int | 31536000 | HSTS max-age in seconds (default 1 year) | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.hsts.max_age |
LEX_WEB__HSTS__PRELOAD | bool | False | Include site in HSTS preload list | lexigram-web/src/lexigram/web/security/config.py:SecurityConfig.hsts.preload |
LEX_WEB__HTML | bool | False | Serve HTML files (SPA mode) | lexigram-web/src/lexigram/web/config.py:StaticFileConfig.html |
LEX_WEB__INCLUDE_SUBDOMAINS | bool | True | Apply HSTS to all subdomains | lexigram-web/src/lexigram/web/security/config.py:HSTSConfig.include_subdomains |
LEX_WEB__MAX_AGE | int | 600 | — | lexigram-web/src/lexigram/web/security/config.py:CORSConfig.max_age |
LEX_WEB__MAX_BODY_SIZE | int | None | 10 * 1024 * 1024 | Maximum allowed request body size in bytes. Requests with a Content-Length he… | lexigram-web/src/lexigram/web/config.py:WebConfig.max_body_size |
LEX_WEB__MIDDLEWARE | list[str] | — | Middleware class names | lexigram-web/src/lexigram/web/config.py:WebProviderConfig.middleware |
LEX_WEB__NAME | str | ”web” | — | lexigram-web/src/lexigram/web/config.py:WebConfig.name |
LEX_WEB__OPENAPI_TITLE | str | ’API’ | OpenAPI Title | lexigram-web/src/lexigram/web/config.py:WebConfig.openapi_title |
LEX_WEB__OPENAPI_URL | str | None | const.DEFAULT_OPENAPI_PATH | — | lexigram-web/src/lexigram/web/config.py:WebConfig.openapi_url |
LEX_WEB__OPENAPI_VERSION | str | ’1.0.0’ | OpenAPI Version | lexigram-web/src/lexigram/web/config.py:WebConfig.openapi_version |
LEX_WEB__OPENER_POLICY | str | ’same-origin’ | Cross-Origin-Opener-Policy header value | lexigram-web/src/lexigram/web/security/config.py:CrossOriginConfig.opener_policy |
LEX_WEB__PERMISSIONS_POLICY | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.permissions_policy |
LEX_WEB__PORT | int | const.DEFAULT_PORT | Bind port | lexigram-web/src/lexigram/web/config.py:ServerConfig.port |
LEX_WEB__PREFIX | str | ’/static’ | URL prefix for static files | lexigram-web/src/lexigram/web/config.py:StaticFileConfig.prefix |
LEX_WEB__PRELOAD | bool | False | Include site in HSTS preload list | lexigram-web/src/lexigram/web/security/config.py:HSTSConfig.preload |
LEX_WEB__PROVIDER | str | ’both’ | Documentation provider: ‘swagger’, ‘redoc’, or ‘both’ | lexigram-web/src/lexigram/web/config.py:APIDocsConfig.provider |
LEX_WEB__RATE_LIMIT__DEFAULT_LIMIT | int | const.DEFAULT_RATE_LIMIT_REQUESTS | Max requests per window | lexigram-web/src/lexigram/web/config.py:WebConfig.rate_limit.default_limit |
LEX_WEB__RATE_LIMIT__DEFAULT_WINDOW | int | const.DEFAULT_RATE_LIMIT_WINDOW | Window size in seconds | lexigram-web/src/lexigram/web/config.py:WebConfig.rate_limit.default_window |
LEX_WEB__RATE_LIMIT__ENABLED | bool | True | Enable rate limiting | lexigram-web/src/lexigram/web/config.py:WebConfig.rate_limit.enabled |
LEX_WEB__RATE_LIMIT__RULES | dict[str, RateLimitRuleConfig] | — | Per-path rate limit rules | lexigram-web/src/lexigram/web/config.py:WebConfig.rate_limit.rules |
LEX_WEB__RATE_LIMIT__STORAGE_BACKEND | str | ’memory’ | Storage backend (memory/redis) | lexigram-web/src/lexigram/web/config.py:WebConfig.rate_limit.storage_backend |
LEX_WEB__RATE_LIMIT__WHITELIST_IPS | list[str] | — | Exempt IP addresses | lexigram-web/src/lexigram/web/config.py:WebConfig.rate_limit.whitelist_ips |
LEX_WEB__REDOC_JS_URL | str | None | None | — | lexigram-web/src/lexigram/web/config.py:WebConfig.redoc_js_url |
LEX_WEB__REDOC_URL | str | None | ’/redoc’ | — | lexigram-web/src/lexigram/web/config.py:WebConfig.redoc_url |
LEX_WEB__REFERRER_POLICY | str | ’strict-origin-when-cross-origin’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.referrer_policy |
LEX_WEB__RELOAD | bool | const.DEFAULT_RELOAD | Enable auto-reload | lexigram-web/src/lexigram/web/config.py:ServerConfig.reload |
LEX_WEB__REQUESTS | int | 100 | Max requests per window | lexigram-web/src/lexigram/web/config.py:RateLimitRuleConfig.requests |
LEX_WEB__RESOURCE_POLICY | str | ’same-origin’ | Cross-Origin-Resource-Policy header value | lexigram-web/src/lexigram/web/security/config.py:CrossOriginConfig.resource_policy |
LEX_WEB__RULES | dict[str, RateLimitRuleConfig] | — | Per-path rate limit rules | lexigram-web/src/lexigram/web/config.py:RateLimitConfig.rules |
LEX_WEB__SECURITY__CORS__ALLOWED_ORIGINS | list[str] | — | Allowed origins (use [’*’] to allow all) | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.allowed_origins |
LEX_WEB__SECURITY__CORS__ALLOW_CREDENTIALS | bool | False | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.allow_credentials |
LEX_WEB__SECURITY__CORS__ALLOW_HEADERS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.allow_headers |
LEX_WEB__SECURITY__CORS__ALLOW_METHODS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.allow_methods |
LEX_WEB__SECURITY__CORS__ALLOW_ORIGIN_REGEX | str | None | None | Regex pattern for allowed origins (matched when not in allowed_origins) | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.allow_origin_regex |
LEX_WEB__SECURITY__CORS__ENABLED | bool | True | Enable CORS | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.enabled |
LEX_WEB__SECURITY__CORS__EXPOSE_HEADERS | list[str] | — | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.expose_headers |
LEX_WEB__SECURITY__CORS__MAX_AGE | int | 600 | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cors.max_age |
LEX_WEB__SECURITY__CROSS_ORIGIN__EMBEDDER_POLICY | str | ’require-corp’ | Cross-Origin-Embedder-Policy header value | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cross_origin.embedder_policy |
LEX_WEB__SECURITY__CROSS_ORIGIN__ENABLED | bool | False | Emit cross-origin isolation headers | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cross_origin.enabled |
LEX_WEB__SECURITY__CROSS_ORIGIN__OPENER_POLICY | str | ’same-origin’ | Cross-Origin-Opener-Policy header value | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cross_origin.opener_policy |
LEX_WEB__SECURITY__CROSS_ORIGIN__RESOURCE_POLICY | str | ’same-origin’ | Cross-Origin-Resource-Policy header value | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.cross_origin.resource_policy |
LEX_WEB__SECURITY__CSP__DIRECTIVES | dict[str, Any] | — | CSP directives mapping directive name to source expression(s) | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csp.directives |
LEX_WEB__SECURITY__CSP__ENABLED | bool | True | Emit the Content-Security-Policy header | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csp.enabled |
LEX_WEB__SECURITY__CSRF__COOKIE_DOMAIN | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.cookie_domain |
LEX_WEB__SECURITY__CSRF__COOKIE_HTTPONLY | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.cookie_httponly |
LEX_WEB__SECURITY__CSRF__COOKIE_NAME | str | ’csrf_token’ | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.cookie_name |
LEX_WEB__SECURITY__CSRF__COOKIE_PATH | str | ’/‘ | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.cookie_path |
LEX_WEB__SECURITY__CSRF__COOKIE_SAMESITE | str | ’Lax’ | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.cookie_samesite |
LEX_WEB__SECURITY__CSRF__COOKIE_SECURE | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.cookie_secure |
LEX_WEB__SECURITY__CSRF__ENABLED | bool | False | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.enabled |
LEX_WEB__SECURITY__CSRF__EXCLUDED_PATHS | list[str] | — | URL path prefixes that are exempt from CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.excluded_paths |
LEX_WEB__SECURITY__CSRF__EXCLUDE_AUTH_SCHEMES | list[str] | — | Authorization header schemes that bypass CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.exclude_auth_schemes |
LEX_WEB__SECURITY__CSRF__EXCLUDE_CONTENT_TYPES | list[str] | — | Content-Type values that bypass CSRF validation. | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.exclude_content_types |
LEX_WEB__SECURITY__CSRF__HEADER_NAME | str | ’X-CSRF-Token’ | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.header_name |
LEX_WEB__SECURITY__CSRF__TOKEN_LENGTH | int | 32 | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.token_length |
LEX_WEB__SECURITY__CSRF__TOKEN_TTL | int | 3600 | TTL in seconds for synchronizer-mode tokens stored in cache. | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.csrf.token_ttl |
LEX_WEB__SECURITY__CUSTOM_HEADERS | dict[str, str] | — | Additional HTTP response headers emitted verbatim | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.custom_headers |
LEX_WEB__SECURITY__ENABLED | bool | True | Enable the security subsystem | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.enabled |
LEX_WEB__SECURITY__ENABLE_CORS | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.enable_cors |
LEX_WEB__SECURITY__ENABLE_CSRF | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.enable_csrf |
LEX_WEB__SECURITY__HEADERS__CONTENT_TYPE_NOSNIFF | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.content_type_nosniff |
LEX_WEB__SECURITY__HEADERS__CSP | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.csp |
LEX_WEB__SECURITY__HEADERS__FRAME_OPTIONS | str | ’DENY’ | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.frame_options |
LEX_WEB__SECURITY__HEADERS__HSTS_INCLUDE_SUBDOMAINS | bool | True | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.hsts_include_subdomains |
LEX_WEB__SECURITY__HEADERS__HSTS_MAX_AGE | int | 31536000 | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.hsts_max_age |
LEX_WEB__SECURITY__HEADERS__PERMISSIONS_POLICY | str | None | None | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.permissions_policy |
LEX_WEB__SECURITY__HEADERS__REFERRER_POLICY | str | ’strict-origin-when-cross-origin’ | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.referrer_policy |
LEX_WEB__SECURITY__HEADERS__XSS_PROTECTION | str | ’1; mode=block’ | — | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.headers.xss_protection |
LEX_WEB__SECURITY__HSTS__ENABLED | bool | False | Emit the Strict-Transport-Security header | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.hsts.enabled |
LEX_WEB__SECURITY__HSTS__INCLUDE_SUBDOMAINS | bool | True | Apply HSTS to all subdomains | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.hsts.include_subdomains |
LEX_WEB__SECURITY__HSTS__MAX_AGE | int | 31536000 | HSTS max-age in seconds (default 1 year) | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.hsts.max_age |
LEX_WEB__SECURITY__HSTS__PRELOAD | bool | False | Include site in HSTS preload list | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.hsts.preload |
LEX_WEB__SECURITY__PERMISSIONS_POLICY | dict[str, str] | — | Permissions-Policy directive map | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.permissions_policy |
LEX_WEB__SECURITY__REFERRER_POLICY | str | ’strict-origin-when-cross-origin’ | Referrer-Policy header value | lexigram-web/src/lexigram/web/security/config.py:WebConfig.security.referrer_policy |
LEX_WEB__SERVER__DEBUG | bool | False | Enable debug mode | lexigram-web/src/lexigram/web/config.py:WebConfig.server.debug |
LEX_WEB__SERVER__HOST | str | const.DEFAULT_HOST | Bind host | lexigram-web/src/lexigram/web/config.py:WebConfig.server.host |
LEX_WEB__SERVER__PORT | int | const.DEFAULT_PORT | Bind port | lexigram-web/src/lexigram/web/config.py:WebConfig.server.port |
LEX_WEB__SERVER__RELOAD | bool | const.DEFAULT_RELOAD | Enable auto-reload | lexigram-web/src/lexigram/web/config.py:WebConfig.server.reload |
LEX_WEB__SERVER__WORKERS | int | const.DEFAULT_WORKERS | Number of workers | lexigram-web/src/lexigram/web/config.py:WebConfig.server.workers |
LEX_WEB__STATIC__DIRECTORY | str | ’static’ | Directory to serve | lexigram-web/src/lexigram/web/config.py:WebConfig.static.directory |
LEX_WEB__STATIC__ENABLED | bool | False | Enable static file serving | lexigram-web/src/lexigram/web/config.py:WebConfig.static.enabled |
LEX_WEB__STATIC__HTML | bool | False | Serve HTML files (SPA mode) | lexigram-web/src/lexigram/web/config.py:WebConfig.static.html |
LEX_WEB__STATIC__PREFIX | str | ’/static’ | URL prefix for static files | lexigram-web/src/lexigram/web/config.py:WebConfig.static.prefix |
LEX_WEB__STORAGE_BACKEND | str | ’memory’ | Storage backend (memory/redis) | lexigram-web/src/lexigram/web/config.py:RateLimitConfig.storage_backend |
LEX_WEB__SWAGGER_CSS_URL | str | None | None | — | lexigram-web/src/lexigram/web/config.py:WebConfig.swagger_css_url |
LEX_WEB__SWAGGER_JS_URL | str | None | None | — | lexigram-web/src/lexigram/web/config.py:WebConfig.swagger_js_url |
LEX_WEB__SWAGGER_UI_URL | str | None | const.DEFAULT_DOCS_PATH | — | lexigram-web/src/lexigram/web/config.py:WebConfig.swagger_ui_url |
LEX_WEB__TEMPLATE_DIRECTORY | str | ’templates’ | Directory for Jinja2 templates | lexigram-web/src/lexigram/web/config.py:WebConfig.template_directory |
LEX_WEB__TOKEN_LENGTH | int | 32 | — | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.token_length |
LEX_WEB__TOKEN_TTL | int | 3600 | TTL in seconds for synchronizer-mode tokens stored in cache. | lexigram-web/src/lexigram/web/security/config.py:CSRFConfig.token_ttl |
LEX_WEB__WHITELIST_IPS | list[str] | — | Exempt IP addresses | lexigram-web/src/lexigram/web/config.py:RateLimitConfig.whitelist_ips |
LEX_WEB__WINDOW | int | 60 | Window size in seconds | lexigram-web/src/lexigram/web/config.py:RateLimitRuleConfig.window |
LEX_WEB__WORKERS | int | const.DEFAULT_WORKERS | Number of workers | lexigram-web/src/lexigram/web/config.py:ServerConfig.workers |
LEX_WEB__XSS_PROTECTION | str | ’1; mode=block’ | — | lexigram-web/src/lexigram/web/security/config.py:SecurityHeadersConfig.xss_protection |
lexigram-webhook (17 vars)
Section titled “lexigram-webhook (17 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_WEBHOOK__DELIVERY_LOG_RETENTION_DAYS | int | — | Days to retain delivery log (0 = indefinite) | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.delivery_log_retention_days |
LEX_WEBHOOK__DELIVERY_TIMEOUT_SECONDS | float | — | HTTP request timeout per delivery attempt | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.delivery_timeout_seconds |
LEX_WEBHOOK__DISABLE_AFTER_CONSECUTIVE_FAILURES | int | — | Auto-disable threshold | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.disable_after_consecutive_failures |
LEX_WEBHOOK__ENABLE_ADMIN | bool | — | Whether to register the admin contributor | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.enable_admin |
LEX_WEBHOOK__EVENT_ID_HEADER | str | — | HTTP header for the event ID | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.event_id_header |
LEX_WEBHOOK__EVENT_TYPE_HEADER | str | — | HTTP header for the event type | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.event_type_header |
LEX_WEBHOOK__FAILURE_WINDOW_HOURS | int | — | Window for counting consecutive failures | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.failure_window_hours |
LEX_WEBHOOK__RETRY_BACKOFF_FACTOR | float | — | Exponential backoff multiplier | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.retry_backoff_factor |
LEX_WEBHOOK__RETRY_BASE_DELAY | float | — | Initial retry delay in seconds | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.retry_base_delay |
LEX_WEBHOOK__RETRY_MAX_ATTEMPTS | int | — | Maximum delivery attempts before dead-letter | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.retry_max_attempts |
LEX_WEBHOOK__RETRY_MAX_DELAY | float | — | Maximum retry delay ceiling in seconds | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.retry_max_delay |
LEX_WEBHOOK__SECRET_LENGTH | int | — | Secret length in bytes (hex-encoded output is 2x) | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.secret_length |
LEX_WEBHOOK__SECRET_ROTATION_GRACE_HOURS | int | — | Hours both old and new secrets are accepted | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.secret_rotation_grace_hours |
LEX_WEBHOOK__SIGNATURE_ALGORITHM | str | — | HMAC algorithm name | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.signature_algorithm |
LEX_WEBHOOK__SIGNATURE_HEADER | str | — | HTTP header for the HMAC signature | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.signature_header |
LEX_WEBHOOK__STORE_BACKEND | str | — | Persistence backend (‘sql’ requires lexigram-webhook[sql]) | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.store_backend |
LEX_WEBHOOK__TIMESTAMP_HEADER | str | — | HTTP header for the delivery timestamp | lexigram-webhook/src/lexigram/webhook/config.py:WebhookConfig.timestamp_header |
lexigram-workflow (15 vars)
Section titled “lexigram-workflow (15 vars)”| Env Var | Type | Default | Description | Source |
|---|---|---|---|---|
LEX_WORKFLOW__BATCH_SIZE | int | 10 | Number of items per batch. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.batch_size |
LEX_WORKFLOW__CHECKPOINT_ENABLED | bool | False | Persist state checkpoints for resumption after failures | lexigram-workflow/src/lexigram/workflow/config.py:GraphConfig.checkpoint_enabled |
LEX_WORKFLOW__CIRCUIT_BREAKER_CONFIG | CircuitBreakerConfig | None | None | Optional circuit breaker configuration for bulk operations. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.circuit_breaker_config |
LEX_WORKFLOW__ENABLED | bool | True | Enable the graph workflow subsystem | lexigram-workflow/src/lexigram/workflow/config.py:GraphConfig.enabled |
LEX_WORKFLOW__ENABLE_PROGRESS_TRACKING | bool | True | Track operation progress. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.enable_progress_tracking |
LEX_WORKFLOW__MAX_CONCURRENCY | int | 5 | Maximum concurrent operations. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.max_concurrency |
LEX_WORKFLOW__MAX_ITERATIONS | int | 25 | Maximum graph traversal steps (anti-infinite-loop guard) | lexigram-workflow/src/lexigram/workflow/config.py:GraphConfig.max_iterations |
LEX_WORKFLOW__MAX_PARALLEL_BRANCHES | int | 0 | Max parallel branches at once. 0 = unlimited | lexigram-workflow/src/lexigram/workflow/config.py:GraphConfig.max_parallel_branches |
LEX_WORKFLOW__NODE_TIMEOUT | float | 120.0 | Per-node execution timeout in seconds. 0 = no limit | lexigram-workflow/src/lexigram/workflow/config.py:GraphConfig.node_timeout |
LEX_WORKFLOW__PARALLEL_BRANCHES | bool | True | Execute independent parallel branches via asyncio.gather | lexigram-workflow/src/lexigram/workflow/config.py:GraphConfig.parallel_branches |
LEX_WORKFLOW__PIPELINE_TIMEOUT | float | DEFAULT_PIPELINE_TIMEOUT | Default pipeline execution timeout in seconds. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.pipeline_timeout |
LEX_WORKFLOW__RETRY_ATTEMPTS | int | 3 | Number of retry attempts on failure. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.retry_attempts |
LEX_WORKFLOW__RETRY_DELAY | float | 1.0 | Delay in seconds between retries. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.retry_delay |
LEX_WORKFLOW__TIMEOUT | float | 300.0 | Operation timeout in seconds. | lexigram-workflow/src/lexigram/workflow/config.py:BulkOperationConfig.timeout |
LEX_WORKFLOW__TOTAL_TIMEOUT | float | 0.0 | Total workflow timeout in seconds. 0 = no limit | lexigram-workflow/src/lexigram/workflow/config.py:GraphConfig.total_timeout |