Skip to content

Commit 6f9ef72

Browse files
committed
feat: Add pyproject.toml for project configuration and dependency management
1 parent 116daa0 commit 6f9ef72

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

pyproject.toml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
[tool.poetry]
2+
name = "log-analysis-service"
3+
version = "1.0.0"
4+
description = "Log Analysis System Microservice for Developer Foundry 2.0 (AIMA)"
5+
authors = ["Samuel Ogboye", "Nasiff Bello", "Daniel Kiyiki"]
6+
readme = "README.md"
7+
8+
[tool.poetry.dependencies]
9+
python = "^3.11"
10+
11+
[build-system]
12+
requires = ["poetry-core"]
13+
build-backend = "poetry.core.masonry.api"
14+
15+
[tool.black]
16+
line-length = 100
17+
target-version = ['py311']
18+
include = '\.pyi?$'
19+
exclude = '''
20+
/(
21+
\.git
22+
| \.hg
23+
| \.mypy_cache
24+
| \.tox
25+
| \.venv
26+
| _build
27+
| buck-out
28+
| build
29+
| dist
30+
)/
31+
'''
32+
33+
[tool.isort]
34+
profile = "black"
35+
line_length = 100
36+
multi_line_output = 3
37+
include_trailing_comma = true
38+
39+
[tool.mypy]
40+
python_version = "3.11"
41+
warn_return_any = true
42+
warn_unused_configs = true
43+
disallow_untyped_defs = true
44+
disallow_incomplete_defs = true
45+
check_untyped_defs = true
46+
no_implicit_optional = true
47+
warn_redundant_casts = true
48+
warn_unused_ignores = true
49+
warn_no_return = true
50+
follow_imports = "normal"
51+
ignore_missing_imports = true
52+
53+
[tool.pytest.ini_options]
54+
testpaths = ["tests"]
55+
python_files = ["test_*.py", "*_test.py"]
56+
python_classes = ["Test*"]
57+
python_functions = ["test_*"]
58+
asyncio_mode = "auto"
59+
addopts = [
60+
"--strict-markers",
61+
"--tb=short",
62+
"--cov=app",
63+
"--cov-report=term-missing",
64+
"--cov-report=html",
65+
"--cov-report=xml",
66+
]
67+
68+
[tool.coverage.run]
69+
source = ["app"]
70+
omit = [
71+
"*/tests/*",
72+
"*/test_*.py",
73+
"*/__init__.py",
74+
]
75+
76+
[tool.coverage.report]
77+
exclude_lines = [
78+
"pragma: no cover",
79+
"def __repr__",
80+
"raise AssertionError",
81+
"raise NotImplementedError",
82+
"if __name__ == .__main__.:",
83+
"if TYPE_CHECKING:",
84+
"@abstractmethod",
85+
]

0 commit comments

Comments
 (0)