ss-python
ss-python copied to clipboard
Manage dev-dependencies better.
As discussed in #460
A brief summarization
- Standalone tools managed by pipx
- copier
- pdm
- pre-commit
- toml-sort
- ruff
- codespell
- check-jsonschema
- 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)
- 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
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
: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: