-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
143 lines (128 loc) · 4.55 KB
/
pyproject.toml
File metadata and controls
143 lines (128 loc) · 4.55 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
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
[project]
name = "itisFarzinBot"
version = "0.18.1"
description = "A lightweight, modular Telegram bot framework."
readme = "README.md"
license = { text = "MIT" }
authors = [
{ name = "Farzin Kazemzadeh", email = "itisFarzin@proton.me" }
]
requires-python = ">=3.10"
dependencies = [
"gitpython>=3.1.45",
"kurigram>=2.2.17",
"psutil>=7.2.2",
"pymysql>=1.1.1",
"pyyaml>=6.0.2",
"socksio>=1.0.0",
"sqlalchemy>=2.0.43",
"uvloop>=0.22.0",
]
[project.optional-dependencies]
full = [
"tgcrypto>=1.2.5",
]
dev = [
"mypy>=1.19.1",
"ruff>=0.15.1",
"types-psutil>=7.2.2.20260130",
"types-pyyaml>=6.0.12",
]
[tool.ruff]
line-length = 79
src = ["src", "tests"]
[tool.ruff.lint]
select = [
"E",
"F",
"W",
"C90",
"SIM",
"RUF",
"B",
"S",
"TCH",
]
[tool.ruff.format]
quote-style = "double"
[tool.mypy]
files = ["bot"]
strict = true
[tool.commitizen]
name = "cz_customize"
tag_format = "v$version"
version_provider = "uv"
version_scheme = "pep440"
update_changelog_on_bump = true
[tool.commitizen.customize]
message_template = "{{change_type}}{% if scope %}({{scope}}){% endif %}{% if breaking %}!{% endif %}: {{subject}}{% if body %}\n\n{{body}}{% endif %}{% if breaking %}\n\nBREAKING CHANGE: {{footer}}{% else %}\n\n{{footer}}{% endif %}"
bump_pattern = "^(BREAKING[\\-\\ ]CHANGE|feat|fix|refactor|perf|ci|docs|style|test|chore|revert|build)(\\(.+\\))?(!)?"
bump_message = "bump: version $current_version → $new_version"
schema = "<type>(<scope>): <subject>\n<BLANK LINE>\n<body>\n<BLANK LINE>\n(BREAKING CHANGE: )<footer>"
schema_pattern = "(?s)(feat|fix|refactor|chore|style|test|docs|build|ci|revert|bump)(\\(\\S+\\))?!?:( [^\\n\\r]+)((\\n\\n.*)|(\\s*))?$"
commit_parser = "^(?P<change_type>BREAKING CHANGE|feat|fix|refactor|chore|style|test|docs|build|ci|revert)(?:\\((?P<scope>[^()\\r\\n]*)\\)|\\()?(?P<breaking>!)?:\\s(?P<message>.*)?"
version_parser = "(?P<version>([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z-]+)?(\\w+)?)"
changelog_pattern = "^(BREAKING[\\-\\ ]CHANGE|feat|fix|refactor|chore|style|test|docs|build|ci|revert)(\\(.+\\))?(!)?"
change_type_order = [
"BREAKING CHANGE",
"Features",
"Bug Fixes",
"Code Refactoring",
"Maintenance",
"Styling",
"Tests",
"Documentation",
"Build System",
"Continuous Integration",
]
[tool.commitizen.customize.bump_map]
"^.!" = "MAJOR"
"^feat" = "MINOR"
"^(fix|refactor|chore|style|test|docs|build|ci|revert)" = "PATCH"
[tool.commitizen.customize.change_type_map]
feat = "Features"
fix = "Bug Fixes"
refactor = "Code Refactoring"
chore = "Maintenance"
style = "Styling"
test = "Tests"
docs = "Documentation"
build = "Build System"
ci = "Continuous Integration"
revert = "Reverts"
[[tool.commitizen.customize.questions]]
type = "list"
name = "change_type"
message = "Select the type of change you are committing"
choices = [
{ value = "fix", name = "fix: A bug fix. Correlates with PATCH in SemVer" },
{ value = "feat", name = "feat: A new feature. Correlates with MINOR in SemVer" },
{ value = "refactor", name = "refactor: A code change that neither fixes a bug nor adds a feature" },
{ value = "chore", name = "chore: Other changes that don't modify src or test files" },
{ value = "style", name = "style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)" },
{ value = "test", name = "test: Adding missing or correcting existing tests" },
{ value = "docs", name = "docs: Documentation only changes" },
{ value = "build", name = "build: Changes that affect the build system or external dependencies (example scopes: pip, docker, npm)" },
{ value = "ci", name = "ci: Changes to CI configuration files and scripts (example scopes: GitLabCI)" }
]
[[tool.commitizen.customize.questions]]
type = "input"
name = "scope"
message = "What is the scope of this change? (class or file name): (press [enter] to skip)"
[[tool.commitizen.customize.questions]]
type = "input"
name = "subject"
message = "Write a short and imperative summary of the code changes: (lower case and no period)"
[[tool.commitizen.customize.questions]]
type = "input"
name = "body"
message = "Provide additional contextual information about the code changes:"
[[tool.commitizen.customize.questions]]
type = "confirm"
name = "breaking"
message = "Is this a BREAKING CHANGE? Correlates with MAJOR in SemVer"
default = false
[[tool.commitizen.customize.questions]]
type = "input"
name = "footer"
message = "Footer. Information about Breaking Changes and reference issues that this commit closes: (press [enter] to skip)"