-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathpyproject.toml
More file actions
68 lines (62 loc) · 2.04 KB
/
pyproject.toml
File metadata and controls
68 lines (62 loc) · 2.04 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "croissant-baker"
version = "0.3.0"
description = "A tool to automatically generate Croissant metadata for datasets."
readme = "README.md"
requires-python = ">=3.10"
authors = [
{ name = "Rafi Al Attrach", email = "rafiaa@mit.edu" },
{ name = "Tom Pollard", email = "tpollard@mit.edu" },
{ name = "Sebastian Lobentanzer", email = "sebastian.lobentanzer@gmail.com"},
]
# Runtime dependencies (PEP 508 specifiers, lowercase canonical names).
# Note: pandas is not a direct dependency — available transitively via wfdb.
dependencies = [
"typer>=0.9.0",
# Upper-bound mlcroissant: croissant-baker emits Croissant 1.1 JSON-LD and
# is coupled to mlcroissant's 1.1.x behaviour (validator rules, @context
# generation, post-hoc field mappings). A 1.2.x release likely tracks a new
# spec and warrants a deliberate review of our outputs and conformance
# claim. Patches and minors flow automatically.
# Latest 1.1.x at pin time: 1.1.0 (released 2026-04-16).
"mlcroissant>=1.1.0,<1.2.0",
"rich>=15.0.0",
"wfdb>=4.3.1",
"pyarrow>=23.0.1",
"pillow>=12.2.0",
"tifffile>=2024.1.0",
"pyyaml>=6.0",
"pydicom>=2.4",
"nibabel>=5.0",
]
[project.scripts]
croissant-baker = "croissant_baker.__main__:app"
# PEP 735 dependency groups — not propagated to downstream consumers.
# Install with: uv sync --group dev
[dependency-groups]
test = ["pytest>=7.0"]
dev = [
"ruff>=0.1.0",
"pre-commit>=4.5.1",
{ include-group = "test" },
]
docs = [
"mkdocs>=1.6,<2",
"mkdocs-material>=9.7,<10",
"mkdocstrings[python]>=1.0",
"griffe>=2.0",
"typer-cli",
]
[tool.hatch.build.targets.wheel]
packages = ["src/croissant_baker"]
[tool.pytest.ini_options]
testpaths = ["tests"]
# Ensure `src/` layout resolves when a global PYTHONPATH shadows the editable .pth
pythonpath = ["src"]
# Suppress rdflib warning from mlcroissant (external dependency)
filterwarnings = ["ignore::DeprecationWarning:rdflib.*"]
[tool.ruff]
src = ["src"]