-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
103 lines (86 loc) · 2.47 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
[tool.poetry]
name = "crypt4gh_recryptor_service"
version = "0.2.0"
description = ""
authors = ["Sveinung Gundersen <[email protected]>", "Morten Johansen <[email protected]>", "Pável Vázquez <[email protected]>"]
readme = "README.md"
packages = [{include = "crypt4gh_recryptor_service", from = "src"}]
[tool.poetry.scripts]
crypt4gh-recryptor-service = "crypt4gh_recryptor_service.main:app"
[tool.poetry.dependencies]
python = ">=3.8.1,<4.0"
fastapi = "<1"
uvicorn = {extras = ["standard"], version = "^0.22.0"}
crypt4gh-recryptor = {git = "https://github.com/elixir-europe/GalaxySensitiveData-IS_py-recryptor.git"}
typer = "^0.9.0"
httpx = "^0.24.1"
pydantic = "<2"
[tool.poetry.group.dev.dependencies]
flake8 = "^6.0.0"
isort = "^5.12.0"
flake8-quotes = "^3.3.2"
mypy = "^1.4.1"
toml = "^0.10.2"
yapf = "^0.40.1"
pre-commit = "^3.3.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.yapf]
based_on_style = "google"
align_closing_bracket_with_visual_indent = true
blank_line_before_nested_class_or_def = false
column_limit = 100
indent_dictionary_value = true
join_multiple_lines = true
split_all_comma_separated_values = false
split_all_top_level_comma_separated_values = true
split_before_expression_after_opening_paren = true
split_before_arithmetic_operator = true
[tool.isort]
profile = "google"
force_single_line = false
multi_line_output = 1
src_paths = ["src/omnipy", "tests"]
line_length = 100
[tool.mypy]
# Adapted from https://quantlane.com/blog/type-checking-large-codebase/
# General
python_version = "3.10"
mypy_path = "src:tests"
# Ensure full coverage
#disallow_untyped_calls = true
#disallow_untyped_defs = true
#disallow_incomplete_defs = true
#disallow_untyped_decorators = true
#check_untyped_defs = true
# Restrict dynamic typing
#disallow_any_generics = true
#disallow_subclassing_any = true
#warn_return_any = true
# Know exactly what you're doing
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
warn_unreachable = true
show_error_codes = true
# Explicit is better than implicit
no_implicit_optional = true
# Others
warn_no_return = false
show_column_numbers = true
error_summary = true
verbosity = 0
[[tool.mypy.overrides]]
module = "tests.*"
# pytest decorators are not typed
disallow_untyped_decorators = false
#[[tool.mypy.overrides]]
#module = "firstmodule.*"
#ignore_missing_imports = true
#follow_imports = 'silent'
[tool.pytest.ini_options]
addopts = "--tb=native"
testpaths = [
"tests",
]