-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
112 lines (104 loc) · 3 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[tool.poetry]
name = "qr-code-generator"
version = "2.1.0"
description = "A robust and scalable QR Code Generator application built with FastAPI"
authors = ["Jay Singh <[email protected]>"]
readme = "README.md"
packages = [{include = "app"}]
[tool.poetry.dependencies]
python = ">=3.9,<3.12"
fastapi = "^0.109.0"
uvicorn = "^0.27.0"
qrcode = "^7.4.2"
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
python-multipart = "^0.0.6"
structlog = "^24.1.0"
prometheus-client = "^0.19.0"
pydantic = {extras = ["email"], version = "^2.6.0"}
passlib = {extras = ["bcrypt"], version = "^1.7.4"}
sqlalchemy = "^2.0.25"
bcrypt = "^4.1.2"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
black = "^24.1.0"
coverage = "^7.4.0"
python-semantic-release = "^9.15.0"
httpx = "^0.26.0"
flake8 = "^7.0.0"
mypy = "^1.8.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
# New-style config for python-semantic-release 9.x
[tool.python_semantic_release]
version_variable = [
"app/__init__.py:__version__",
"pyproject.toml:tool.poetry.version"
]
version_source = ["tag", "commit"]
commit_version_number = true
upload_to_repository = false
build_command = "poetry build"
changelog_file = "CHANGELOG.md"
commit_parser = "angular"
major_on_zero = false
tag_format = "v{version}"
tag_type = "annotated"
allow_zero_version = true
commit_author = "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"
commit_message = "chore(release): {version} [skip ci]"
[tool.python_semantic_release.remote]
token = "env:GH_TOKEN"
sign_tags = true
provider = "github"
# Simplified branch configuration - only main branch
[tool.python_semantic_release.branches]
main = [
{ name = "main", prerelease = false },
{ name = "master", prerelease = false }
]
prerelease = [
{ name = "develop", prerelease = true, prerelease_token = "beta" },
{ name = "feature/.*", prerelease = true, prerelease_token = "alpha" },
{ name = "fix/.*", prerelease = true, prerelease_token = "rc" }
]
[tool.python_semantic_release.changelog]
sections = [
"breaking",
"feature",
"fix",
"documentation",
"performance",
"refactor"
]
components = [
"semantic_release.changelog.changelog_headers",
"semantic_release.changelog.compare_url",
"semantic_release.changelog.commit_list",
"semantic_release.changelog.release_notes_generator"
]
include_prereleases = true
exclude_commit_patterns = [
"^chore\\(release\\):.*",
"^chore:\\s*update dependency.*",
"^chore\\(deps\\):.*",
"\\[skip ci\\]"
]
render_title = true
render_commit_links = true
include_unreleased = true
unreleased_section_title = "Unreleased"
[tool.mypy]
python_version = "3.11"
disallow_untyped_defs = false
disallow_incomplete_defs = false
check_untyped_defs = true
disallow_untyped_decorators = false
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = false
warn_unreachable = true
strict_optional = true
plugins = ["pydantic.mypy"]
ignore_missing_imports = true