-
Notifications
You must be signed in to change notification settings - Fork 66
Expand file tree
/
Copy pathpyproject.toml
More file actions
109 lines (101 loc) · 2.59 KB
/
pyproject.toml
File metadata and controls
109 lines (101 loc) · 2.59 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
103
104
105
106
107
108
109
[project]
name = "aish"
version = "0.2.2"
description = "AI Shell - A shell with built-in LLM capabilities"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"anyio>=4.9.0",
"httpx[socks]>=0.24.0",
"langfuse==2.60.3",
"litellm==1.74.3",
"prompt-toolkit>=3.0.51",
"packaging>=20.0",
"pydantic>=2.0.0",
"python-dotenv>=1.1.1",
"pyyaml>=6.0.0",
"rich>=14.0.0",
"tiktoken>=0.5.0",
"typer>=0.16.0",
"watchfiles>=0.22.0",
"wcwidth>=0.2.13",
]
[project.scripts]
aish = "aish.cli:main"
aish-sandbox = "aish.sandboxd:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/aish"]
include = [
"src/aish/prompts/*.md",
"src/aish/i18n/*.yaml",
"src/aish/terminal/pty/*.sh",
"src/aish/scripts/themes/*.aish",
"src/aish/scripts/themes/*.md",
"src/aish/scripts/templates/*.aish",
]
# 包含文档文件到 wheel 包
artifacts = ["docs/skills-guide.md"]
[tool.hatch.build.targets.sdist]
exclude = [
".venv",
".build-venv",
".uv-cache",
"build",
"dist",
]
# 将文档安装到系统目录
[tool.hatch.build.targets.wheel.shared-data]
"docs" = "share/doc/aish"
[dependency-groups]
dev = [
"black>=25.1.0",
"isort>=6.0.1",
"mypy>=1.17.0",
"pexpect>=4.9.0",
"pyinstaller>=6.14.2",
"pyte>=0.8.2",
"pytest>=8.4.1",
"pytest-asyncio>=1.1.0",
"pytest-cov>=7.0.0",
"ruff>=0.12.7",
]
[tool.pytest.ini_options]
# Limit test discovery to this project's tests. The repository also contains
# packaging artifacts under `debian/` which include vendored third-party
# libraries (e.g. jsonschema) with their own test suites that require extra
# optional deps and data files.
testpaths = ["tests"]
pythonpath = ["src"]
norecursedirs = [
".git",
".venv",
"build",
"dist",
"debian",
]
markers = [
"asyncio: tests using pytest-asyncio",
"anyio: tests using pytest-anyio",
"live_smoke: opt-in live smoke tests that use real provider credentials",
"live_smoke_blocking: low-variance artifact-based live smoke tests that gate release candidates",
"live_smoke_extended: higher-variance artifact-based live smoke tests for manual or scheduled validation",
"timeout: tests with an execution time limit",
]
[tool.mypy]
ignore_missing_imports = true
disable_error_code = [
"arg-type",
"assignment",
"attr-defined",
"has-type",
"index",
"import-untyped",
"no-redef",
"type-var",
"union-attr",
"var-annotated",
]