Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python Template v3 Wishlist #25

Open
31 tasks
albireox opened this issue Jun 12, 2024 · 0 comments
Open
31 tasks

Python Template v3 Wishlist #25

albireox opened this issue Jun 12, 2024 · 0 comments
Assignees

Comments

@albireox
Copy link
Member

albireox commented Jun 12, 2024

  • 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants