forked from awslabs/python-deequ
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
51 lines (40 loc) · 1.84 KB
/
Copy pathconfig.py
File metadata and controls
51 lines (40 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import os
import sys
import logging
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")
logger = logging.getLogger("issue_bot")
class Config:
def __init__(self):
self.github_token = _require("GITHUB_TOKEN")
self.event_type = _require("EVENT_TYPE")
self.event_action = os.getenv("EVENT_ACTION", "")
self.issue_number = _require("ISSUE_NUMBER")
if not self.issue_number.isdigit():
logger.error(f"ISSUE_NUMBER must be numeric: {self.issue_number}")
sys.exit(1)
self.repo = _require("GITHUB_REPOSITORY")
self.actor = os.getenv("GITHUB_ACTOR", "")
self.bedrock_model_id = os.getenv("BEDROCK_MODEL_ID", "us.anthropic.claude-opus-4-6-v1")
self.kb_s3_bucket = os.getenv("KB_S3_BUCKET", "")
self.kb_s3_key = os.getenv("KB_S3_KEY", "")
self.slack_webhook_url = os.getenv("SLACK_WEBHOOK_URL", "")
self.guardrail_id = os.getenv("GUARDRAIL_ID", "")
self.guardrail_version = os.getenv("GUARDRAIL_VERSION") or "DRAFT"
self.dry_run = os.getenv("DRY_RUN", "false").lower() == "true"
self.enable_slack = bool(self.slack_webhook_url)
self.enable_repo_search = os.getenv("ENABLE_REPO_SEARCH", "true").lower() == "true"
self.upstream_repo = os.getenv("UPSTREAM_REPO", "awslabs/python-deequ")
self.bedrock_timeout = 120
self.max_context_chars = 200000
self.max_github_search_results = 8
self.github_api_timeout = 10
self.allowed_labels = {
"bug", "enhancement", "question", "documentation",
"help-wanted", "analyzer", "check", "spark-compatibility", "installation",
}
def _require(name):
val = os.getenv(name)
if not val:
logger.error(f"Missing required env var: {name}")
sys.exit(1)
return val