Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.22 KB

File metadata and controls

69 lines (51 loc) · 2.22 KB

Development Guide

This document provides guidelines and instructions for setting up and contributing to the NOVA Common project.

Starting from the template

  • Add other Python dependencies you project need with Pixi add.
  • Modify Dockerfile as needed. Please make sure it can still run as non-root (we use it in GitHub Actions and in general this is a good practice).
  • install pre-commit (if not already installed) - pixi run pre-commit install
  • finally, clear the content of this section and add the description of your project. You can keep/adjust instructions below

Note 1: please don't change linter settings, license, code of conduct without discussing with the team first - we want to keep them the same for all our projects.

Note 2: if you think some changes that you've made might be useful for other projects as well, please fill free to create an issue in this repo

Installation

pixi install

Formatting

pixi run ruff format

Linting

pixi run ruff check
pixi run mypy .

Testing

pixi run pytest

or, with coverage

pixi run coverage run
pixi run coverage report

Updating project from template

This project was created from a template using copier. If the template has changed, you can try to update the project to incorporate these changes. Just enter the project folder, make sure git status shows it clean, and run:

copier update

See here for more information.

CI/CD in GitHub

Take a look at the .github/workflows folder. Actions to lint and test your code will run automatically on each commit. The action for building and releasing this package needs to be triggered manually.

Versioning

The "source of truth" for the version number is in the pyproject.toml file. It is used for Docker image tags, python package versioning, and automatic creation of git tags.