110 lines
2.6 KiB
TOML
110 lines
2.6 KiB
TOML
[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", "icons/*.png"]
|
|
|
|
# Desktop integration files (for Linux)
|
|
# Note: The .desktop file should be installed to ~/.local/share/applications or /usr/share/applications
|
|
# The icon should be installed to appropriate icon theme directories
|
|
|
|
[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
|