Initial commit

This commit is contained in:
2026-02-06 23:52:26 +01:00
commit f1c539519e
14 changed files with 1320 additions and 0 deletions

77
pyproject.toml Normal file
View File

@@ -0,0 +1,77 @@
# Copyright 2026 Valentin Haudiquet
# See LICENSE file for licensing details.
[project]
name = "charmed-server"
version = "0.0.1"
requires-python = ">=3.10"
# Dependencies of the charm code
# You should include the dependencies of the code in src/. You should also include the
# dependencies of any charmlibs that the charm uses (copy the dependencies from PYDEPS).
dependencies = [
"charmlibs-apt>=1.0.0.post0",
"charmlibs-pathops>=1.2.1",
"ops>=3,<4",
]
[dependency-groups]
# Dependencies of linting and static type checks
lint = [
"ruff",
"codespell",
"pyright",
]
# Dependencies of unit tests
unit = [
"coverage[toml]",
"ops[testing]",
"pytest",
]
# Dependencies of integration tests
integration = [
"jubilant",
"pytest",
]
# 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"
# Linting tools configuration
[tool.ruff]
line-length = 99
lint.select = ["E", "W", "F", "C", "N", "D", "I001"]
lint.ignore = [
"D105",
"D107",
"D203",
"D204",
"D213",
"D215",
"D400",
"D404",
"D406",
"D407",
"D408",
"D409",
"D413",
]
lint.per-file-ignores = {"tests/*" = ["D100","D101","D102","D103","D104"]}
extend-exclude = ["__pycache__", "*.egg_info"]
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.codespell]
skip = "build,lib,venv,icon.svg,.tox,.git,.mypy_cache,.ruff_cache,.coverage"
[tool.pyright]
include = ["src", "tests"]