creek

The AI Image Editor of 2030
commit f5d99aeb344285afa0510e861ad089a2c4163f0b
parent 3408e8a25e3388446b3abd86573bbf0afb6140f0
Author: maydayv7 <maydayv7@gmail.com>
Date:   Thu,  4 Dec 2025 02:16:03 +0530

Remove sensitive info

Diffstat:
M.gitignore | 4++++
Mflask/index.py | 7+++++--
Mflask/modal_app.py | 17+++++++++++------
Mflask/requirements.txt | 2++
Dkey.txt | 2--
Dtriagebot.toml | 165-------------------------------------------------------------------------------
6 files changed, 22 insertions(+), 175 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -47,3 +47,7 @@ __pycache__ # VS Code .vscode/ + +# .env Files +#.env +flask/.env diff --git a/flask/index.py b/flask/index.py @@ -15,12 +15,15 @@ from PIL import Image, ImageFilter from torchvision import transforms import time import uuid +from dotenv import load_dotenv +load_dotenv() # --- FAL.AI IMPORTS --- try: import fal_client - # 1. SETUP API KEY - os.environ["FAL_KEY"] = "f040803a-2cc4-4210-86f2-53b4a0e33354:335fb1972606d25f80004bd3bd11d935" + # SETUP API KEY + if not os.getenv("FAL_KEY"): + print("⚠️ Warning: FAL_KEY not found in environment variables.") FAL_AVAILABLE = True except ImportError: print("⚠️ Fal.ai Client not installed. /inpainting-api will fail.") diff --git a/flask/modal_app.py b/flask/modal_app.py @@ -37,11 +37,6 @@ image = ( "fal-client", "requests", ) - .env( - { - "FAL_KEY": "f040803a-2cc4-4210-86f2-53b4a0e33354:335fb1972606d25f80004bd3bd11d935" - } - ) # --- MOUNT LOCAL MODELS --- .add_local_dir("local_inpainting_model", remote_path="/models/sd-inpainting") .add_local_dir("Florence-2-4bit-Quantized", remote_path="/models/florence-2") @@ -54,7 +49,11 @@ app = modal.App("adobe-flask", image=image) # ============================================================================== # 2. THE BACKEND SERVER CLASS # ============================================================================== -@app.cls(gpu="any", scaledown_window=300) +@app.cls( + gpu="any", + scaledown_window=300, + secrets=[modal.Secret.from_name("fal-secret")] +) class ModelBackend: @modal.enter() @@ -67,6 +66,12 @@ class ModelBackend: self.device = "cuda" + # FAL.AI API KEY + if "FAL_KEY" not in os.environ: + print("❌ Error: FAL_KEY secret not found!") + else: + print("✅ FAL_KEY loaded securely.") + # --- 1. SETUP BiRefNet PATHS --- sys.path.append("/root/BiRefNet") diff --git a/flask/requirements.txt b/flask/requirements.txt @@ -6,9 +6,11 @@ fal-client flask flask-cors kornia +modal numpy opencv-python pillow +python-dotenv requests safetensors scipy diff --git a/key.txt b/key.txt @@ -1 +0,0 @@ -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 -\ No newline at end of file diff --git a/triagebot.toml b/triagebot.toml @@ -1,165 +0,0 @@ -############################################### -# TRIAGEBOT CONFIG FOR adobe (Flutter + Python) -############################################### - -# ───────────────────────────────────────────── -# GENERAL REPO SETTINGS -# ───────────────────────────────────────────── - -[include] -# Paths triagebot should watch (all by default) -paths = ["*"] - -# ───────────────────────────────────────────── -# RELABEL: Allow contributors to relabel issues -# ───────────────────────────────────────────── -[relabel] -allow-unauthenticated = [ - "bug", - "invalid", - "question", - "enhancement", - "documentation", -] - -# ───────────────────────────────────────────── -# CLAIM / ASSIGN: Allow contributors to self-assign -# ───────────────────────────────────────────── -[assign] -auto_assign_on_mention = true -warn_on_unused_assign = true - -# Optional, define who is auto-assignable: -assignable = [ - "nilotpal-n7", # ← replace with your GitHub username - "aditya-samal", -] - -# ───────────────────────────────────────────── -# REVIEWERS: Auto reviewer assignment groups -# ───────────────────────────────────────────── -[reviewers] -# reviewers = ["user1", "user2"] # optional root list - -# group: flutter -[reviewers.groups.flutter] -reviewers = ["nilotpal-n7"] - -# group: android -[reviewers.groups.android] -reviewers = ["nilotpal-n7"] - -# group: python -[reviewers.groups.python] -reviewers = ["nilotpal-n7"] - -# group: ci -[reviewers.groups.ci] -reviewers = ["nilotpal-n7"] - -# Path → reviewer group routing -[reviewers.paths."lib/**"] -groups = ["flutter"] - -[reviewers.paths."android/**"] -groups = ["android"] - -[reviewers.paths."ios/**"] -groups = ["flutter"] - -[reviewers.paths."web/**"] -groups = ["flutter"] - -[reviewers.paths."python_env/**"] -groups = ["python"] - -[reviewers.paths."build/**"] -groups = ["ci"] - -# Auto-assign reviewers when PR touches certain paths -paths."lib/**" = ["flutter"] -paths."android/**" = ["android"] -paths."ios/**" = ["flutter"] -paths."web/**" = ["flutter"] -paths."python_env/**" = ["python"] -paths."build/**" = ["ci"] - -# ───────────────────────────────────────────── -# PING SYSTEM: Easily notify groups -# ───────────────────────────────────────────── -[ping] -allowed_users = ["nilotpal-n7"] - -[ping.flutter] -message = """\ -Flutter team: please review this issue/PR. -""" -aliases = ["flutter-team"] -user_list = ["nilotpal-n7"] - -[ping.python] -message = """\ -Python/WASM integration group ping. -""" -aliases = ["python-team"] -user_list = ["nilotpal-n7"] - -[ping.android] -message = """\ -Android integration maintainers ping. -""" -aliases = ["android-team"] -user_list = ["nilotpal-n7"] - -# ───────────────────────────────────────────── -# MAJOR CHANGE PROCESS (MCP) -# ───────────────────────────────────────────── -[major-change] -enabling_label = "major-change" -meeting_label = "to-announce" -second_label = "final-comment-period" -concerns_label = "has-concerns" -accept_label = "major-change-accepted" -waiting_period = 1 -auto_closing = true - -# Optional: Replace with your zulip/discord stream ID -zulip_stream = 1 -zulip_ping = "team" - -# ───────────────────────────────────────────── -# MCP: Tracking issue template (auto-generated) -# ───────────────────────────────────────────── -[major-change.tracking-issue-template] -repository = "adobe" -title = "Tracking issue for MCP#${mcp_number}" -body = """ -This issue tracks MCP ${mcp_issue}: ${mcp_title} - -Created by ${mcp_author} -""" -labels = ["major-change", "tracking"] - -# ───────────────────────────────────────────── -# CONCERN SYSTEM -# ───────────────────────────────────────────── -[concern] -labels = ["has-concerns"] - -# ───────────────────────────────────────────── -# NOTE SYSTEM: Allows @bot note "text" -# ───────────────────────────────────────────── -[note] - -# ───────────────────────────────────────────── -# REVIEW-CHANGES-SINCE -# ───────────────────────────────────────────── -[review-changes-since] - -# ───────────────────────────────────────────── -# AUTO-NOTIFY LABELS (Optional) -# ───────────────────────────────────────────── -[labels.notify] -"flutter" = ["nilotpal-n7"] -"python" = ["nilotpal-n7"] -"ci" = ["nilotpal-n7"]