This repository has been archived by the owner on Oct 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
137 lines (118 loc) · 3.56 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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "salesforce-functions"
description = "Python support for Salesforce Functions"
keywords = ["functions", "salesforce"]
readme = "README.md"
license = "BSD-3-Clause"
dynamic = ["version"]
requires-python = ">=3.10"
classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation :: CPython",
]
# httptools and uvloop are optional uvicorn dependencies that improve performance.
dependencies = [
"aiohttp>=3.8.3,<4",
"httptools>=0.5.0,<0.6",
"orjson>=3.8.5,<4",
"python-dateutil>=2.8.2,<3; python_version < '3.11'",
"starlette>=0.28.0,<0.29",
"structlog>=23.1.0,<24",
"tomli>=2.0.1,<3; python_version < '3.11'",
"uvicorn>=0.22.0,<0.23",
"uvloop>=0.17.0,<0.18; sys_platform != 'win32' and sys_platform != 'cygwin'",
]
[project.optional-dependencies]
development = [
"black==23.3.0",
"coverage-conditional-plugin==0.9.0",
"flake8==6.0.0",
"isort[colors]==5.12.0",
# httpx is required for starlette's `TestClient`.
"httpx==0.24.1",
"mypy==1.4.1",
"pylint==2.17.4",
"pytest==7.4.0",
"pytest-asyncio==0.21.0",
"pytest-cov==4.1.0",
]
[project.scripts]
sf-functions-python = "salesforce_functions._internal.cli:main"
[project.urls]
Changelog = "https://github.com/heroku/sf-functions-python/blob/main/CHANGELOG.md"
Source = "https://github.com/heroku/sf-functions-python"
[tool.hatch.build]
packages = ["salesforce_functions"]
[tool.hatch.envs.default]
features = [
"development",
]
[tool.hatch.version]
path = "salesforce_functions/__version__.py"
[tool.black]
extend-exclude = "(tests/fixtures/invalid_syntax_error/main.py)"
[tool.coverage.coverage_conditional_plugin.rules]
# We're using the `no-cover-` rule name prefixes since the default pragma syntax isn't intuitive:
# https://github.com/wemake-services/coverage-conditional-plugin/issues/188
no-cover-python-gte-311 = "sys_version_info >= (3, 11)"
no-cover-python-lt-311 = "sys_version_info < (3, 11)"
[tool.coverage.run]
branch = true
plugins = ["coverage_conditional_plugin"]
source = ["salesforce_functions"]
[tool.mypy]
exclude = ["^tests/fixtures/invalid_syntax_error/main.py$"]
packages = ["salesforce_functions", "tests"]
pretty = true
strict = true
[tool.isort]
profile = "black"
[tool.pylint.main]
ignore-paths = ["^tests/fixtures/invalid_syntax_error/main.py$"]
[tool.pylint.basic]
# Variable names that should always be accepted, regardless of the `invalid-name` rule's regex.
good-names = ["_", "e", "id"]
include-naming-hint = true
[tool.pylint.format]
max-line-length = 120
[tool.pylint."messages control"]
disable = [
"fixme",
"missing-class-docstring",
"missing-function-docstring",
"missing-module-docstring",
# `no-member` has false positives with orjson
"no-member",
]
enable = [
"useless-suppression",
]
[tool.pylint.reports]
output-format = "colorized"
[tool.pyright]
exclude = ["tests/fixtures/invalid_syntax_error/main.py"]
include = ["salesforce_functions", "tests"]
pythonPlatform = "All"
typeCheckingMode = "strict"
[tool.pytest.ini_options]
addopts = [
"--cov",
"--cov-report=term-missing",
"--import-mode=importlib",
"--no-cov-on-fail",
"--strict-markers",
"-m not requires_wiremock",
]
asyncio_mode = "auto"
filterwarnings = [
"error",
]
markers = [
"requires_wiremock: marks tests that require a running wiremock process (deselect with '-m \"not requires_wiremock\"')",
]
testpaths = ["tests"]
xfail_strict = true