-
Notifications
You must be signed in to change notification settings - Fork 5
/
pyproject.toml
127 lines (110 loc) · 3.13 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
[tool.poetry]
name = "cfn-lsp-extra"
version = "0.7.0"
description = "Cfn Lsp Extra"
authors = ["Laurence Warne <[email protected]>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/laurencewarne/cfn-lsp-extra"
repository = "https://github.com/laurencewarne/cfn-lsp-extra"
classifiers = ["Topic :: Software Development"]
[tool.poetry.urls]
Changelog = "https://github.com/laurencewarne/cfn-lsp-extra/releases"
[tool.poetry.dependencies]
python = "^3.8"
click = "^8.1.3"
cfn-lint = "^1.10.3"
pygls = "^1.3.1" # pygls = { path = "../pygls/", develop = false }
PyYAML = "^6.0.1"
types-PyYAML = "^6.0.1"
platformdirs = "^4.2.0"
attrs = "^24.2"
importlib_resources = "^6.0"
# Need to pin a version otherwise 'poetry update' goes crazy
aws-sam-translator = "^1.91.0"
# Optional: https://python-poetry.org/docs/pyproject/#extras
lxml = { version = "^5.2.1", optional = true }
markdownify = { version = "^0.12.1", optional = true }
beautifulsoup4 = { version = "^4.12.3", optional = true }
types-beautifulsoup4 = { version = "^4.12.0", optional = true }
requests = { version = "^2.32.3", optional = true }
types-requests = { version = "^2", optional = true }
[tool.poetry.dev-dependencies]
coverage = {extras = ["toml"], version = ">=6.2"}
ruff = "^0.5.0"
mypy = "^1.10.1"
pytest = "^8.2.2"
pytest-asyncio = "^0.23.7"
pytest-mock = "^3.14"
# https://github.com/swyddfa/lsp-devtools
pytest-lsp = "^0.4.2" #pytest-lsp = { path = "../lsp-devtools/lib/pytest-lsp/"}
python-lsp-server = "^1.11.0"
pylsp-mypy = "^0.6.8"
python-lsp-ruff = "^2.2.1"
nox = "^2024.4.15"
[tool.poetry.extras]
parse = [
"lxml",
"markdownify",
"beautifulsoup4",
"types-beautifulsoup4",
"requests",
"types-requests"
]
[tool.poetry.scripts]
cfn-lsp-extra = "cfn_lsp_extra.__main__:main"
[tool.coverage.paths]
source = ["cfn_lsp_extra", "*/site-packages"]
tests = ["tests", "*/tests"]
[tool.coverage.run]
branch = true
source = ["cfn_lsp_extra"]
omit = ["cfn_lsp_extra/scrape/*", "cfn_lsp_extra/server.py", "cfn_lsp_extra/__main__.py"]
[tool.coverage.report]
show_missing = true
fail_under = 80
[tool.mypy]
strict = true
warn_unreachable = true
pretty = true
show_column_numbers = true
show_error_codes = true
show_error_context = true
[[tool.mypy.overrides]]
module = "cfnlint.*"
ignore_missing_imports = true
[tool.pytest.ini_options]
asyncio_mode = "auto"
markers = ["integration: mark the test as an integration test"]
[tool.ruff]
exclude = [
"tests", # MAYBE shouldn't be excluding this
"bin"
]
[tool.ruff.lint]
select = [
"F", # Pyflakes
"E", # Pycodestyle
"W", # Pycodestyle
"I", # isort
"N", # PEP8 naming
"B", # flake8-bugbear
"PIE", # flake8-pie
"SIM", # flake8-simplify
"Q", # flake8-quotes
"RET", # flake8-return
"A", # flake8-builtins
]
ignore = [
# "W503", # line break before binary operator
"E203", # whitespace before ':'
"E501", # line too long
"E731", # do not assign a lambda expression, use a def
# "E704" # multiple statements on one line (def)
]
exclude = [
"tests"
]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"