-
Notifications
You must be signed in to change notification settings - Fork 2
/
pyproject.toml
120 lines (100 loc) · 3.4 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
# Copyright 2024 Canonical Ltd.
# See LICENSE file for licensing details.
# Testing tools configuration
[tool.coverage.run]
branch = true
[tool.coverage.report]
show_missing = true
[tool.pytest.ini_options]
minversion = "6.0"
log_cli_level = "INFO"
markers = ["unstable"]
# Formatting tools configuration
[tool.black]
line-length = 99
target-version = ["py310"]
[tool.isort]
profile = "black"
[tool.poetry]
# Charm is not packed as a standard Python package; this information is not used
name = "charm"
version = "1.0"
description = "opensearch-dashboards-operator"
authors = []
[tool.poetry.dependencies]
python = "^3.10"
tenacity = "^8.4.2"
pure-sasl = "^0.6.2"
cosl = "^0.0.12"
pydantic = "^1.10.17"
pyyaml = "^6.0.1"
# TODO: clean any of the notes below and their deps.
[tool.poetry.group.charm-libs.dependencies]
# data_platform_libs/v0/data_interfaces.py
ops = "^2.15.0"
poetry-core = "^1.9.0"
# tls_certificates_interface/v3/tls_certificates.py
cryptography = "^42.0.8"
jsonschema = "*"
# pinning to avoid: https://github.com/canonical/charmcraft/issues/1722
# We should unpin it once we have rustc 1.76+ available at build time
rpds-py = "<0.19"
# TODO: keep pydantic, but we may remove the "<2" need
# grafana_agent/v0/cos_agent.py requires pydantic <2
pydantic = "^1.10.17, <2"
# grafana_agent/v0/cos_agent.py
# bcrypt = "^4.1.3"
[tool.poetry.group.fmt]
optional = true
[tool.poetry.group.fmt.dependencies]
black = "^24.4.2"
isort = "^5.13.2"
[tool.poetry.group.lint]
optional = true
[tool.poetry.group.lint.dependencies]
black = "^24.4.2"
isort = "^5.13.2"
flake8 = "^7.0.0"
flake8-docstrings = "^1.7.0"
flake8-copyright = "^0.2.4"
flake8-builtins = "^2.5.0"
pyproject-flake8 = "^7.0.0"
pep8-naming = "^0.14.1"
codespell = "^2.2.6"
pyright = "^1.1.318"
typing-extensions = "^4.9.0"
requests = "^2.32.3"
ops = "^2.13.0"
[tool.poetry.group.unit]
optional = true
[tool.poetry.group.unit.dependencies]
pytest = "^8.2.2"
coverage = {extras = ["toml"], version = "^7.5.1"}
pytest-mock = "^3.11.1"
pyyaml = "^6.0.1"
responses = "^0.25.3"
[tool.poetry.group.integration.dependencies]
pytest = "^8.2.2"
# should not be updated unless https://github.com/juju/python-libjuju/issues/1093 is fixed
juju = "~3.5.0"
tenacity = "^8.4.2"
coverage = {extras = ["toml"], version = ">7.0"}
pytest-asyncio = "^0.21.2"
pytest-operator = ">0.20"
pytest-operator-cache = {git = "https://github.com/canonical/data-platform-workflows", tag = "v16.7.0", subdirectory = "python/pytest_plugins/pytest_operator_cache"}
pytest-operator-groups = {git = "https://github.com/canonical/data-platform-workflows", tag = "v16.7.0", subdirectory = "python/pytest_plugins/pytest_operator_groups"}
pytest-microceph = {git = "https://github.com/canonical/data-platform-workflows", tag = "v16.7.0", subdirectory = "python/pytest_plugins/microceph"}
pytest-github-secrets = {git = "https://github.com/canonical/data-platform-workflows", tag = "v16.7.0", subdirectory = "python/pytest_plugins/github_secrets"}
allure-pytest = "^2.13.5"
allure-pytest-collection-report = {git = "https://github.com/canonical/data-platform-workflows", tag = "v16.7.0", subdirectory = "python/pytest_plugins/allure_pytest_collection_report"}
[tool.pyright]
include = ["src"]
extraPaths = ["./lib"]
pythonVersion = "3.10"
pythonPlatform = "All"
typeCheckingMode = "basic"
reportIncompatibleMethodOverride = false
reportImportCycles = false
reportMissingModuleSource = true
reportMissingImports = false
stubPath = ""