[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "pyphotoalbum" version = "0.1.0" description = "A Python application for designing photo albums and exporting them to PDF" readme = "README.md" requires-python = ">=3.9" license = {text = "MIT"} authors = [ {name = "pyPhotoAlbum Developer", email = "dev@pyphotoalbum.local"} ] keywords = ["photo", "album", "pdf", "pyqt6", "design"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: End Users/Desktop", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ] dependencies = [ "PyQt6>=6.0.0", "PyOpenGL>=3.1.0", "numpy>=1.20.0", "Pillow>=8.0.0", "reportlab>=3.5.0", "lxml>=4.6.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-qt>=4.2.0", "pytest-cov>=4.0.0", "pytest-mock>=3.10.0", "flake8>=5.0.0", "black>=22.0.0", "mypy>=0.990", ] [project.scripts] pyphotoalbum = "pyPhotoAlbum.main:main" [project.urls] Homepage = "https://github.com/yourusername/pyPhotoAlbum" Repository = "https://github.com/yourusername/pyPhotoAlbum" [tool.setuptools.packages.find] where = ["."] include = ["pyPhotoAlbum*"] [tool.setuptools.package-data] pyPhotoAlbum = ["templates/*.json"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --cov=pyPhotoAlbum --cov-report=html --cov-report=term-missing" filterwarnings = [ "ignore::DeprecationWarning", ] [tool.coverage.run] omit = ["tests/*", "venv/*", "*/site-packages/*"] source = ["pyPhotoAlbum"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "raise AssertionError", "raise NotImplementedError", "if __name__ == .__main__.:", "if TYPE_CHECKING:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod", ] [tool.black] line-length = 120 target-version = ['py39', 'py310', 'py311'] include = '\.pyi?$' exclude = ''' /( \.git | \.venv | venv | build | dist )/ ''' [tool.mypy] python_version = "3.9" warn_return_any = true warn_unused_configs = true ignore_missing_imports = true