mirror of
https://github.com/nqrduck/NQRduckumentation.git
synced 2025-01-02 21:38:09 +00:00
Updated development documentation.
This commit is contained in:
parent
bd758f7ec6
commit
33cb5d467e
3 changed files with 45 additions and 2 deletions
44
source/software_structure/development.md
Normal file
44
source/software_structure/development.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
# Development
|
||||
|
||||
This section describes the process of developing the NQRduck software.
|
||||
|
||||
## Style
|
||||
|
||||
Linting is done using [ruff](https://astral.sh/ruff) with the following configuration specified in the `pyproject.toml` file:
|
||||
|
||||
```toml
|
||||
[tool.ruff]
|
||||
exclude = [
|
||||
"widget.py",
|
||||
"base_spectrometer_widget.py",
|
||||
]
|
||||
|
||||
[tool.ruff.lint]
|
||||
extend-select = [
|
||||
"UP", # pyupgrade
|
||||
"D", # pydocstyle
|
||||
]
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"__init__.py" = ["F401"]
|
||||
|
||||
[tool.ruff.lint.pydocstyle]
|
||||
convention = "google"
|
||||
```
|
||||
|
||||
Run `ruff check` to lint the code, ideally in a pre-commit hook.
|
||||
|
||||
## Branching
|
||||
|
||||
The main branch is used for releases. Development is done on a development branch. Feature branches are created from the development branch and merged back into it. The development branch is merged into the main branch for releases. Releases are tagged with a version number starting with `v` (e.g. `v0.1.0`) and should follow [semantic versioning](https://semver.org/) (right now they don't).
|
||||
|
||||
## Testing
|
||||
|
||||
Testing is done using [pytest](https://docs.pytest.org/en/stable/). The tests are located in the `tests` directory and can be run using `pytest`.
|
||||
Right now the tests are not very extensive, but they are a good starting point for further development.
|
||||
|
||||
## Deployment
|
||||
|
||||
- The software is deployed via [PyPI](https://pypi.org/). Different modules are distributed as separate packages. The Action is run on a tag push to the main branch starting with `v` (e.g. `v0.1.0`).
|
||||
|
||||
- For Cython modules, `aarch64` and `x86_64` wheels are built using GitHub Actions. The wheels are deployed alongside the source distribution to PyPI.
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
modules
|
||||
communication
|
||||
style
|
||||
development
|
||||
```
|
||||
|
||||
## Introduction
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
# Style
|
Loading…
Reference in a new issue