[project] name = "thechart" version = "1.7.3" description = "Chart to monitor your medication intake over time." readme = "README.md" requires-python = ">=3.13" dependencies = [ "colorlog>=6.9.0", "dotenv>=0.9.9", "matplotlib>=3.10.3", "pandas>=2.3.1", "tk>=0.1.0", ] [dependency-groups] dev = [ "pre-commit>=4.2.0", "pyinstaller>=6.14.2", "ruff>=0.12.5", "pytest>=8.0.0", "pytest-cov>=4.0.0", "pytest-mock>=3.12.0", "coverage>=7.3.0", ] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py", "*_test.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = [ "--verbose", "--cov=src", "--cov-report=term-missing", "--cov-report=html:htmlcov", "--cov-report=xml", ] minversion = "8.0" [tool.coverage.run] source = ["src"] omit = ["tests/*", "*/test_*", "*/__pycache__/*", ".venv/*"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "if settings.DEBUG", "raise AssertionError", "raise NotImplementedError", "if 0:", "if __name__ == .__main__.:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod", ] [tool.ruff] target-version = "py313" # Target Python 3.13 exclude = [ ".csv", ".log", ".md", ".pyc", ".pyo", ".pyd", ".pkl", ".sqlite3", ".git", ".github", ".idea", ".vscode/*", ".pytest_cache", ".mypy_cache", ".ruff_cache", ".tox", ".venv/*", "tests/*", ] [tool.ruff.lint] select = [ # pycodestyle "E", # Pyflakes "F", # pyupgrade "UP", # flake8-bugbear "B", # flake8-simplify "SIM", # isort "I", ] [tool.ruff.format] docstring-code-format = true quote-style = "double" # Use double quotes for strings (like Black) indent-style = "space" # Use spaces for indentation [tool.ruff.lint.pycodestyle] max-line-length = 88