edb-noumea 0.2.1__tar.gz → 0.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edb-noumea
3
- Version: 0.2.1
3
+ Version: 0.2.3
4
4
  Summary: Un scraper pour la qualité des eaux de baignade à Nouméa.
5
5
  Project-URL: Homepage, https://github.com/adriens/edb-noumea
6
6
  Project-URL: Repository, https://github.com/adriens/edb-noumea
@@ -1,7 +1,5 @@
1
- <<<<<<< HEAD
2
- # edb-noumea
3
- SDK Python pour connaître la Qualité des Eaux de Baignade à Nouméa
4
- =======
1
+ ![Built with uv](https://img.shields.io/badge/Built%20with-uv-blueviolet?logo=python&logoColor=white)
2
+
5
3
  # Qualité des Eaux de Baignade à Nouméa
6
4
 
7
5
  Ce projet Python fournit un outil simple pour scraper les données sur la qualité des eaux de baignade à Nouméa depuis le site officiel de la ville (`noumea.nc`). Il extrait les informations et les présente sous forme de tableau dans le terminal.
@@ -12,7 +10,8 @@ Il se base sur les données de https://www.noumea.nc/noumea-pratique/salubrite-p
12
10
 
13
11
  Avant de commencer, assurez-vous d'avoir installé `uv`, le gestionnaire de paquets et d'environnements virtuels Python.
14
12
 
15
- - [Instructions d'installation de uv](https://github.com/astral-sh/uv)
13
+
14
+
16
15
 
17
16
  ## Installation
18
17
 
@@ -75,16 +74,15 @@ source .venv/bin/activate
75
74
 
76
75
  Deux fichiers PNG seront générés dans le dossier courant :
77
76
 
78
- - `ecoli_levels.png` : graphique des niveaux d'E. coli par point de prélèvement
79
- - `entero_levels.png` : graphique des niveaux d'Entérocoques par point de prélèvement
80
77
 
81
78
  Vous pouvez ouvrir ces fichiers pour visualiser les résultats détaillés des analyses.
82
79
 
83
- ---
84
80
  ## Utilisation en tant que Bibliothèque
85
81
 
86
82
  Vous pouvez également importer les fonctions dans vos propres scripts Python pour une intégration plus poussée.
87
83
 
84
+ Installer
85
+
88
86
  ### Obtenir le résumé
89
87
 
90
88
  ```python
@@ -174,11 +172,4 @@ else:
174
172
  ...
175
173
  ```
176
174
 
177
- ## Dépendances
178
175
 
179
- - `requests`: Pour effectuer les requêtes HTTP.
180
- - `beautifulsoup4`: Pour l'analyse du code HTML.
181
- - `pandas`: Pour la création et la manipulation des DataFrames.
182
- - `lxml`: Utilisé comme parseur par BeautifulSoup pour de meilleures performances.
183
- - `tabula-py`: Pour l'extraction de tableaux depuis des fichiers PDF. **Note :** `tabula-py` requiert que [Java](https://www.java.com/) soit installé sur votre système.
184
- >>>>>>> cfd27fd (Initial commit du projet edb-noumea)
@@ -85,6 +85,15 @@ def get_detailed_results():
85
85
  cleaned_df['e_coli_npp_100ml'] = pd.to_numeric(cleaned_df['e_coli_npp_100ml'], errors='coerce')
86
86
  cleaned_df['enterocoques_npp_100ml'] = pd.to_numeric(cleaned_df['enterocoques_npp_100ml'], errors='coerce')
87
87
  cleaned_df.fillna(0, inplace=True)
88
+
89
+ # Split de la colonne point_de_prelevement
90
+ split_points = cleaned_df['point_de_prelevement'].str.split(',', n=1, expand=True)
91
+ cleaned_df['id_point_prelevement'] = split_points[0].str.strip()
92
+ cleaned_df['desc_point_prelevement'] = split_points[1].str.strip() if split_points.shape[1] > 1 else ''
93
+
94
+ # Conversion de la colonne 'date' au format ISO (YYYY-MM-DD)
95
+ cleaned_df['date'] = pd.to_datetime(cleaned_df['date'], format='%d/%m/%Y', errors='coerce').dt.strftime('%Y-%m-%d')
96
+
88
97
  return cleaned_df
89
98
 
90
99
  if __name__ == "__main__":
@@ -93,5 +102,7 @@ if __name__ == "__main__":
93
102
 
94
103
  # Afficher le DataFrame s'il a été créé avec succès
95
104
  if detailed_df is not None:
96
- print("\n📋 Voici les détails des derniers relevés :")
97
- print(detailed_df.to_string())
105
+ print("\n📋 Voici les détails des derniers relevés (toutes colonnes) :")
106
+ print(detailed_df)
107
+ print("\nColonnes du DataFrame :")
108
+ print(list(detailed_df.columns))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edb-noumea
3
- Version: 0.2.1
3
+ Version: 0.2.3
4
4
  Summary: Un scraper pour la qualité des eaux de baignade à Nouméa.
5
5
  Project-URL: Homepage, https://github.com/adriens/edb-noumea
6
6
  Project-URL: Repository, https://github.com/adriens/edb-noumea
@@ -7,4 +7,5 @@ edb_noumea.egg-info/PKG-INFO
7
7
  edb_noumea.egg-info/SOURCES.txt
8
8
  edb_noumea.egg-info/dependency_links.txt
9
9
  edb_noumea.egg-info/requires.txt
10
- edb_noumea.egg-info/top_level.txt
10
+ edb_noumea.egg-info/top_level.txt
11
+ examples/generer_graphique_analyses.py
@@ -1,2 +1,3 @@
1
1
  dist
2
2
  edb_noumea
3
+ examples
@@ -0,0 +1,42 @@
1
+ import pandas as pd
2
+ import matplotlib.pyplot as plt
3
+ from edb_noumea.details import get_detailed_results
4
+
5
+ # Obtenir les données détaillées
6
+ df = get_detailed_results()
7
+
8
+ if df is not None and not df.empty:
9
+ print("Création du graphique E. coli...")
10
+
11
+ # Trier les données par E. coli pour une meilleure lisibilité
12
+ df_sorted_ecoli = df.sort_values(by='e_coli_npp_100ml', ascending=False)
13
+
14
+ # Créer le graphique à barres horizontales pour E. coli
15
+ plt.figure(figsize=(12, 8))
16
+ plt.barh(df_sorted_ecoli['point_de_prelevement'], df_sorted_ecoli['e_coli_npp_100ml'], color='skyblue')
17
+ plt.xlabel('E. coli (NPP/100ml)')
18
+ plt.ylabel('Point de prélèvement')
19
+ plt.title("Niveaux d'E. coli par Point de Prélèvement")
20
+ plt.gca().invert_yaxis()
21
+ plt.tight_layout()
22
+ plt.savefig('ecoli_levels.png')
23
+ print("Graphique E. coli sauvegardé sous 'ecoli_levels.png'")
24
+ plt.close()
25
+
26
+ print("Création du graphique Entérocoques...")
27
+ # Trier les données par Entérocoques
28
+ df_sorted_entero = df.sort_values(by='enterocoques_npp_100ml', ascending=False)
29
+
30
+ # Créer le graphique à barres horizontales pour Entérocoques
31
+ plt.figure(figsize=(12, 8))
32
+ plt.barh(df_sorted_entero['point_de_prelevement'], df_sorted_entero['enterocoques_npp_100ml'], color='salmon')
33
+ plt.xlabel('Entérocoques (NPP/100ml)')
34
+ plt.ylabel('Point de prélèvement')
35
+ plt.title("Niveaux d'Entérocoques par Point de Prélèvement")
36
+ plt.gca().invert_yaxis()
37
+ plt.tight_layout()
38
+ plt.savefig('entero_levels.png')
39
+ print("Graphique Entérocoques sauvegardé sous 'entero_levels.png'")
40
+ plt.close()
41
+ else:
42
+ print("Aucune donnée à afficher.")
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "edb-noumea"
3
- version = "0.2.1"
3
+ version = "0.2.3"
4
4
  description = "Un scraper pour la qualité des eaux de baignade à Nouméa."
5
5
  dependencies = [
6
6
  "requests",
File without changes