-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
52 lines (47 loc) · 1.77 KB
/
Copy pathpyproject.toml
File metadata and controls
52 lines (47 loc) · 1.77 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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "cinemap"
version = "0.1.0"
description = "CineMap — agentic video generation for large-scale EM segmentation data (Neuroglancer + Blender, Claude-directed keyframe timeline)"
readme = "plan.md"
requires-python = ">=3.11"
authors = [{ name = "zouinkhim" }]
# Python runtime dependencies. Add new deps HERE, then:
# conda run -n mv_env pip install -e .
# (Blender ships as the `bpy` pip wheel below — installed by `pip install -e .`.)
dependencies = [
# --- backend / API ---
"fastapi",
"uvicorn[standard]",
"websockets",
"pydantic>=2",
"python-multipart",
# --- agent ---
"anthropic",
# --- visualization / state ---
"neuroglancer",
"selenium", # drives neuroglancer.webdriver for headless screenshots
# (needs chromium + chromedriver binaries, installed into mv_env via conda-forge)
# --- data access ---
"cloud-volume", # precomputed volumes + meshes
"tensorstore", # zarr/n5/ome-zarr array + metadata reads
"zarr<3", # cloud-volume / ome compatibility
"trimesh", # mesh load/convert for Blender import
"scikit-image", # marching-cubes mesh generation from label volumes
# --- blender (render worker) ---
"bpy", # Blender as a Python module (Cycles); run in a subprocess script for isolation
# --- core ---
"numpy<2", # bpy 5.x requires numpy<2; keep the whole env on 1.x
"pillow",
"imageio-ffmpeg", # bundles an ffmpeg binary (don't rely on a system ffmpeg on PATH)
"scipy", # slerp / interpolation helpers
]
[project.optional-dependencies]
dev = ["ruff", "pytest"]
[tool.hatch.build.targets.wheel]
packages = ["src/cinemap"]
[tool.ruff]
line-length = 100
target-version = "py311"