Development Guidelines
Reporting issues
If you find a bug or want to suggest a new feature, please report it on the GitHub issues page.
Before you report an issue, please check if it can still be reproduced with the latest version of this software.
For bug reports, please include the following information:
A description of the bug
The expected behavior
The actual behavior
Steps to reproduce the bug (preferably with a minimal example)
Any relevant error messages or stack traces
Deploying a development environment
Clone this repository with git:
git clone git@github.com:crusaderky/ndcsv.git
cd ndcsv
To keep a fork in sync with the upstream source:
cd ndcsv
git remote add upstream git@github.com:crusaderky/ndcsv.git
git remote -v
git fetch -a upstream
git checkout main
git pull upstream main
git push origin main
Test
Test using pixi:
pixi run tests
Test with coverage:
pixi run coverage
Test with coverage and open HTML report in your browser:
pixi run open-coverage
Code Formatting
This project uses several code linters (ruff, mypy, etc.), which are enforced by CI. Developers should run them locally before they submit a PR, through the single command
pixi run lint
Optionally, you may wish to run the linters automatically every time you make a git commit. This can be done by running:
pixi run install-git-hooks
Now the code linters will be run each time you commit changes.
You can skip these checks with git commit --no-verify or with
the short version git commit -n.
Documentation
Build the documentation in build/html using pixi:
pixi run docs
Build the documentation and open it in your browser:
pixi run open-docs