3b9d1ef1a8
- Replace the Docker build/publish CI stages with ruff (lint + format check), ty (type check), pip-audit, and pytest run directly against python:3.11-slim; Docker remains for manual/server deployment only. - Swap black/pylint/mypy for ruff/ty across pyproject.toml, and fix every resulting lint, format, and type diagnostic in gallery/ and plotstyle/. - Fix tests broken/stale from before the package restructuring: wrong `utils.*` import paths, mock patch targets pointed at the wrong module, and PDF-conversion tests still assuming ImageMagick instead of the current PyMuPDF-first path. Drop test_container.py (obsolete Docker-container smoke tests, fully superseded elsewhere). - Add a plain-venv + systemd --user timer deployment path (deploy/systemd/) for HPC login nodes without a Docker daemon, where public_html is already served by existing infrastructure. - Document both in CLAUDE.md, including running CI's checks locally before committing. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
71 lines
1.7 KiB
TOML
71 lines
1.7 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=65.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "gallery"
|
|
version = "0.1.3"
|
|
description = "Scientific Gallery Generator - Create responsive HTML galleries from plot collections"
|
|
readme = "README.md"
|
|
requires-python = ">=3.8"
|
|
license = {text = "MIT"}
|
|
authors = [
|
|
{name = "K. Schmidt"},
|
|
]
|
|
keywords = [
|
|
"gallery",
|
|
"plots",
|
|
"scientific-computing",
|
|
"html-generation",
|
|
"pdf-to-png",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Science/Research",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Scientific/Engineering :: Visualization",
|
|
]
|
|
|
|
dependencies = [
|
|
"Jinja2>=3.0.0",
|
|
"PyYAML>=5.0",
|
|
"argcomplete>=3.0",
|
|
"platformdirs>=3.0",
|
|
"pymupdf>=1.23",
|
|
"pytest",
|
|
"textual>=0.50",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=7.0",
|
|
"ruff>=0.6",
|
|
"ty>=0.0.1",
|
|
"pip-audit>=2.7",
|
|
]
|
|
plotting = [
|
|
"matplotlib>=3.7",
|
|
]
|
|
|
|
[project.scripts]
|
|
gallery = "gallery.cli:main"
|
|
|
|
[tool.setuptools]
|
|
packages = ["gallery", "gallery.utils", "gallery.config", "plotstyle"]
|
|
package-data = {gallery = ["templates/*", "assets/css/*", "assets/js/*", "config/*"], plotstyle = ["assets/*.mplstyle"]}
|
|
include-package-data = true
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py38"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I"]
|