Here are a few suggestions, doubling as a tracker for the implementation of said features.
Tracker
Code structure & content
Documentation
Code quality
Collaboration
Packaging
Automation
Implementations
Based on the pyOpenSci packaging guide, here are a few implementation suggestions
Code structure & content
src versus flat layout: src
- File format configuration (e.g.
.editorconfig):
root = true
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
[*.py]
indent_style = space
indent_size = 4
[*.md]
trim_trailing_whitespace = false
Documentation
- Badges
- "Written" documentation: Sphinx
- API reference: apidoc
- Publishing: GH pages
Code quality
- Formatter: Black
- Linter(s): Ruff 👼
- Type checker: mypy
- Tests: pytest, coverage.py
Collaboration
- Licensing: MIT, BSD3?
- CoC
- Contributing guide
Packaging
- Versionning
- Building: PDM
- Publishing: PyPI, conda-forge, both?
Automation
- Setting up CI: GH actions
- Running everything locally: tox, nox, PDM?
Feel free to comment / change items 🐈⬛
Here are a few suggestions, doubling as a tracker for the implementation of said features.
Tracker
Code structure & content
srcversus flat layout, see Code: Create a small module that does something simple #2.editorconfig)Documentation
Code quality
Collaboration
Packaging
Automation
Implementations
Based on the pyOpenSci packaging guide, here are a few implementation suggestions
Code structure & content
srcversus flat layout: src.editorconfig):Documentation
Code quality
Collaboration
Packaging
Automation
Feel free to comment / change items 🐈⬛