Suggesting changes to the code
Suggestions for improvements are very welcome. Please use the GitHub issue tracker or submit a pull request!
Pull request
To set up an environment for developing and submitting a pull request, you could:
Install pyenv
Install the python versions listed in .python_version with pyenv
- Install uv:
On Linux and macOS:
curl -LsSf https://astral.sh/uv/install.sh | shOn Windows (PowerShell):
(Invoke-WebRequest -Uri https://astral.sh/uv/install.sh -UseBasicParsing).Content | shUpdate your PATH to include uv’s installation directory: * Linux/macOS:
export PATH="$HOME/.cargo/bin:$PATH"* Windows: Add%USERPROFILE%\.cargo\binto your PATH
- On Windows, either:
Install Chocolatey and run
choco install makeOr install Git for Windows and use Git Bash (which includes
make)
- Then, from the root directory of this repository:
run
uv venvto create a virtual environment. If you are not able to install the exact Python versions listed in .python_version, you can useuv venv --python=<python-version>to specify a different Python interpreter.run
`source .venv/bin/activate`on Linux/macOS or.venv\Scripts\activateon Windows to activate the virtual environment. Note that by installing into a virtual environment the icons will not be installed correctly on Linux, but this might not be a problem if you are developing the application.run
uv syncoruv sync --python=<python-version>to install the dependenciesrun
pre-commit install --hook-type pre-commitandpre-commit install --hook-type commit-msgto install the pre-commit hooksrun
make pre-committo run the pre-commit hooks on all filesrun
make testto run the test suiterun
make coverageto run unit tests and generate coverage report