-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpyproject.toml
101 lines (83 loc) · 2.92 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
[tool.poetry]
name = "meatie"
version = "0.1.7"
description = "Meatie is a Python typed REST client library that eliminates the need for boilerplate code when integrating with external APIs. The library generates code for calling a REST API based on method signatures annotated with type hints. Meatie abstracts away mechanics related to HTTP communication, such as building URLs, encoding query parameters, parsing, and dumping Pydantic models. With some modest additional configuration effort, generated HTTP clients offer rate limiting, retries, and caching."
authors = ["pmateusz <[email protected]>"]
readme = "README.md"
keywords = ["http-client", "api-client", "REST", "HTTP", "API", "requests", "httpx", "aiohttp", "pydantic", "asyncio", "type-hints"]
homepage = "https://github.com/pmateusz/meatie"
repository = "https://github.com/pmateusz/meatie"
license = "BSD-3-Clause"
include = ["pyproject.toml", "README.md", "LICENSE.md", "CHANGELOG.md"]
packages = [
{ include = "meatie", from = "src" },
{ include = "meatie_aiohttp", from = "src" },
{ include = "meatie_httpx", from = "src" },
{ include = "meatie_requests", from = "src" },
]
[tool.poetry.dependencies]
python = ">=3.9"
typing-extensions = ">=4.7.0"
[tool.poetry.group.requests]
optional = true
[tool.poetry.group.requests.dependencies]
requests = ">=2.26.0"
[tool.poetry.group.httpx]
optional = true
[tool.poetry.group.httpx.dependencies]
httpx = ">=0.19.0"
[tool.poetry.group.aiohttp]
optional = true
[tool.poetry.group.aiohttp.dependencies]
aiohttp = ">=3.7.0"
[tool.poetry.group.test.dependencies]
coverage = ">=7.4.0"
pytest = ">=7.4.3"
pytest-asyncio = ">=0.23.2"
cryptography = ">=42.0.2"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
mypy = ">=1.11.0"
[tool.poetry.group.pydantic]
optional = true
[tool.poetry.group.pydantic.dependencies]
pydantic = ">=1.10.0"
[tool.pytest.ini_options]
log_cli = true
asyncio_default_fixture_loop_scope = "session"
pythonpath = ["src", "tests/shared"]
addopts = ["--import-mode=importlib"]
[tool.mypy]
mypy_path = ["$MYPY_CONFIG_FILE_DIR/src", "$MYPY_CONFIG_FILE_DIR/tests/shared"]
cache_dir = "./.mypy"
pretty = true
allow_empty_bodies = true
check_untyped_defs = true
disallow_any_generics = true
disallow_any_unimported = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
disallow_untyped_decorators = true
disallow_untyped_calls = true
explicit_package_bases = true
local_partial_types = true
no_warn_no_return = true
no_implicit_reexport = true
show_error_context = true
strict_equality = true
warn_unreachable = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
[tool.coverage.run]
branch = true
omit = ["src/meatie/aio/internal/adapter/pydantic_v1.py", "tests/*"]
[tool.coverage.report]
exclude_also = [
"class .*\\bProtocol\\):",
"\\.\\.\\."
]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"