From 34dcab41fb79c751c1ef1b1d9641eda9bb93b5d1 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 4 Nov 2026 16:15:11 +0000 Subject: [PATCH] Compute the OS and Python classifiers at build time Move the static classifiers to [tool.pymodaq], declare classifiers as dynamic and require pymodaq_utils>=5.3.6 to build. Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg --- pyproject.toml | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cdc1918..7e49cbd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,32 +32,16 @@ maintainers = [ # nottodo: leave everything below as is! -dynamic = ["version", "urls", "entry-points"] +dynamic = ["version", "urls", "entry-points", "classifiers"] readme = "README.rst" license = { file="LICENSE" } requires-python = ">=3.8" -classifiers = [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Topic :: Scientific/Engineering :: Human Machine Interfaces", - "Topic :: Scientific/Engineering :: Visualization", - "Topic :: Software Development :: Libraries :: Python Modules", - "Topic :: Software Development :: User Interfaces", -] - [build-system] requires = [ "hatchling>=1.9.0", "hatch-vcs", "toml", - "pymodaq_utils>=0.0.6", + "pymodaq_utils>=5.3.6", ] build-backend = "hatchling.build" @@ -66,3 +50,17 @@ build-backend = "hatchling.build" [tool.hatch.version] source = "vcs" +[tool.pymodaq] +# the "Operating System" and "Programming Language :: Python :: 3.x" classifiers are added when building the package, +# from supported_platforms in your instrument plugins and from requires-python +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Topic :: Scientific/Engineering :: Human Machine Interfaces", + "Topic :: Scientific/Engineering :: Visualization", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Software Development :: User Interfaces", +] +