works good

This commit is contained in:
lda committed 2026-02-25 01:26:54 +07:00
1 parent 2fc7d1cbfa
commit d5c535a5d5
7 files changed
+33 -3

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
# what the helly
DB_USER=smoke_admin
DB_PASSWORD=123456
DB_HOST=localhost
DB_NAME=smoke_detection
+10
View File
@@ -8,3 +8,13 @@ wheels/
# Virtual environments # Virtual environments
.venv .venv
# Local sqlite
*.db*
# artifacts/logs i forgor what are the paths uhhhhhhh
alerts.jsonl
static/alerts/
screenshots/
events/
logs/
+3
View File
@@ -0,0 +1,3 @@
[submodule "SmokeDetectionApp"]
path = SmokeDetectionApp
url = https://github.com/ldlda/SmokeDihtectionApp.git
+1
View File
@@ -11,6 +11,7 @@ dependencies = [
"numpy>=2.4.0", "numpy>=2.4.0",
"opencv-python>=4.11.0.86", "opencv-python>=4.11.0.86",
"python-dotenv>=1.2.1", "python-dotenv>=1.2.1",
"python-multipart>=0.0.22",
"torch>=2.9.1", "torch>=2.9.1",
"torchvision>=0.24.1", "torchvision>=0.24.1",
"ultralytics>=8.3.248", "ultralytics>=8.3.248",
+2 -2
View File
@@ -50,7 +50,7 @@ live_frame: Frame | None = None # latest frame for MJPEG / snapshot
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Sink that exposes frames to the web layer # Sink that exposes frames to the web layer
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
class LiveFrameSink: class LiveFrameSink(Sink):
"""Captures the latest frame so API endpoints can stream it.""" """Captures the latest frame so API endpoints can stream it."""
def handle(self, frame: Frame): def handle(self, frame: Frame):
@@ -277,7 +277,7 @@ def snapshot():
@app.get("/video_feed") @app.get("/video_feed")
def video_feed(): def video_feed():
"""MJPEG stream – drop into an <img> tag.""" """MJPEG stream - drop into an <img> tag."""
def generate(): def generate():
while True: while True:
Generated
+11
View File
@@ -287,6 +287,7 @@ dependencies = [
{ name = "numpy" }, { name = "numpy" },
{ name = "opencv-python" }, { name = "opencv-python" },
{ name = "python-dotenv" }, { name = "python-dotenv" },
{ name = "python-multipart" },
{ name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform != 'linux' and sys_platform != 'win32'" }, { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform != 'linux' and sys_platform != 'win32'" },
{ name = "torch", version = "2.10.0+cu130", source = { registry = "https://download.pytorch.org/whl/cu130" }, marker = "sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "torch", version = "2.10.0+cu130", source = { registry = "https://download.pytorch.org/whl/cu130" }, marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
{ name = "torchvision", version = "0.25.0", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform != 'linux' and sys_platform != 'win32'" }, { name = "torchvision", version = "0.25.0", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform != 'linux' and sys_platform != 'win32'" },
@@ -303,6 +304,7 @@ requires-dist = [
{ name = "numpy", specifier = ">=2.4.0" }, { name = "numpy", specifier = ">=2.4.0" },
{ name = "opencv-python", specifier = ">=4.11.0.86" }, { name = "opencv-python", specifier = ">=4.11.0.86" },
{ name = "python-dotenv", specifier = ">=1.2.1" }, { name = "python-dotenv", specifier = ">=1.2.1" },
{ name = "python-multipart", specifier = ">=0.0.22" },
{ name = "torch", marker = "sys_platform != 'linux' and sys_platform != 'win32'", specifier = ">=2.9.1" }, { name = "torch", marker = "sys_platform != 'linux' and sys_platform != 'win32'", specifier = ">=2.9.1" },
{ name = "torch", marker = "sys_platform == 'linux' or sys_platform == 'win32'", specifier = ">=2.9.1", index = "https://download.pytorch.org/whl/cu130" }, { name = "torch", marker = "sys_platform == 'linux' or sys_platform == 'win32'", specifier = ">=2.9.1", index = "https://download.pytorch.org/whl/cu130" },
{ name = "torchvision", marker = "sys_platform != 'linux' and sys_platform != 'win32'", specifier = ">=0.24.1" }, { name = "torchvision", marker = "sys_platform != 'linux' and sys_platform != 'win32'", specifier = ">=0.24.1" },
@@ -974,6 +976,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" },
] ]
[[package]]
name = "python-multipart"
version = "0.0.22"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz", hash = "sha256:7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58", size = 37612, upload-time = "2026-01-25T10:15:56.219Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/1b/d0/397f9626e711ff749a95d96b7af99b9c566a9bb5129b8e4c10fc4d100304/python_multipart-0.0.22-py3-none-any.whl", hash = "sha256:2b2cd894c83d21bf49d702499531c7bafd057d730c201782048f7945d82de155", size = 24579, upload-time = "2026-01-25T10:15:54.811Z" },
]
[[package]] [[package]]
name = "pyyaml" name = "pyyaml"
version = "6.0.3" version = "6.0.3"