Skip to content

Commit dc03b19

Browse files
committed
update README to reflect project name change and add French version
1 parent 3c71ea7 commit dc03b19

File tree

2 files changed

+193
-23
lines changed

2 files changed

+193
-23
lines changed

README-fr.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# ETL Toolbox de NRCAN
2+
3+
4+
[![codecov](https://codecov.io/github/xmalet-nrcan/xm-etl-toolbox/graph/badge.svg?token=P4ISY9JL78)](https://codecov.io/github/xmalet-nrcan/xm-etl-toolbox)
5+
[![CI](https://github.com/xmalet-nrcan/xm-etl-toolbox/actions/workflows/ci-release.yml/badge.svg)](https://github.com/xmalet-nrcan/xm-etl-toolbox/actions/workflows/ci-release.yml)
6+
7+
`etl-toolbox` est une suite d'outils Python conçue pour simplifier les processus d'extraction, transformation et chargement (ETL) de données. Cette boîte à outils modulaire offre plusieurs composants spécialisés pour différents aspects des flux de travail ETL.
8+
9+
## Composants
10+
11+
### etl_logging
12+
Module de journalisation spécialisé pour les processus ETL, permettant une configuration simple et une analyse efficace des logs.
13+
14+
### etl_toolbox
15+
Collection d'outils pour lire des données à partir de diverses sources. Il inclut des lecteurs pour différents formats de fichiers et bases de données, facilitant l'intégration des données dans les processus ETL.:
16+
- **Lecteurs de données**: CSV, Excel, GeoPackage, JSON, PostGIS, Shapefile
17+
18+
19+
### database
20+
Interfaces et ORM pour interagir avec différents systèmes de bases de données:
21+
- **Interfaces de base de données**: Gestionnaires d'objets abstraits pour les interactions avec les bases de données
22+
- **ORM**: Mappages objet-relationnel pour simplifier l'accès aux données
23+
24+
## Installation
25+
26+
Installez le package via Poetry:
27+
28+
```bash
29+
poetry install
30+
```
31+
32+
Ou en créant une distribution:
33+
34+
```bash
35+
poetry build
36+
pip install dist/nrcan_etl_toolbox-*.whl
37+
```
38+
39+
## Utilisation
40+
41+
### Module de journalisation (etl_logging)
42+
43+
```python
44+
from nrcan_etl_toolbox.etl_logging import CustomLogger
45+
46+
logger = CustomLogger(level='INFO'
47+
,logger_type='verbose',
48+
logger_file_name='test_logger.log')
49+
50+
# Journalisation des messages
51+
logger.info("Début du processus ETL")
52+
logger.debug("Détails techniques", extra={"data": {"items": 100}})
53+
logger.error("Erreur de traitement", exc_info=True)
54+
```
55+
56+
### Lecteurs de données (etl_toolbox)
57+
58+
```python
59+
from nrcan_etl_toolbox.etl_toolbox.reader import ReaderFactory
60+
61+
# Création d'un lecteur CSV
62+
csv_reader = ReaderFactory(input_source="donnees.csv")
63+
data = csv_reader.data
64+
65+
# Création d'un lecteur Shapefile
66+
shp_reader = ReaderFactory(input_source="donnees.shp")
67+
geo_data = shp_reader.data
68+
```
69+
70+
### Interface de base de données
71+
72+
```python
73+
# TODO : Finaliser documentation.
74+
from nrcan_etl_toolbox.database.interface import AbstractDatabaseHandler
75+
# Exemple d'utilisation à documenter
76+
```
77+
78+
## Développement
79+
80+
Pour contribuer au projet, installez les dépendances de développement:
81+
82+
```bash
83+
poetry install --with dev
84+
```
85+
86+
Exécutez les tests avec:
87+
88+
```bash
89+
pytest
90+
```
91+
92+
## Structure du projet
93+
94+
```
95+
nrcan_etl_toolbox/
96+
├── database/ # Interactions avec les bases de données
97+
│ ├── interface/ # Interfaces abstraites pour les bases
98+
│ └── orm/ # Mappages objet-relationnel
99+
├── etl_logging/ # Module de journalisation ETL
100+
└── etl_toolbox/ # Outils principaux ETL
101+
└── reader/ # Lecteurs de sources de données
102+
└── source_readers/ # Implémentations spécifiques des lecteurs
103+
```
104+
105+
[//]: # (## Licence)
106+
107+
[//]: # ()
108+
[//]: # (Ce projet est distribué sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus d'informations.)
109+
110+
## Auteurs
111+
112+
- NRCAN (Ressources Naturelles Canada)
113+
- [Xavier Malet](mailto:[email protected])
114+
115+
Pour toute question ou suggestion, veuillez utiliser les issues GitHub du projet.

README.md

Lines changed: 78 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,119 @@
1-
# ETL-LOGGING
21

3-
[![codecov](https://codecov.io/github/xmalet-nrcan/xm-etl-toolbox/graph/badge.svg?token=P4ISY9JL78)](https://codecov.io/github/xmalet-nrcan/xm-etl-toolbox)
2+
# NRCAN ETL Toolbox
3+
44

5+
[![codecov](https://codecov.io/github/xmalet-nrcan/xm-etl-toolbox/graph/badge.svg?token=P4ISY9JL78)](https://codecov.io/github/xmalet-nrcan/xm-etl-toolbox)
56
[![CI](https://github.com/xmalet-nrcan/xm-etl-toolbox/actions/workflows/ci-release.yml/badge.svg)](https://github.com/xmalet-nrcan/xm-etl-toolbox/actions/workflows/ci-release.yml)
67

7-
`etl-logging` est un package Python destiné à faciliter la gestion du logging dans des processus ETL. Il offre des fonctionnalités simples et modulables pour configurer, écrire et analyser les logs de vos applications.
8+
Pour la version française de ce document, consultez [README-fr.md](README-fr.md).
9+
10+
11+
`etl-toolbox` is a Python toolkit designed to simplify Extract, Transform, and Load (ETL) data processes. This modular toolkit offers several specialized components for different aspects of ETL workflows.
12+
13+
## Components
14+
15+
### etl_logging
16+
Specialized logging module for ETL processes, allowing simple configuration and efficient log analysis.
17+
18+
### etl_toolbox
19+
Collection of tools for reading data from various sources. It includes readers for different file formats and databases, facilitating data integration in ETL processes:
20+
- **Data Readers**: CSV, Excel, GeoPackage, JSON, PostGIS, Shapefile
21+
22+
23+
### database
24+
Interfaces and ORM for interacting with different database systems:
25+
- **Database Interfaces**: Abstract object handlers for database interactions
26+
- **ORM**: Object-relational mappings to simplify data access
827

928
## Installation
1029

11-
Vous pouvez installer elt-logging via Poetry :
30+
Install the package via Poetry:
1231

1332
```bash
1433
poetry install
1534
```
1635

17-
Ou en créant une distribution avec Poetry :
36+
Or by creating a distribution:
1837

1938
```bash
2039
poetry build
21-
pip install dist/elt_logging-0.1.0-py3-none-any.whl
40+
pip install dist/nrcan_etl_toolbox-*.whl
2241
```
2342

24-
## Utilisation
43+
## Usage
44+
45+
### Logging Module (etl_logging)
2546

26-
Voici un exemple d'utilisation de base :
47+
```python
48+
from nrcan_etl_toolbox.etl_logging import CustomLogger
49+
50+
logger = CustomLogger(level='INFO'
51+
,logger_type='verbose',
52+
logger_file_name='test_logger.log')
53+
54+
# Logging messages
55+
logger.info("Starting ETL process")
56+
logger.debug("Technical details", extra={"data": {"items": 100}})
57+
logger.error("Processing error", exc_info=True)
58+
```
59+
60+
### Data Readers (etl_toolbox)
2761

2862
```python
29-
from elt_logging import logger
63+
from nrcan_etl_toolbox.etl_toolbox.reader import ReaderFactory
3064

31-
# Configuration du logger (à adapter selon vos besoins)
32-
logger.configure(level="INFO")
65+
# Creating a CSV reader
66+
csv_reader = ReaderFactory(input_source="data.csv")
67+
data = csv_reader.data
3368

34-
# Enregistrement d'un message
35-
logger.info("Lancement du processus ETL")
69+
# Creating a Shapefile reader
70+
shp_reader = ReaderFactory(input_source="data.shp")
71+
geo_data = shp_reader.data
3672
```
3773

38-
## Configuration
74+
### Database Interface
3975

40-
Vous pouvez adapter la configuration du logger selon les spécificités de votre projet. Consultez la documentation interne pour en savoir plus sur les options disponibles.
76+
```python
77+
# TODO: Complete documentation.
78+
from nrcan_etl_toolbox.database.interface import AbstractDatabaseHandler
79+
# Usage example to be documented
80+
```
4181

42-
## Développement
82+
## Development
4383

44-
Pour contribuer au projet, installez les dépendances de développement :
84+
To contribute to the project, install development dependencies:
4585

4686
```bash
4787
poetry install --with dev
4888
```
4989

50-
Ensuite, vous pouvez lancer les tests avec :
90+
Run tests with:
5191

5292
```bash
5393
pytest
5494
```
5595

56-
## License
96+
## Project Structure
97+
98+
```
99+
nrcan_etl_toolbox/
100+
├── database/ # Database interactions
101+
│ ├── interface/ # Abstract interfaces for databases
102+
│ └── orm/ # Object-relational mappings
103+
├── etl_logging/ # ETL logging module
104+
└── etl_toolbox/ # Main ETL tools
105+
└── reader/ # Data source readers
106+
└── source_readers/ # Specific reader implementations
107+
```
108+
109+
[//]: # (## License)
57110

58-
Ce projet est distribué sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus d'informations.
111+
[//]: # ()
112+
[//]: # (This project is distributed under the MIT license. See the [LICENSE](LICENSE) file for more information.)
59113

60-
## Auteurs
114+
## Authors
61115

62-
- Votre Nom ([email protected])
116+
- NRCAN (Natural Resources Canada)
117+
- [Xavier Malet](mailto:[email protected])
63118

64-
N'hésitez pas à contribuer et à signaler des bugs ou des améliorations via le dépôt GitLab/GitHub du projet.
119+
For questions or suggestions, please use the project's GitHub issues.

0 commit comments

Comments
 (0)