-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
93 lines (80 loc) · 2.26 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
[project]
authors = [{ "name" = "Rafał Safin", "email" = "[email protected]" }]
description = "A tool for performing scheduled database backups and transferring encrypted data to secure clouds, for home labs, hobby projects, etc., in environments such as k8s, docker, vms."
dynamic = ["dependencies"]
license = "GNU GPLv3"
name = "ogion"
readme = "README.md"
requires-python = ">=3.13"
version = "7.3"
[tool.poetry]
package-mode = false
[tool.poetry.dependencies]
python = ">=3.13"
azure-identity = "^1.17.1"
azure-storage-blob = "^12.20.0"
croniter = "^6.0.0"
google-cloud-storage = "^2.18.2"
minio = "^7.2.13"
pydantic = "^2.10.4"
pydantic-settings = "^2.7.1"
[tool.poetry.group.dev.dependencies]
coverage = "^7.6.10"
markdown-include = "^0.8.1"
mike = "^2.1.3"
mkdocs = "^1.6.1"
mkdocs-material = "^9.5.49"
mkdocstrings = { extras = ["python"], version = "^0.27.0" }
mypy = "^1.14.1"
pre-commit = "^4.0.1"
pymdown-extensions = "^10.13"
pyyaml = "^6.0.2"
requests = "^2.32.3"
ruff = "^0.8.4"
types-croniter = "^5.0.1.20241205"
types-google-cloud-ndb = "^2.3.0.20240813"
types-pyyaml = "^6.0.12.20241230"
types-requests = "^2.32.0.20240907"
[tool.poetry.group.tests.dependencies]
freezegun = "^1.5.1"
pytest = "^8.3.2"
pytest-cov = "^6.0.0"
pytest-env = "^1.1.4"
pytest-xdist = "^3.6.1"
python-dotenv = "^1.0.1"
responses = "^0.25.0"
[tool.pytest.ini_options]
addopts = "-v --cov --cov-report term-missing --cov-fail-under 100 -n auto"
env = [
"AGE_RECIPIENTS=",
"BACKUP_MAX_NUMBER=1",
"BACKUP_PROVIDER=",
"FAKE_GCS_PORT=4443",
"LOG_FOLDER_PATH=/tmp/pytest_ogion_env_vars_hook_logs_folder",
"STORAGE_EMULATOR_HOST=http://localhost:4443",
"SUBPROCESS_TIMEOUT_SECS=5",
]
filterwarnings = []
[tool.pyright]
reportImplicitOverride = true
[tool.ruff]
target-version = "py313"
[tool.ruff.lint]
# pycodestyle, pyflakes, isort, pylint, pyupgrade
ignore = ["PLR0913"]
select = ["E", "F", "I", "PL", "UP", "W"]
[tool.coverage.run]
omit = ["ogion/tools/*"]
source = ["ogion"]
[tool.mypy]
enable_error_code = "explicit-override"
ignore_missing_imports = true
python_version = "3.13"
strict = true
[project.scripts]
ogion = "ogion.main:main"
[tool.poetry.requires-plugins]
poetry-plugin-export = ">=1.9.0"
[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core>=2.0.0"]