ss-python icon indicating copy to clipboard operation
ss-python copied to clipboard

Manage dev-dependencies better.

Open huxuan opened this issue 1 year ago • 1 comments

As discussed in #460

A brief summarization

  1. Standalone tools managed by pipx
    • copier
    • pdm
    • pre-commit
    • toml-sort
    • ruff
    • codespell
    • check-jsonschema
  2. Semi-dependent tools included in dev-dependencies but locked with a different lock file
    • mypy (needs installation of prod dependencies for type checking)
    • sphinx and the whole doc group (needs installation of the project to extract version)
  3. Fully dependent tools included in dev-dependencies and locked with the main pdm.lock
    • pytest and the whole test group

Task list

  • [ ] Docs update for install standalone tools with pipx
  • [ ] Separated lock files for sphinx and mypy
  • [ ] pdm related pre-commit hooks
  • [ ] Makefile
  • [ ] CI/CD
  • [ ] Docs for Development Environment
  • [ ] Add codespell

huxuan avatar Apr 11 '24 11:04 huxuan

I suddenly realize that the doc group is a superset of lint and test group since we need mypy and coverage report when generating documentation. So it seems that we only need two lockfiles, one is the default pdm.lock but only for production (pdm lock --prod), and the other is for dev which can be named as pdm.dev.lock (pdm lock --no-default --lockfile pdm.dev.lock). WDYT? @msclock

huxuan avatar Jul 06 '24 08:07 huxuan

:tada: This issue has been resolved in version 0.0.56 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket:

serious-scaffold[bot] avatar Nov 17 '24 03:11 serious-scaffold[bot]