forked from tomasvotava/tap-airtable
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
106 lines (90 loc) · 2.17 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
[tool.poetry]
name = "tap-airtable"
version = "0.1.0"
description = "tap-airtable is a Singer tap for Airtable, built with the Meltano SDK for Singer Taps."
authors = ["Tomas Votava"]
keywords = ["ELT", "Airtable"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/tomasvotava/tap-airtable"
repository = "https://github.com/tomasvotava/tap-airtable.git"
[tool.poetry.dependencies]
python = ">=3.9,<3.12"
singer-sdk = "*"
requests = "^2.31.0"
backoff = "^2.2.1"
python-slugify = "^8.0.4"
[tool.poetry.group.dev.dependencies]
mypy = "^1.10.0"
pytest = "^8.2.0"
ruff = "^0.4.4"
types-requests = "^2.31.0.20240406"
pre-commit = "^3.7.1"
pytest-cov = "^5.0.0"
types-python-slugify = "^8.0.2.20240310"
commitizen = "^3.26.0"
requests-mock = "^1.12.1"
[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$version"
version_scheme = "pep440"
version_provider = "poetry"
update_changelog_on_bump = true
major_version_zero = true
[build-system]
requires = ["poetry-core>=1.0.8"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
addopts = [
"-vv",
"--cov=tap_airtable",
"--cov-report=term-missing",
"--cov-report=xml",
"--cov-report=lcov",
]
# Singer SDK's deprecation warning
filterwarnings = [
"ignore:pkg_resources is deprecated as an API:DeprecationWarning",
"ignore:.*pkg_resources.declare_namespace.*:DeprecationWarning",
"ignore:jsonschema.RefResolver:DeprecationWarning",
"ignore:Importing Validator directly:DeprecationWarning",
]
[tool.poetry.scripts]
# CLI declaration
tap-airtable = 'tap_airtable.tap:TapAirtable.cli'
[tool.ruff]
target-version = "py39"
line-length = 120
[tool.ruff.lint]
select = [
#"D",
"E",
"F",
"B",
"I",
"N",
"UP",
"S",
"A",
"DTZ",
"PT",
"SIM",
"PTH",
"PD",
"RUF",
"T20",
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.isort]
known-first-party = ["tap_airtable"]
[tool.ruff.lint.per-file-ignores]
"tests/**" = [
"S101", # allow asserts in tests
"RUF018", # allow asserts with walrus in tests
]
[tool.mypy]
strict = true
[[tool.mypy.overrides]]
module = ["singer_sdk.*"]
ignore_missing_imports = true