-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
120 lines (109 loc) · 3.22 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
113
114
115
116
117
118
119
120
[project]
name = "unicode-api"
version = "0.1.0"
description = "API that provides access to detailed information for all characters, blocks and planes in the Unicode Standard (Built using FastAPI)."
readme = "README.md"
requires-python = ">=3.12"
license = {file = "LICENSE"}
authors = [
{name = "Aaron Luna", email = "[email protected]"}
]
keywords = ["unicode", "unicode-api"]
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[tool.black]
line-length = 120
target-version = ['py312']
include = '\.pyi?$'
exclude = '''
/(
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.pytest_cache
| \.tox
| \.vscode
| __pycache__
| _build
| buck-out
| build
| dist
| venv
)/
'''
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = ["B", "C4", "C90", "E", "ERA", "F", "FA", "I", "INT", "N", "PERF", "PGH", "PIE", "PLE", "PLW", "PTH", "RUF100", "SIM", "UP", "W", "YTT"]
extend-select = ["I"]
ignore = ["B019", "B905"]
fixable = ["I"]
unfixable = ["B", "C90", "PIE", "SIM"]
[tool.ruff.lint.per-file-ignores]
"app/api/api_v1/dependencies.py" = ["E501"]
"app/docs/dependencies/custom_parameters.py" = ["E501"]
"app/docs/dependencies/filter_tables.py" = ["E501"]
"app/docs/api_docs/readme.py" = ["E501"]
"app/docs/api_docs/swagger_ui.py" = ["E501"]
"app/data/scripts/update_test_data/update_test_list_all_unicode_blocks.py" = ["E501"]
"app/tests/test_block_endpoints/test_get_unicode_block_details/data.py" = ["E501"]
"app/tests/test_block_endpoints/test_list_all_unicode_blocks/data.py" = ["E501"]
"app/tests/test_character_endpoints/test_filter_unicode_characters/data.py" = ["E501"]
"app/tests/test_character_endpoints/test_list_all_unicode_characters/data.py" = ["E501"]
"app/tests/test_character_endpoints/test_search_unicode_characters_by_name/data.py" = ["E501"]
"app/tests/test_codepoint_endpoints/test_get_unicode_character_at_codepoint/data.py" = ["E501"]
"app/schemas/models/block.py" = ["F821"]
"app/schemas/models/character.py" = ["F821"]
"app/schemas/models/plane.py" = ["F821"]
[tool.isort]
profile = "black"
ensure_newline_before_comments = true
skip_gitignore = true
line_length = 120
multi_line_output = 3
use_parentheses = true
include_trailing_comma = true
force_alphabetical_sort_within_sections = true
color_output = true
[tool.pytest.ini_options]
addopts = "-ra --showlocals --cov=app --cov-report term:skip-covered --cov-branch --cov-report html -vv --cache-clear --random-order-bucket=package"
norecursedirs = [
".git",
".pytest_cache",
".vscode",
]
[tool.coverage.run]
omit = [
"app/cli.py",
"app/config/dotenv_file.py",
"app/core/config/config.py",
"app/core/logging.py",
"app/core/redis_client.py",
"app/core/result.py",
"app/core/util.py",
"app/data/scripts/*",
"app/data/util/*",
"app/docs/*",
"app/tests/*",
"app/main.py",
"app/tasks.py",
]
[tool.coverage.report]
skip_empty = true
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if self\\.debug",
"raise AssertionError",
"raise NotImplementedError",
"if 0:",
"if __name__ == .__main__.:",
"def init_redis",
"def init_unicode",
]
[tool.coverage.html]
directory = "coverage_html"
[tool.mypy]
python_version = "3.12"