-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
82 lines (72 loc) · 1.96 KB
/
pyproject.toml
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
[tool.poetry]
name = "AINewsJohnStewart"
version = "0.1.0"
description = "AI-powered news satire generator"
authors = ["Your Name <[email protected]>"]
packages = [
{include = "AINewsJohnStewart"},
{include = "scripts"}
]
[tool.poetry.dependencies]
python = ">=3.9,<3.14"
pyautogen = ">=0.7.4"
python-dotenv = ">=1.0.0"
anthropic = ">=0.13.0"
requests = ">=2.31.0"
pillow = ">=10.0.1"
pydantic-settings = ">=2.1.0"
tenacity = ">=8.2.3"
jinja2 = ">=3.1.5"
PyYAML = "^6.0.1"
trafilatura = ">=1.6.4"
beautifulsoup4 = ">=4.12.3"
[tool.poetry.group.test.dependencies]
pytest = "^7.4.0"
pytest-cov = "^4.1.0"
pytest-mock = "^3.11.1"
pytest-xdist = "^3.3.1" # For parallel test execution
pytest-sugar = "^0.9.7" # For better test progress visualization
pytest-timeout = "^2.1.0" # For handling hanging tests
[tool.poetry.group.dev.dependencies]
rich = "^13.9.4"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
test = "scripts.test_runner:main"
test-unit = "scripts.test_runner:run_unit_tests"
test-integration = "scripts.test_runner:run_integration_tests"
test-all = "scripts.test_runner:run_all_tests"
[tool.pytest.ini_options]
testpaths = ["AINewsJohnStewart/tests"]
python_files = ["test_*.py", "*_test.py"]
addopts = """
-v
--strict-markers
--tb=short
--cov=AINewsJohnStewart
--cov-report=term-missing
--cov-report=html:coverage_reports/html
--junitxml=test_reports/junit.xml
"""
markers = [
"unit: mark test as a unit test",
"integration: mark test as an integration test",
"satirist: tests for the satirist agent",
"slow: mark test as slow running",
]
pythonpath = ["."]
[tool.coverage.run]
source = ["AINewsJohnStewart"]
branch = true
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"raise NotImplementedError",
"if __name__ == .__main__.:",
"pass",
"raise ImportError",
]
[tool.autogen]
llm_cache_path = "./data/llm_cache.db"