Files
KomConfig/pyproject.toml
WorldTeacher bb3b922325 refactor: rework configuration models, add CLI, tests and VSCode settings
- Replace hardcoded CONFIG_PATH with appdirs AppDirs (use app.user_config_dir) and update SETTINGS_PATH
- Rework dataclasses: add Library, QbitTorrent; convert Komga.libraries to List[Library]; use Path for media_path; add getLibraryByName and proper __post_init__ conversions
- Extend KomGrabber to support downloader/downloader_settings (aria2/qbit), normalize Path handling and expanduser usage
- Add type fixes, utility methods (getattr/_setattr) and API __post_init__ to convert nested dicts to dataclass instances
- Add package CLI entrypoints (__main__.py, src package main) and simple runner (main.py)
- Add tests for package __init__ CLI and config behavior (tests/*) and a small test script (test.py)
- Add .vscode/settings.json for pytest integration
- Tidy pyproject.toml: format dependencies, add dev/test dependency groups and fix trailing newline in bumpversion section
2025-11-01 22:17:50 +01:00

47 lines
1.1 KiB
TOML

[project]
name = "komconfig"
version = "0.2.0"
description = "A small library providing a config class that provides settings data for the KomSuite"
readme = "README.md"
authors = [{ name = "WorldTeacher", email = "coding_contact@pm.me" }]
requires-python = ">=3.13"
dependencies = [
"appdirs>=1.4.4",
"omegaconf>=2.3.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[dependency-groups]
dev = [
"pip>=25.1.1",
]
test = [
"pytest>=8.3.4",
"pytest-cov>=6.1.1",
]
[tool.bumpversion]
current_version = "0.2.0"
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
serialize = ["{major}.{minor}.{patch}"]
search = "{current_version}"
replace = "{new_version}"
regex = false
ignore_missing_version = false
ignore_missing_files = false
tag = true
sign_tags = false
tag_name = "v{new_version}"
tag_message = "Bump version: {current_version} → {new_version}"
allow_dirty = true
commit = true
message = "Bump version: {current_version} → {new_version}"
moveable_tags = []
commit_args = ""
setup_hooks = []
pre_commit_hooks = []
post_commit_hooks = []