Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
52 lines (45 loc) · 1.65 KB
/
Copy pathpyproject.toml
File metadata and controls
52 lines (45 loc) · 1.65 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
52
[project]
name = "fleetmemory"
version = "0.1.0"
description = "Fleet Memory — shared object memory on Qdrant Edge"
requires-python = ">=3.12,<3.13"
dependencies = [
"qdrant-edge-py==0.7.2", # beta, API drifts between minors — pinned exactly
"fastapi>=0.115",
"uvicorn[standard]>=0.34",
"numpy>=2.0.0,<2.3.0",
"qdrant-client>=1.15", # fleet push (upsert) — pulls stay native snapshots
"requests>=2.32", # snapshot downloads (iter_content — r.raw corrupts the tar)
"onnx-asr>=0.12.0",
"onnxruntime>=1.27.0",
]
[project.optional-dependencies]
# Real models — needed to run the app.
perception = [
"ultralytics>=8.3",
"lap>=0.5.12", # BoT-SORT assignment; ultralytics runtime auto-install is disabled
# torch-MPS inference leaks autoreleased Metal objects in pure Python loops
# (~80 MB/min measured); draining a pool per detector call flattens it
"pyobjc-core>=10; sys_platform == 'darwin'",
"fastembed>=0.7.4",
"opencv-python-headless>=4.12.0", # headless: no libGL on servers/Jetson/containers
]
[dependency-groups]
dev = [
"ruff>=0.11",
]
[tool.uv]
# ultralytics pulls full opencv-python (links libGL, absent on headless Linux /
# Jetson / containers). The impossible marker stops it from installing at all,
# so ultralytics imports cv2 from opencv-python-headless instead — same module.
override-dependencies = ["opencv-python; sys_platform == 'nonexistent'"]
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["fleetmemory"]