53 lines
1.4 KiB
TOML
53 lines
1.4 KiB
TOML
[build-system]
|
|
requires = ["uv_build>=0.5.0,<0.9"]
|
|
build-backend = "uv_build"
|
|
|
|
[project]
|
|
name = "dimension-reduction-sandbox"
|
|
version = "0.0.1"
|
|
description = "Dimension Reduction Stability Experiments with Prefect"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"annoy-mm>=1.17.3", # prebuilt wheels for annoy; satisfies pacmap/trimap
|
|
"pacmap>=0.7.5",
|
|
"pandas>=2.2.3",
|
|
"plotly>=5.24.1",
|
|
"prefect-ray>=0.4.2",
|
|
"prefect>=3.1.1",
|
|
"scikit-learn>=1.5.2",
|
|
"setuptools>=75.4.0", # pacmap + trimap need this (unecessarily)
|
|
"trimap>=1.1.4",
|
|
"umap-learn>=0.5.7",
|
|
"fastapi>=0.115.0",
|
|
"jinja2>=3.1.4",
|
|
"uvicorn[standard]>=0.32.0",
|
|
"httpx>=0.27.0",
|
|
"python-multipart>=0.0.12",
|
|
"sse-starlette>=2.1.3",
|
|
]
|
|
|
|
[project.scripts]
|
|
dr-sandbox = "dr_sandbox.cli:main"
|
|
|
|
# Only the thin CLI shim is a distributable package. `app/`, `flows/`,
|
|
# `scripts/` stay source-tree-local — they're run in-place, not installed.
|
|
# Because the project slug ("dimension-reduction-sandbox") differs from
|
|
# the importable module, tell uv_build where to look.
|
|
[tool.uv.build-backend]
|
|
module-name = "dr_sandbox"
|
|
module-root = "src"
|
|
|
|
[tool.uv]
|
|
override-dependencies = [
|
|
"annoy ; sys_platform == 'never'", # block source build of annoy; annoy-mm provides the module
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"black>=24.10.0",
|
|
"flake8>=7.1.1",
|
|
"ipython>=8.29.0",
|
|
"isort>=5.13.2",
|
|
]
|