-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
87 lines (73 loc) 路 2.64 KB
/
Copy pathpyproject.toml
File metadata and controls
87 lines (73 loc) 路 2.64 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
[project]
name = "flat-api"
description = "The official Python client for the Flat API"
authors = [{ name = "Flat", email = "developers@flat.io" }]
license = "Apache-2.0"
license-files = ["LICENSE"]
readme = "README.md"
keywords = ["flat", "flat.io", "music", "notation", "openapi", "sheet-music"]
requires-python = ">=3.11"
# VERSION is the durable source of truth (rule 5): it sits outside the generated zone and
# tools/generate.sh writes it. Deriving the packaged version from it here is what keeps the tag,
# the file and the published artifact from ever disagreeing.
dynamic = ["version"]
dependencies = [
# Synchronous transport.
"urllib3 >=1.25.3, <3",
# Asynchronous transport, for AsyncFlatClient. flat_api.client imports it unconditionally,
# so it is a hard requirement rather than an extra.
"aiohttp >=3.9",
"aiohttp-retry >=2.8",
# flat_api.oauth, re-exported from the package root.
"httpx >=0.27",
"pydantic >=2",
"python-dateutil >=2.8.2",
"typing-extensions >=4.7.1",
]
[project.urls]
Homepage = "https://flat.io/developers/docs/api/"
Repository = "https://github.com/FlatIO/api-client-python"
Changelog = "https://github.com/FlatIO/api-client-python/blob/master/CHANGELOG.md"
[build-system]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[tool.setuptools.dynamic]
version = { file = "VERSION" }
[tool.setuptools.packages.find]
include = ["flat_api*"]
[tool.setuptools.package-data]
flat_api = ["py.typed"]
[tool.pylint.'MESSAGES CONTROL']
extension-pkg-whitelist = "pydantic"
[tool.mypy]
files = [
"flat_api",
#"test", # auto-generated tests
"tests", # hand-written tests
]
# TODO: enable "strict" once all these individual checks are passing
# strict = true
# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options
warn_unused_configs = true
warn_redundant_casts = true
warn_unused_ignores = true
## Getting these passing should be easy
strict_equality = true
strict_concatenate = true
## Strongly recommend enabling this one as soon as you can
check_untyped_defs = true
## These shouldn't be too much additional work, but may be tricky to
## get passing if you use a lot of untyped libraries
disallow_subclassing_any = true
disallow_untyped_decorators = true
disallow_any_generics = true
### These next few are various gradations of forcing use of type annotations
#disallow_untyped_calls = true
#disallow_incomplete_defs = true
#disallow_untyped_defs = true
#
### This one isn't too hard to get passing, but return on investment is lower
#no_implicit_reexport = true
#
### This one can be tricky to get passing if you use a lot of untyped libraries
#warn_return_any = true