Metadata-Version: 2.4
Name: certification-manager
Version: 1.0.0
Summary: The Certification Manager is a tool for managing the documents and compliance of aircraft certification.
Author-email: Daniel Hardt <daniel@daniel-hardt.de>
License-Expression: LGPL-3.0-only
Project-URL: Homepage, https://gitlab.com/clouddancer/certification-manager
Project-URL: Documentation, https://clouddancer.gitlab.io/certification-manager
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: lxml
Requires-Dist: jinja2
Requires-Dist: PySide6
Requires-Dist: PySide6-Addons
Requires-Dist: xsdata
Requires-Dist: numpy>=2
Provides-Extra: setup
Requires-Dist: build; extra == "setup"
Requires-Dist: setuptools>=77; extra == "setup"
Requires-Dist: setuptools_scm>=8; extra == "setup"
Requires-Dist: Cython; extra == "setup"
Requires-Dist: wheel; extra == "setup"
Requires-Dist: xsdata[cli]; extra == "setup"
Requires-Dist: pyinstaller; extra == "setup"
Requires-Dist: pyinstaller-hooks-contrib; extra == "setup"
Provides-Extra: doc
Requires-Dist: sphinx>=7.2; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
Provides-Extra: test
Requires-Dist: pre-commit; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-durations; extra == "test"
Requires-Dist: pytest-qt; extra == "test"
Requires-Dist: pytest-console-scripts; extra == "test"
Requires-Dist: pytest-datadir; extra == "test"
Requires-Dist: coverage; extra == "test"
Requires-Dist: xmldiff; extra == "test"
Dynamic: license-file

[![pipeline status](https://gitlab.com/clouddancer/certification-manager/badges/master/pipeline.svg)](https://gitlab.com/clouddancer/certification-manager/-/commits/master)
[![coverage report](https://gitlab.com/clouddancer/certification-manager/badges/master/coverage.svg)](https://gitlab.com/clouddancer/certification-manager/-/commits/master)

# README

This application is used to manage the certification process of small aircraft.

Tipps for silent crashes: https://stackoverflow.com/questions/11945183/what-are-good-practices-for-avoiding-crashes-hangs-in-pyqt

## Qt Installation in PyCharm

https://pythonpyqt.com/how-to-install-pyqt5-in-pycharm/

## Installation

Create Anaconda environment:

```bash
conda create -n certification_manager python=3.11
conda activate certification_manager
```

Installation via pip from a wheel file

```bash
pip install certification-manager-\*.whl
```

or from pypi.org:

```bash
pip install certification-manager
```

## Documentation

The documentation is [online](https://clouddancer.gitlab.io/certification-manager/) available.

## For Developer

The Python package [`setuptools`](https://setuptools.readthedocs.io/en/latest/) is used for the package creation and
installation of `certification_manager`.

For the development setup, create an Anaconda environment with

```bash
conda env create -f environment.yml
```

or update an existing environment

```bash
conda env update --file environment.yml
```

Then install `certification_manager` in editable mode

```bash
pip install -e .[setup,doc,test]
```

### Debugging

For debugging, coverage must be disabled when running the tests. For this, run pytest with the `--no-cov` option.

### Building the package

Building the source distribution:

```bash
python setup.py sdist
```

Building the wheel:

```bash
python setup.py bdist_wheel
```

### Building the Windows EXE

see .gitlab/issue_templates/version-bump.md

- Create fresh conda environment
- `pip install .[setup]`
- `cd pyinstaller`
- `build.bat`

### Building the Documentation

Building the Documentation (HTML docs):

```bash
python setup.py install
python setup.py build_sphinx
```

### Run Tests

Run all tests:

```bash
pytest
```
