-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathpyproject.toml
More file actions
90 lines (80 loc) · 2.13 KB
/
pyproject.toml
File metadata and controls
90 lines (80 loc) · 2.13 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
[project]
name = 'graphon'
version = "0.3.0"
description = 'Graph execution engine for agentic AI workflows.'
readme = 'README.md'
license = 'Apache-2.0'
license-files = ['LICENSE']
# Keep Python support aligned with `unstructured`, which currently declares
# `Requires-Python: <3.14,>=3.11`.
requires-python = '>=3.12,<3.14'
dependencies = [
'charset-normalizer>=2.1',
'httpx>=0.28',
'json-repair>=0.55',
'jsonschema>=4',
'orjson>=3',
'pandas[excel]>=2.1',
'pydantic>=2.7',
'pydantic-extra-types>=2',
'pypdfium2>=5',
'python-docx>=1.2',
'pyyaml>=6',
'tiktoken>=0.12',
'transformers>=4',
'typing-extensions>=4.10.0',
'unstructured[docx,epub,md,ppt,pptx]>=0.21',
'pypandoc>=1.13',
'webvtt-py>=0.5',
]
[project.urls]
source = 'https://github.com/langgenius/graphon'
homepage = 'https://github.com/langgenius/graphon'
issues = 'https://github.com/langgenius/graphon/issues'
[dependency-groups]
dev = [
'pytest',
'pytest-cov',
'pytest-mock',
'pytest-xdist',
'ruff',
'prek',
'ty',
]
[build-system]
requires = ['uv_build~=0.11']
build-backend = 'uv_build'
[tool.uv]
default-groups = ['dev']
[tool.ruff]
fix = true
preview = true
required-version = '>=0.15'
[tool.ruff.lint]
select = ['ALL']
ignore = [
'COM812', # Conflicts with `ruff format`.
'ERA001', # False positives are common.
'TC', # Runtime use of typing constructs is common now.
'CPY', # Covered by the standalone LICENSE file.
'PLR0913', # Explicit is better than implicit.
'PLR0917', # Complex is better than complicated.
'PLR6301', # Violates the usual practice.
'D', # Too verbose.
'FBT', # Too strict.
'TID252', # Too absolute.
'ANN401', # We hope to enforce this, but typing is still evolving.
]
[tool.ruff.lint.pydoclint]
ignore-one-line-docstrings = true
[tool.ruff.lint.per-file-ignores]
'tests/**/*.py' = [
'S101', # Assert statements used for pytest.
'PLR2004', # Magic value used in test cases.
]
[tool.ty.environment]
python-platform = "linux"
[tool.pytest]
minversion = '9.0'
addopts = ['-n', 'auto']
testpaths = ['tests']