Download config.py from simikkk/test2: direct link, hf CLI and curl.
- Browser
- Download file 3.36 kB
-
https://huggingface.co/spaces/simikkk/test2/resolve/main/config.py
- Command line
-
hf download hf://spaces/simikkk/test2/config.py
-
curl -L -o config.py https://huggingface.co/spaces/simikkk/test2/resolve/main/config.py
3.36 kB
| """OmniParse AI — Configuration & Secrets. All sensitive values from env vars.""" | |
| import os | |
| # ── API Keys ──────────────────────────────────────────────────────────────── | |
| HF_TOKEN = os.environ.get("HF_TOKEN") | |
| GROQ_API_KEY = os.environ.get("GROQ_API_KEY") | |
| SUPABASE_URL = os.environ.get("SUPABASE_URL") | |
| SUPABASE_KEY = os.environ.get("SUPABASE_KEY") | |
| GOOGLE_VISION_KEY = os.environ.get("GOOGLE_VISION_KEY") | |
| STRIPE_SECRET_KEY = os.environ.get("STRIPE_SECRET_KEY") | |
| STRIPE_PRICE_BASIC = os.environ.get("STRIPE_PRICE_BASIC") | |
| STRIPE_PRICE_PRO = os.environ.get("STRIPE_PRICE_PRO") | |
| STRIPE_PRICE_ENTERPRISE = os.environ.get("STRIPE_PRICE_ENTERPRISE") | |
| STRIPE_WEBHOOK_SECRET = os.environ.get("STRIPE_WEBHOOK_SECRET") | |
| APP_URL = os.environ.get("APP_URL", "http://localhost:7860") | |
| # ── Session & Cookies ─────────────────────────────────────────────────────── | |
| SESSION_TTL_HOURS = 168 # 7 days | |
| COOKIE_NAME = "op_sid" | |
| COOKIE_SECURE = os.environ.get("COOKIE_SECURE", "false").lower() == "true" | |
| COOKIE_HTTPONLY = True | |
| COOKIE_SAMESITE = "lax" | |
| # ── Password Policy ───────────────────────────────────────────────────────── | |
| BCRYPT_ROUNDS = 12 | |
| MIN_PASSWORD_LENGTH = 10 | |
| REQUIRE_MIXED_CASE = True | |
| REQUIRE_DIGIT = True | |
| REQUIRE_SPECIAL = True | |
| BANNED_PASSWORDS = { | |
| "password", "1234567890", "qwerty12345", "admin12345", | |
| "letmein123", "welcome123", "monkey1234", "dragon1234", | |
| "password123", "omniparse123", "invoice1234", "changeme123", | |
| } | |
| # ── File Upload Limits ────────────────────────────────────────────────────── | |
| MAX_FILE_SIZE_MB = 20 | |
| MAX_FILES_PER_REQ = 10 | |
| # ── Rate Limits ───────────────────────────────────────────────────────────── | |
| RATE_GLOBAL = "200/minute" | |
| RATE_AUTH = "10/minute" | |
| RATE_UPLOAD = "30/minute" | |
| RATE_API = "60/minute" | |
| # ── Plans ─────────────────────────────────────────────────────────────────── | |
| PLAN_LIMITS = {"free": 20, "basic": 200, "pro": 2000, "enterprise": float("inf")} | |
| PLAN_LABELS = {"free": "Free", "basic": "Basic", "pro": "Pro", "enterprise": "Enterprise"} | |
| PLAN_PRICES = {"free": 0, "basic": 29, "pro": 129, "enterprise": 499} | |
| PLAN_PRICE_IDS = { | |
| "basic": STRIPE_PRICE_BASIC, "pro": STRIPE_PRICE_PRO, | |
| "enterprise": STRIPE_PRICE_ENTERPRISE, | |
| } | |
| # ── Database ──────────────────────────────────────────────────────────────── | |
| SQLITE_PATH = os.environ.get("SQLITE_PATH", "omniparse.db") | |
| USE_SUPABASE = bool(SUPABASE_URL and SUPABASE_KEY) | |