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

Add Maintainability Audit Checklist for Repos #14

Open
blink1073 opened this issue Nov 20, 2021 · 0 comments
Open

Add Maintainability Audit Checklist for Repos #14

blink1073 opened this issue Nov 20, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@blink1073
Copy link
Contributor

blink1073 commented Nov 20, 2021

Problem

It is hard to standardize best practices for the large number of Jupyter repos.

Proposed Solution

Add maintainability audit checklist to maintainer-tools

  • Point to example implementation PRs and current config files as appropriate
  • Advise annual audit for updated list and current best practices - upgrade version tags, etc.

Ideas to include:

  • Use Jupyter Releaser
  • Triage Label enforcement
  • Use "Base Setup" GitHub Action
  • Cron job for daily builds
  • Precommit setup
    • Add minimal pre-commit file without auto-formatters
    • Enable and run the auto-formatters as a separate commit
    • Merge the PR
    • Add a new PR that adds the .git-blame-ignore-revs file
    • Add a new PR for flake8 and/or eslint
    • Run autoformatters on backport branches to make backporting easier
  • ReadTheDocs setup with PR builds
  • Pydata theme with MyST
  • Example binder and PR commenter using a workflow or jupyterlab-probot config
  • 4 kinds of docs
  • Coverage shown on PRs
  • Coverage thresholds enforced in pytest
  • Tests for downstream libraries
  • CI job minimum dependency versions
  • CI job against prerelease dependency versions
  • Test with warnings as errors
  • Test with warnings as errors in docs
  • No upper version constraints on dependencies
  • Include tests in sdist but not wheel - tests should be at the top level of the repo and excluded when using find_packages
  • Run the test suite on the conda-forge recipe
  • Run pre-commit autoupdate or use pre-commit.ci
  • Add .github/dependabot.yml file with weekly updates
  • Consider adding mypy - copy pip config, add py.typed file
  • Use dev requirements for anything that isn't strictly required to run tests, e.g. pre-commit, and recommend using pip install -e ".[dev,test]"

Perhaps tie this to an annual update of supported Python versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant