-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
92 lines (77 loc) · 2.53 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
83
84
85
86
87
88
89
90
91
92
[tool.poetry]
name = "kafka-paperboy"
version = "0.5.0"
description = "Kafka ingester for python built around aiokafka"
authors = ["Franck Lourme <coton@42.fr>"]
readme = "README.md"
packages = [{ include = "paperboy" }]
[tool.poetry.dependencies]
python = "^3.11"
aiokafka = "^0.8.1"
python-schema-registry-client = "^2.5.0"
rocksdict = "^0.3.18"
msgpack = "^1.0.7"
aiohttp = "^3.9.1"
[tool.poetry.group.dev.dependencies]
flake8 = "^6.1.0"
isort = "^5.12.0"
black = "^23.9.1"
mypy = "^1.6.0"
pytest = "^7.4.2"
pytest-cov = "^4.1.0"
pytest-clarity = "^1.0.1"
pytest-mock = "^3.11.1"
pytest-asyncio = "^0.23.2"
[tool.poe.tasks]
publish = { cmd = "poetry publish --build --repository nexus-internal --username $NEXUS_USERNAME --password $NEXUS_PASSWORD", help = "Publishes the package to nexus" }
typecheck = { cmd = "mypy --show-error-codes --pretty --namespace-packages --ignore-missing-imports --explicit-package-bases paperboy tests", help = "Runs the type checking task" }
test = { cmd = "pytest tests", help = "Runs the tests" }
test-cov = { cmd = "pytest -vv --cov=paperboy --cov-report=term-missing tests", help = "Runs the tests, with coverage report" }
[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$version"
version_scheme = "semver"
version_provider = "poetry"
update_changelog_on_bump = true
major_version_zero = true
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poe.tasks.format]
help = "Runs the formatting and linting tasks"
sequence = ["black paperboy tests", "isort paperboy tests"]
default_item_type = "cmd"
[tool.poe.tasks.lint]
help = "Runs the formatting and linting tasks"
sequence = [
"black --check paperboy tests",
"isort -c paperboy tests",
"flake8 paperboy tests",
]
default_item_type = "cmd"
[tool.poe.tasks.ci]
help = "Runs the formatting, linting and type checking tasks"
sequence = ["lint", "typecheck"]
[tool.poe.tasks.ci-version] # From edtrax
help = "Generate docker tag"
shell = """
if [[ -n \"$CI_COMMIT_TAG\" ]]; then
echo \"$CI_COMMIT_TAG\"
else
echo \"$(poetry version --short)-$CI_COMMIT_SHORT_SHA\"
fi
""" # FIXME Indented this way due to https://github.com/joeyespo/pytest-watch/issues/114 Don't change until fixed!
interpreter = "bash"
[tool.pytest.ini_options]
python_files = "test_*.py"
python_functions = "test_*"
[tool.black]
line-length = 120
target-version = ["py311"]
[tool.isort]
line_length = 120
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true