-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpyproject.toml
More file actions
78 lines (71 loc) · 2.29 KB
/
pyproject.toml
File metadata and controls
78 lines (71 loc) · 2.29 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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "whai"
version = "0.12.1"
description = "A lightweight, Python-based CLI tool that integrates LLMs directly into your terminal"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
authors = [
{name = "whai Contributors"}
]
dependencies = [
"litellm==1.79.0",
"typer>=0.9.0",
"pyyaml>=6.0",
"tomli-w>=1.0.0",
"tomli>=2.0.0; python_version < '3.11'",
"rich>=13.7.0",
"mcp>=1.22.0",
]
[tool.hatch.build.targets.wheel]
packages = ["whai"]
[tool.hatch.build]
include = [
"whai/**",
"README.md",
"LICENSE*"
]
[project.scripts]
whai = "whai.cli.main:app"
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
python_functions = "test_*"
addopts = "-v -m \"not api\""
markers = [
"integration: marks tests as integration tests (run with 'pytest tests/integration' or 'pytest -m integration')",
"performance: marks tests as performance benchmarks (run with '-m performance')",
"api: marks tests that make real API calls (skipped by default, run with 'pytest -m api')",
]
filterwarnings = [
"ignore:There is no current event loop:DeprecationWarning",
"ignore:Pydantic serializer warnings:UserWarning",
"ignore:Use 'content=<...>' to upload raw bytes/text content:DeprecationWarning",
# Pydantic deprecation warnings from litellm (third-party library we can't fix)
"ignore::pydantic.PydanticDeprecatedSince20",
"ignore::pydantic.PydanticDeprecatedSince211",
"ignore:The `dict` method is deprecated.*:pydantic.PydanticDeprecatedSince20",
"ignore:Accessing the 'model_fields' attribute.*:pydantic.PydanticDeprecatedSince211",
"ignore:Accessing the 'model_computed_fields' attribute.*:pydantic.PydanticDeprecatedSince211",
# LiteLLM uses asyncio.iscoroutinefunction (deprecated in 3.14, removed in 3.16)
"ignore:.*asyncio.iscoroutinefunction.*:DeprecationWarning",
]
[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
explicit = true
[dependency-groups]
dev = [
"nox>=2025.10.16",
"pytest>=8.3.5",
"pytest-cov>=5.0.0",
"pytest-mock>=3.14.1",
"ruff>=0.14.3",
"nest-asyncio2>=1.6.0",
"anyio>=4.11.0",
"python-dotenv>=1.0.0",
]