Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
69 lines (59 loc) · 1.65 KB
/
Copy pathpyproject.toml
File metadata and controls
69 lines (59 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[project]
name = "orchard-inference"
version = "0.1.0"
description = "Production-style LLM inference serving for Apple silicon"
readme = "README.md"
requires-python = ">=3.12,<3.13"
dependencies = [
"fastapi>=0.115,<1",
"httpx>=0.28,<1",
"mlx>=0.32,<0.33",
"mlx-lm==0.31.3",
"pydantic-settings>=2.7,<3",
"prometheus-client>=0.21,<1",
"psutil>=6,<8",
"structlog>=25,<27",
"transformers==5.0.0",
"uvicorn>=0.34,<1",
]
[project.optional-dependencies]
mps = ["torch>=2.6,<3"]
[dependency-groups]
dev = [
"mypy>=1.14,<3",
"pytest>=8.3,<10",
"pytest-asyncio>=0.25,<2",
"ruff>=0.9,<1",
"types-psutil>=7,<8",
]
[project.scripts]
orchard-serve = "orchard_inference.main:run"
orchard-bench = "orchard_inference.benchmark:run"
orchard-compare-mlx = "orchard_inference.compare_mlx:run"
orchard-quantization = "orchard_inference.quantization:run"
orchard-continuous-batch = "orchard_inference.continuous_batching:run"
orchard-chunked-prefill = "orchard_inference.chunked_prefill:run"
orchard-kv-blocks = "orchard_inference.kv_blocks:run"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/orchard_inference"]
[tool.pytest.ini_options]
addopts = "-ra"
testpaths = ["tests"]
markers = ["model: requires a real model download", "benchmark: long-running benchmark"]
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "ASYNC"]
[tool.mypy]
python_version = "3.12"
strict = true
packages = ["orchard_inference"]
mypy_path = "src"
plugins = ["pydantic.mypy"]
[[tool.mypy.overrides]]
module = ["mlx", "mlx.*"]
ignore_missing_imports = true