Skip to content

Python Template v3 Wishlist #25

@albireox

Description

@albireox
  • Remove travis?
  • Update RTD configuration file.
  • Always use pyproject.toml but contents will depend on whether the user selects poetry or setuptools.
  • Keep poetry as an option but if the user selects setuptools add a post-process step to create a lockfile using pip-tools. Document how to maintain the lockfile.
  • Update test GitHub workflow. Split test into linting and unittesting.
  • Add release GitHub workflow. Build wheels and source and push to PyPI. Document trusted publishers.
  • Add (optional?) workflow to build RTD.
  • Make default linter ruff. Add black to dev dependencies (maybe also darker, choose your own grayscale?)
  • Change Sphinx to furo. Remove other options.
  • Add Sphinx extensions: copy button, inline tabs, sphinx-autodoc-typehints, myst-parser.
  • Add CLI hook. If so, use click if so. Add documentation hook with sphinx-click.
  • Remove releases. Use markdown changelog.
  • (Maybe) create bash script to automate release, bump version, etc.
  • Add auto-refresh to sdsstools docs.build.
  • In sdsstools improve config merging using deepmerge
  • Check that the config file can be yml or yaml.
  • Add documentation to use rich handler in the logger.
  • Remove .pylintrc.
  • Add from __future__ import annotations.
  • Use type hinting in all files.
  • Make sure that docs API works with type hints.
  • Remove class example in tests.
  • Examples for mocking the SAS/download files in GitHub actions. Maybe a separate package?
  • Examples/fixtures for unittest mocking (mocking API calls, monkeypatching vs mocking, use of sdss_access in tests).
  • Remove top-level etc/, cextern, bin/ directory.
  • (Maybe) Rename python/ to src/.
  • Update coding standards to reflect new tools and procedures in the template.
  • Add section to coding standards about recommended editor (especially VSCode) settings, extensions (ruff, remote SSH, etc.)
  • Think about what SDSS dependencies (tree, access, datamodel) we want to include by default.
  • Talk about SDSS products (tree, access, datamodel) in the coding standards?
  • Update Sphinx index page.

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions