Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
102 lines (91 loc) · 3.86 KB
/
Copy pathpyproject.toml
File metadata and controls
102 lines (91 loc) · 3.86 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "laya"
version = "0.4.2"
description = "Fast, non-autoregressive System 1 decision engine with calibrated probabilities"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "Apache-2.0" }
authors = [
{ name = "Convai Innovations" }
]
keywords = ["decision-model", "rlcd", "calibration", "system-one", "routing", "guardrails", "moderation", "triage"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
"torch>=2.0.0",
"transformers>=4.48.0",
"safetensors>=0.4.0",
"huggingface_hub>=0.20.0",
"numpy>=1.20.0",
]
[tool.setuptools]
# assets/, research/ and notebooks/ sit in the root, so auto-discovery bails out.
packages = ["laya", "laya.backends", "laya.mcp", "laya.integrations"]
[project.optional-dependencies]
# `pip install laya[serve]` adds the HTTP server (laya.serve / the laya-serve CLI).
serve = [
"fastapi>=0.110.0",
"uvicorn>=0.27.0",
"python-multipart>=0.0.9", # examples/server.py form uploads
]
# `pip install laya[fast]` adds the TileLang GPU fast path (laya/fast.py); everything else works without it.
fast = ["tilelang>=0.1.14"]
# `pip install laya[mcp]` adds the MCP stdio server (laya.mcp / the laya-mcp-server CLI).
mcp = ["mcp>=2.2.0"]
# `pip install laya[structured]` adds pydantic for the typed-model helpers (laya/structured.py).
structured = ["pydantic>=2.0.0"]
# `pip install laya[onnx]` adds ONNX Runtime for `laya.onnx_agent` and `onnxscript`, which
# `torch.onnx.export` requires (`scripts/export_onnx.py`, `tests/test_onnx.py`).
#
# The NumPy cap is not about ONNX: the extra's own resolution (onnx -> ml-dtypes) otherwise
# pulls NumPy 2, and torch below 2.3 is built against NumPy 1.x and raises "Numpy is not
# available" when it converts a tensor against 2.x, which `predict()` needs for its final
# `.numpy()`. This package declares `torch>=2.0.0`, so the extra must not force a NumPy the
# declared floor cannot use.
#
# It is scoped by marker rather than written as a blanket `numpy<2`, because a hard upper cap
# binds every `laya[onnx]` install -- including the many on a current torch -- and makes the
# extra unresolvable next to anything else requiring `numpy>=2`. The marker names the stack this
# actually affects: the macOS/Intel checkout (#948), where torch tops out at 2.2.2 and NumPy 1.26
# satisfies onnx, onnxruntime and onnxscript. Every other platform resolves what `onnx` wants,
# so none of those three is quietly pinned to NumPy 1.x on its behalf.
onnx = ["onnx", "onnxruntime", "onnxscript",
"numpy<2; platform_system == 'Darwin' and platform_machine == 'x86_64'"]
# `pip install laya[langchain]` adds the LangChain / LangGraph integrations (laya.integrations).
langchain = [
"langchain-core>=0.2.0",
"langgraph>=0.1.0",
]
langgraph = [
"langchain-core>=0.2.0",
"langgraph>=0.1.0",
]
# `pip install laya[llamaindex]` adds the LlamaIndex query router & selector integrations (laya.integrations).
llamaindex = [
"llama-index-core>=0.10.0",
]
# `pip install laya[crewai]` adds the CrewAI multi-agent delegation router (laya.integrations).
crewai = [
"crewai>=0.28.0",
]
[project.scripts]
laya = "laya.cli:main"
laya-serve = "laya.serve:main"
laya-evals = "laya.evals_cli:main"
laya-mcp-server = "laya.mcp.server:main"
laya-train = "laya.train_cli:main"
[project.urls]
Homepage = "https://huggingface.co/convaiinnovations/laya"
Demo = "https://huggingface.co/spaces/convaiinnovations/laya-demo"