Metadata-Version: 2.1
Name: wedge-lib
Version: 3.1.8
Summary: Wedge library for django application
Home-page: https://github.com/Wedge-Digital/w
Author-email: francois.schneider@wedge-digital.com
License: MIT
Platform: UNKNOWN
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: arrow >=0.16
Requires-Dist: Django >=3.1
Requires-Dist: djangorestframework >=3.12.4
Requires-Dist: djangorestframework-api-key >=2.0.0
Requires-Dist: factory-boy >=3.0
Requires-Dist: openpyxl >=3.0
Requires-Dist: python-keycloak >=0.24.0
Requires-Dist: PyYAML >=5.3
Requires-Dist: requests >=2.24
Requires-Dist: serpy >=0.3
Requires-Dist: validators >=0.18
Requires-Dist: var-dump >=1.2
Requires-Dist: WeasyPrint >=52.5
Requires-Dist: pyzstd >=0.15.0
Requires-Dist: cryptography >=36.0.2
Requires-Dist: pandas >=1.4.2
Requires-Dist: mergedeep >=1.3.4
Requires-Dist: boto3 >=1.26.141
Requires-Dist: botocore >=1.29.141
Requires-Dist: moto >=4.1.10

# Wedge Library

## Démarrage rapide

```bash
$ pip install wedge-lib
```

### Mode maintenance

#### Middleware

```python
MIDDLEWARE=[
    "w.drf.middlewares.maintenance_mode_middleware.MaintenanceModeMiddleware",
],
```


#### Command

Ajouter la commande maintenance_mode :

```python
from w.django.commands.abstract_maintenance_mode_command import (
    AbstractMaintenanceModeCommand,
)


class Command(AbstractMaintenanceModeCommand):
    pass
```

Utilisation :

```bash
$ python manage.py maintenance_mode <on/off>
```

### Configuration pour certains services

#### MailService
TBD
#### GoogleMapService
TBD
#### YousignService
TBD

## Development

### Installation

```bash
$ pipenv sync --dev
```

### Update dependencies

```bash
$ pipenv update --dev
```

### Run test

```bash
$ pytest
```

### En cas d'ajout d'une librairie
Afin qu'elle soit également installée sur cs_back, il faut ajouter une ligne dans setup.cfg, sous la partie "install_requires ="

Des variables d'environnement doivent être configurées sur Pycharm:
- Cliquez sur Edit configurations en haut à droite de votre éditeur
- Edit configurations templates...
- Python tests - pytest
- Cliquez sur environnement variables et ajouter les api key correspondant à :
  - GOOGLE_MAP_SECRET
  - GOOGLE_MAP_API_KEY
- Les valeurs de ces variables peuvent être trouvées sur les secrets du repo ou à Eloïse

### Before commit

Pour éviter de faire échouer le CI, lancer la commande:

```bash
$ ./before_commit.zsh
```

### Publier manuellement sur PyPI

Après avoir committer et pousser:

1. tagguer une version dans GitHub.
2. mettre à jour la version dans le fichier `setup.cfg` avec le tag créé.
3. créer le package
    ```bash
    $ rm -rf build dist wedge_lib.egg-info
    $ WEDGELIB_VERSION=<version> python setup.py sdist bdist_wheel
    ```
4. mettre à jour sur TestPypi
    ```bash
    $ twine upload --repository testpypi dist/*
    ```
5. Si tout est ok, mettre à jour sur Pypi
    ```bash
    $ twine upload dist/*
    ```

### Utiliser W en mode dev depuis un autre projet (ex: csback)

Supprimer w du projet, ensuite l'installer à partir du chemin local du projet w:
```bash
pipenv uninstall wedge-lib && pipenv install <Absolute path du projet w local>
```

Après une nouvelle release de w, utiliser la version officielle :
```bash
pipenv uninstall wedge-lib && pipenv install wedge-lib
```






