Metadata-Version: 2.4
Name: python-median
Version: 1.1.19.dev14+g364e47bf2
Summary: Python Median Library
Home-page: https://gitlab.com/eco-dex/python-median
Author: Christophe CHAUVET
Author-email: c.chauvet@deenova.com
License: BSD-3-Clause
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.5
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

[![pipeline status](https://gitlab.com/eco-dex/python-median/badges/master/pipeline.svg)](https://gitlab.com/eco-dex/python-median/commits/master)

[![coverage report](https://gitlab.com/eco-dex/python-median/badges/master/coverage.svg)](https://gitlab.com/eco-dex/python-median/commits/master)

# Python Median

Librairie Python de gestion de Median


# Developpement

Cette bibliothèque utilise lefthook, pour ameliorer

- Vérifier la compatibilité pep8, eviter les pipeline en erreur

Installation de lefthook (si pas déja fait)

`winget install --id evilmartians.lefthook -e`

ensuite un test rapide

`lefthook run pre-commit`

Installer le hook de git

`lefhook install`

## Récupération du code

On commence par cloner le dépôt

`git clone https://gitlab.com/eco-dex/python-median.git`

### création d'un branche manuelle

puis ensuite on créer une branche

`git checkout -b "ma_nouvelle_branche"`

ensuite on pousse cette branche

`git push -u origin "ma_nouvelle_branche"`

## Mise à jour

Pour mettre à jour son code ou sa branche de développement depuis les dernières modifications de la branche master

```
git stash
git fetch origin
git rebase origin/master
git stash pop
```

ensuite on pousse les modifications en forçant sa branche

```
git push -f
```

## Développement avec UV

UV est le nouvelle oytils pour gérer du développement Python, il sait géré le packageing ainsi que les environnements virtuels.

### Installation

Pour l'installation, privilégié **Winget**

```shell
winget install --id=astral-sh.uv  -e
```

### Prérequis

Ajouter la variable d'environnement suivante au niveau système

* UV_ENV_FILE: **.env**  (elle indique a la commande uv run de charger ces variables d'environnement)

Redemarrer le PC poru qu'elle soit prise en compte

### Lancement de la migration

Pour lancer la migration après ajout de modèles, sur une base de données précise, il faut créer

```
uv run .\migrator-cli.py
```

## Installation VirtualEnv

Ancienne méthode, privilégié UV

```
pipenv install -d
pip install -e .
```

Ensuite la librairie est chargée en mode développement.

Chaque modification est instantanément pris en compte

## Validation en local

Pour valider le code, il faut lancer

```
flake8
```

Pour pour les tests et la couverture

```
uv run pytest -vv . --cov=median
```

Ou avec la génération du HTML de copte rendu

```
uv run pytest -vv . --cov=median --cov-report=html
```

