pyproject.toml specifies two types of dependency sets: "extras" and "groups." The first is specified by [project.optional-dependencies] (this is what we have now), and the second is specified by [dependency-groups]. Extras may be installed with the package-name[extra-name] syntax, while groups are not supposed to be user-facing, are not listed on PyPI, and may be installed with the --group flag.
I propose making "dev" a dependency group in the template and changing CI/setup scripts to use it this way. This will make the extras list cleaner.
https://packaging.python.org/en/latest/specifications/pyproject-toml/#dependencies-optional-dependencies
https://packaging.python.org/en/latest/specifications/dependency-groups/
LSDB at PyPI

pyproject.tomlspecifies two types of dependency sets: "extras" and "groups." The first is specified by[project.optional-dependencies](this is what we have now), and the second is specified by[dependency-groups]. Extras may be installed with thepackage-name[extra-name]syntax, while groups are not supposed to be user-facing, are not listed on PyPI, and may be installed with the--groupflag.I propose making "dev" a dependency group in the template and changing CI/setup scripts to use it this way. This will make the extras list cleaner.
https://packaging.python.org/en/latest/specifications/pyproject-toml/#dependencies-optional-dependencies
https://packaging.python.org/en/latest/specifications/dependency-groups/
LSDB at PyPI
