-
Notifications
You must be signed in to change notification settings - Fork 4.3k
/
Copy pathpyproject.toml
82 lines (73 loc) · 2.27 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
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "pipelines"
version = "5.1.0"
description = "Packaged maintained by the connector operations team to perform CI for connectors' pipelines"
authors = ["Airbyte <contact@airbyte.io>"]
[tool.poetry.dependencies]
python = "~3.11"
dagger-io = "==0.13.3"
beartype = ">=0.18.2"
asyncer = "^0"
exceptiongroup = ">=1.2.0"
anyio = ">=4.2.0" # Required by Python 3.11
trio = ">=0.24.0" # Required by anyio
more-itertools = "^8.11.0"
docker = "^7"
semver = "^3"
airbyte-protocol-models = "*"
jinja2 = "^3.0.2"
requests = "^2.31"
airbyte-connectors-base-images = { path = "../base_images", develop = true }
connector-ops = { path = "../connector_ops", develop = true }
toml = "^0.10.2"
types-requests = "^2.31"
sentry-sdk = "^2.12.0"
segment-analytics-python = "^2.2.3"
pygit2 = "^1.13.1"
asyncclick = "^8.1.3.4"
certifi = ">=2024"
tomli = "^2.0.1"
tomli-w = "^1.0.0"
dpath = "^2.1.6"
xmltodict = "^0.13.0"
ruamel-yaml = "^0.18.6"
google-cloud-secret-manager = "^2.20.0"
google-auth = "^2.29.0"
pygithub = "^2.3.0"
pydash = "6.0.2"
python-slugify = ">=8.0.4"
deepdiff = "^7.0.1"
auto-merge = { path = "../auto_merge", develop = true }
[tool.poetry.group.dev.dependencies]
freezegun = "^1.2.2"
pytest-cov = "^4.1.0"
pyinstaller = "^6.1.0"
poethepoet = "^0.24.2"
pytest = "^8"
pytest-mock = "^3.10.0"
mypy = "^1.9"
ruff = "^0.5.0"
types-toml = "^0.10.8"
types-requests = "^2.31"
types-xmltodict = "^0.13.0"
types-pyyaml = "^6.0.12.20240311"
[tool.poetry.scripts]
airbyte-ci = "pipelines.cli.airbyte_ci:airbyte_ci"
airbyte-ci-dev = "pipelines.cli.airbyte_ci:airbyte_ci"
[tool.poe.tasks.build-release-binary]
shell = "pyinstaller --additional-hooks-dir=pyinstaller_hooks --collect-all pipelines --collect-all beartype --collect-all dagger --hidden-import strawberry --name $ARTIFACT_NAME --onefile pipelines/cli/airbyte_ci.py"
args = [{ name = "ARTIFACT_NAME", default = "airbyte-ci", positional = true }]
[tool.poe.tasks]
test = "pytest tests -m 'not flaky'"
type_check = "mypy pipelines --disallow-untyped-defs"
lint = "ruff check pipelines"
[tool.airbyte_ci]
python_versions = ["3.11"]
optional_poetry_groups = ["dev"]
poe_tasks = ["type_check", "test"]
mount_docker_socket = true
[tool.ruff]
ignore = ["ANN401"]