edb-noumea 0.3.3__tar.gz → 0.3.6__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.
@@ -0,0 +1,200 @@
1
+ Metadata-Version: 2.4
2
+ Name: edb-noumea
3
+ Version: 0.3.6
4
+ Summary: Scraper pour la qualité des eaux de baignade à Nouméa.
5
+ Project-URL: Homepage, https://github.com/adriens/edb-noumea
6
+ Project-URL: Repository, https://github.com/adriens/edb-noumea
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: requests
10
+ Requires-Dist: beautifulsoup4
11
+ Requires-Dist: pandas
12
+ Requires-Dist: lxml
13
+ Requires-Dist: pdfplumber
14
+ Requires-Dist: camelot-py[cv]
15
+ Requires-Dist: matplotlib
16
+ Dynamic: license-file
17
+
18
+ [![Built with uv](https://img.shields.io/badge/Built%20with-uv-blueviolet?logo=python&logoColor=white)](https://docs.astral.sh/uv/)
19
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/edb-noumea)](https://pypistats.org/packages/edb-noumea)
20
+ [![Open in Kaggle](https://img.shields.io/badge/Kaggle-Open%20Notebook-blue?logo=kaggle)](https://www.kaggle.com/code/adriensales/qualit-eaux-de-baignade-noum-a)
21
+ [![Dataset](https://img.shields.io/badge/Kaggle-Dataset-blue?logo=kaggle)](https://www.kaggle.com/datasets/adriensales/qualit-des-eaux-de-baignade-nouma)
22
+ [![Live CSV Data](https://img.shields.io/badge/GitHub-Live%20CSV%20Data-black?logo=github)](https://github.com/adriens/edb-noumea-data)
23
+ [![Go BubbleTea TUI](https://img.shields.io/badge/Go-BubbleTea%20TUI-00ADD8?logo=go)](https://github.com/adriens/edb-noumea-tui)
24
+ [![Site officiel Ville de Nouméa](https://img.shields.io/badge/Nouméa-Site%20officiel%20Ville%20de%20Nouméa-0A74DA)](https://www.noumea.nc/noumea-pratique/salubrite-publique/qualite-eaux-baignade)
25
+
26
+
27
+
28
+ # Qualité des Eaux de Baignade à Nouméa
29
+
30
+ 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.
31
+
32
+ Il se base sur les données de https://www.noumea.nc/noumea-pratique/salubrite-publique/qualite-eaux-baignade
33
+
34
+ ## Prérequis
35
+
36
+ Avant de commencer, assurez-vous d'avoir installé `uv`, le gestionnaire de paquets et d'environnements virtuels Python.
37
+
38
+
39
+
40
+
41
+ ## Installation
42
+
43
+ Suivez ces étapes pour configurer l'environnement et installer les dépendances.
44
+
45
+ 1. **Accédez au répertoire du projet :**
46
+ ```bash
47
+ cd edb-noumea
48
+ ```
49
+
50
+ 2. **Créez un environnement virtuel avec `uv` :**
51
+ ```bash
52
+ uv venv
53
+ ```
54
+
55
+ 3. **Activez l'environnement virtuel :**
56
+ ```bash
57
+ source .venv/bin/activate
58
+ ```
59
+ *(Sur Windows, utilisez `.venv\Scripts\activate`)*
60
+
61
+ 4. **Installez les dépendances du projet :**
62
+ ```bash
63
+ uv pip install -e .
64
+ ```
65
+ *(L'option `-e .` installe le projet en mode "éditable", ce qui vous permet de modifier le code sans avoir à le réinstaller.)*
66
+
67
+ ## Utilisation
68
+
69
+ Ce package peut être utilisé de deux manières : soit pour obtenir un résumé de l'état des plages, soit pour obtenir les résultats détaillés des derniers prélèvements.
70
+
71
+ ### Obtenir le résumé de l'état sanitaire
72
+
73
+ Pour obtenir le tableau de résumé simple depuis la page web principale, exécutez :
74
+ ```bash
75
+ python -m edb_noumea.main
76
+ ```
77
+
78
+ ### Obtenir les résultats détaillés (depuis PDF)
79
+
80
+ Pour obtenir le tableau détaillé des derniers relevés (extrait automatiquement du dernier fichier PDF disponible), exécutez :
81
+ ```bash
82
+ python -m edb_noumea.details
83
+ ```
84
+
85
+
86
+ ## Générer des graphiques PNG des analyses détaillées
87
+
88
+ Vous pouvez générer automatiquement deux graphiques au format PNG (niveaux d'E. coli et d'Entérocoques par point de prélèvement) à partir des derniers résultats d'analyses, grâce au script fourni.
89
+
90
+ ### Étapes
91
+
92
+ 1. Assurez-vous que l'environnement virtuel est activé et que les dépendances sont installées.
93
+ 2. Exécutez le script suivant depuis le répertoire du projet :
94
+
95
+ ```bash
96
+ source .venv/bin/activate
97
+ /home/adriens/Github/edb-noumea/noumea_water_quality/.venv/bin/python generer_graphique_analyses.py
98
+ ```
99
+
100
+ Deux fichiers PNG seront générés dans le dossier courant :
101
+
102
+
103
+ Vous pouvez ouvrir ces fichiers pour visualiser les résultats détaillés des analyses.
104
+
105
+ ## Utilisation en tant que Bibliothèque
106
+
107
+ Vous pouvez également importer les fonctions dans vos propres scripts Python pour une intégration plus poussée.
108
+
109
+ Installer
110
+
111
+ ### Obtenir le résumé
112
+
113
+ ```python
114
+ # exemple_resume.py
115
+ from edb_noumea.main import get_water_quality
116
+
117
+ df_resume = get_water_quality()
118
+
119
+ if df_resume is not None:
120
+ print("Résumé de l'état des plages :")
121
+ print(df_resume.to_string())
122
+ ```
123
+
124
+ ### Obtenir les résultats détaillés
125
+
126
+ ```python
127
+ # exemple_details.py
128
+ from edb_noumea.details import get_detailed_results
129
+
130
+ df_details = get_detailed_results()
131
+
132
+ if df_details is not None:
133
+ print("Détails des derniers relevés :")
134
+ print(df_details.to_string())
135
+ ```
136
+
137
+ ### Exemple de Visualisation
138
+
139
+ Voici un exemple montrant comment récupérer les données détaillées et créer un graphique simple avec `matplotlib` pour visualiser les niveaux d'E. coli par point de prélèvement.
140
+
141
+ ```python
142
+ # exemple_visualisation.py
143
+ import pandas as pd
144
+ import matplotlib.pyplot as plt
145
+ from edb_noumea.details import get_detailed_results
146
+
147
+ # Obtenir les données détaillées
148
+ df = get_detailed_results()
149
+
150
+ if df is not None and not df.empty:
151
+ print("Création du graphique...")
152
+
153
+ # S'assurer que les données sont triées pour une meilleure lisibilité
154
+ df_sorted = df.sort_values(by='e_coli_npp_100ml', ascending=False)
155
+
156
+ # Créer le graphique à barres horizontales
157
+ plt.figure(figsize=(12, 8))
158
+ plt.barh(df_sorted['point_de_prelevement'], df_sorted['e_coli_npp_100ml'], color='skyblue')
159
+
160
+ # Ajouter les titres et les étiquettes
161
+ plt.xlabel('E. coli (NPP/100ml)')
162
+ plt.ylabel('Point de prélèvement')
163
+ plt.title("Niveaux d'E. coli par Point de Prélèvement")
164
+ plt.gca().invert_yaxis() # Afficher le plus élevé en haut
165
+ plt.tight_layout() # Ajuster le layout pour que tout soit visible
166
+
167
+ # Sauvegarder le graphique dans un fichier
168
+ plt.savefig('ecoli_levels.png')
169
+ print("Graphique sauvegardé sous 'ecoli_levels.png'")
170
+
171
+ # Afficher le graphique
172
+ plt.show()
173
+ else:
174
+ print("Aucune donnée à afficher.")
175
+
176
+ ```
177
+
178
+ *Assurez-vous que votre script est exécuté dans le même environnement virtuel où le package `edb-noumea` a été installé.*
179
+
180
+ ## Sortie Attendue
181
+
182
+ ### Résumé de l'état sanitaire (`main`)
183
+ ```
184
+ 📊 État sanitaire des eaux de baignade à Nouméa 📊
185
+ Plage État sanitaire
186
+ 0 Plage de la baie des Citrons Baignade autorisée
187
+ 1 Plage de la promenade Pierre-Vernier Baignade autorisée
188
+ ...
189
+ ```
190
+
191
+ ### Détails des relevés (`details`)
192
+ ```
193
+ 📋 Voici les détails des derniers relevés :
194
+ Site Point de prélèvement Date Heure E. coli (NPP/100ml) Entérocoques (NPP/100ml)
195
+ 0 PLAGE DE LA BAIE DES CITRONS P18049, Face The Beach House 04/09/2025 07:29 10 20
196
+ 1 PLAGE DE LA BAIE DES CITRONS P18050, Face allée centrale Mirage plaza 04/09/2025 07:33 62 75
197
+ ...
198
+ ```
199
+
200
+
@@ -1,4 +1,9 @@
1
1
  import pandas as pd
2
+ import requests
3
+ from bs4 import BeautifulSoup
4
+ import camelot
5
+ import tempfile
6
+ import os
2
7
 
3
8
  @staticmethod
4
9
  def get_sites():
@@ -14,22 +19,16 @@ def get_sites():
14
19
  {"site": "PLAGE DU KUENDU BEACH", "plage": "Plage du Kuendu Beach", "gmaps_url": "https://maps.app.goo.gl/oGY6Hy4KCXJWxqfL9"},
15
20
  ]
16
21
  return pd.DataFrame(data)
22
+
17
23
  def get_pdf_url():
18
24
  """
19
25
  Alias public pour obtenir l'URL du dernier PDF d'analyses détaillées.
20
26
  """
21
27
  return get_latest_pdf_url()
22
28
 
23
- import pandas as pd
24
- import pdfplumber
25
- import requests
26
- import io
27
- from bs4 import BeautifulSoup
28
-
29
29
  # URL de la page officielle contenant le lien vers le PDF
30
30
  PAGE_URL = "https://www.noumea.nc/noumea-pratique/salubrite-publique/qualite-eaux-baignade"
31
31
 
32
-
33
32
  def get_latest_pdf_url():
34
33
  """
35
34
  Récupère dynamiquement l'URL du dernier PDF d'analyses détaillées depuis la page officielle.
@@ -58,7 +57,7 @@ def get_latest_pdf_url():
58
57
  def get_detailed_results():
59
58
  """
60
59
  Télécharge dynamiquement le PDF des résultats détaillés, en extrait le premier tableau
61
- et le retourne sous forme de DataFrame pandas.
60
+ avec Camelot et le retourne sous forme de DataFrame pandas.
62
61
  """
63
62
  pdf_url = get_latest_pdf_url()
64
63
  if not pdf_url:
@@ -73,31 +72,49 @@ def get_detailed_results():
73
72
  print(f"❌ Erreur lors du téléchargement du fichier PDF : {e}")
74
73
  return None
75
74
 
76
- pdf_file = io.BytesIO(response.content)
75
+ # Utiliser un fichier temporaire pour que Camelot puisse le lire
76
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".pdf") as temp_pdf:
77
+ temp_pdf.write(response.content)
78
+ temp_pdf_path = temp_pdf.name
77
79
 
78
80
  try:
79
- print("🔍 Extraction des tableaux du PDF avec pdfplumber...")
80
- with pdfplumber.open(pdf_file) as pdf:
81
- if not pdf.pages:
82
- print("❌ Le PDF ne contient aucune page.")
83
- return None
84
-
85
- first_page = pdf.pages[0]
86
- tables = first_page.extract_tables()
87
-
88
- if not tables:
89
- print("❌ Aucun tableau n'a été trouvé dans le PDF.")
90
- return None
91
-
92
- print(f"✅ {len(tables)} tableau(x) trouvé(s) sur la première page.")
93
- # Convertir le premier tableau en DataFrame
94
- table_data = tables[0]
95
- df = pd.DataFrame(table_data[1:], columns=table_data[0])
81
+ print("🔍 Extraction des tableaux du PDF avec Camelot (flavor='stream')...")
82
+ tables = camelot.read_pdf(temp_pdf_path, flavor='stream', pages='1')
83
+
84
+ if not tables:
85
+ print("❌ Aucun tableau n'a été trouvé dans le PDF avec Camelot.")
86
+ return None
96
87
 
88
+ print(f"✅ {len(tables)} tableau(x) trouvé(s) sur la première page.")
89
+ # Le DataFrame est directement accessible avec .df
90
+ df = tables[0].df
91
+
92
+ # The header is messy. Let's explicitly define the columns we expect.
93
+ new_columns = [
94
+ "Nom du site de baignade",
95
+ "Point de prélèvement",
96
+ "Date du prélèvement",
97
+ "Heure du prélèvement",
98
+ "Escherichia coli (NPP/100ml)",
99
+ "Entérocoques intestinaux (NPP/100ml)"
100
+ ]
101
+
102
+ # The data from camelot has 6 columns, which matches our expected columns.
103
+ # Let's assign these names.
104
+ df.columns = new_columns
105
+
106
+ # Now, we need to find where the actual data starts.
107
+ # It seems to start at index 6 in the camelot df.
108
+ df = df.iloc[6:].reset_index(drop=True)
109
+
97
110
  except Exception as e:
98
- print(f"❌ Une erreur est survenue lors de l'extraction des données du PDF.")
111
+ print(f"❌ Une erreur est survenue lors de l'extraction des données du PDF avec Camelot.")
99
112
  print(f" Erreur originale : {e}")
100
113
  return None
114
+ finally:
115
+ # Nettoyer le fichier temporaire
116
+ if 'temp_pdf_path' in locals() and os.path.exists(temp_pdf_path):
117
+ os.remove(temp_pdf_path)
101
118
 
102
119
  print("\n--- Aperçu du tableau extrait (toutes colonnes) ---")
103
120
  with pd.option_context('display.max_columns', None):
@@ -182,4 +199,4 @@ if __name__ == "__main__":
182
199
  ]])
183
200
  # Export CSV
184
201
  detailed_df.to_csv("details_dernier_releve.csv", index=False)
185
- print("\n✅ Export CSV : details_dernier_releve.csv")
202
+ print("\n✅ Export CSV : details_dernier_releve.csv")
@@ -0,0 +1,200 @@
1
+ Metadata-Version: 2.4
2
+ Name: edb-noumea
3
+ Version: 0.3.6
4
+ Summary: Scraper pour la qualité des eaux de baignade à Nouméa.
5
+ Project-URL: Homepage, https://github.com/adriens/edb-noumea
6
+ Project-URL: Repository, https://github.com/adriens/edb-noumea
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: requests
10
+ Requires-Dist: beautifulsoup4
11
+ Requires-Dist: pandas
12
+ Requires-Dist: lxml
13
+ Requires-Dist: pdfplumber
14
+ Requires-Dist: camelot-py[cv]
15
+ Requires-Dist: matplotlib
16
+ Dynamic: license-file
17
+
18
+ [![Built with uv](https://img.shields.io/badge/Built%20with-uv-blueviolet?logo=python&logoColor=white)](https://docs.astral.sh/uv/)
19
+ [![PyPI - Downloads](https://img.shields.io/pypi/dm/edb-noumea)](https://pypistats.org/packages/edb-noumea)
20
+ [![Open in Kaggle](https://img.shields.io/badge/Kaggle-Open%20Notebook-blue?logo=kaggle)](https://www.kaggle.com/code/adriensales/qualit-eaux-de-baignade-noum-a)
21
+ [![Dataset](https://img.shields.io/badge/Kaggle-Dataset-blue?logo=kaggle)](https://www.kaggle.com/datasets/adriensales/qualit-des-eaux-de-baignade-nouma)
22
+ [![Live CSV Data](https://img.shields.io/badge/GitHub-Live%20CSV%20Data-black?logo=github)](https://github.com/adriens/edb-noumea-data)
23
+ [![Go BubbleTea TUI](https://img.shields.io/badge/Go-BubbleTea%20TUI-00ADD8?logo=go)](https://github.com/adriens/edb-noumea-tui)
24
+ [![Site officiel Ville de Nouméa](https://img.shields.io/badge/Nouméa-Site%20officiel%20Ville%20de%20Nouméa-0A74DA)](https://www.noumea.nc/noumea-pratique/salubrite-publique/qualite-eaux-baignade)
25
+
26
+
27
+
28
+ # Qualité des Eaux de Baignade à Nouméa
29
+
30
+ 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.
31
+
32
+ Il se base sur les données de https://www.noumea.nc/noumea-pratique/salubrite-publique/qualite-eaux-baignade
33
+
34
+ ## Prérequis
35
+
36
+ Avant de commencer, assurez-vous d'avoir installé `uv`, le gestionnaire de paquets et d'environnements virtuels Python.
37
+
38
+
39
+
40
+
41
+ ## Installation
42
+
43
+ Suivez ces étapes pour configurer l'environnement et installer les dépendances.
44
+
45
+ 1. **Accédez au répertoire du projet :**
46
+ ```bash
47
+ cd edb-noumea
48
+ ```
49
+
50
+ 2. **Créez un environnement virtuel avec `uv` :**
51
+ ```bash
52
+ uv venv
53
+ ```
54
+
55
+ 3. **Activez l'environnement virtuel :**
56
+ ```bash
57
+ source .venv/bin/activate
58
+ ```
59
+ *(Sur Windows, utilisez `.venv\Scripts\activate`)*
60
+
61
+ 4. **Installez les dépendances du projet :**
62
+ ```bash
63
+ uv pip install -e .
64
+ ```
65
+ *(L'option `-e .` installe le projet en mode "éditable", ce qui vous permet de modifier le code sans avoir à le réinstaller.)*
66
+
67
+ ## Utilisation
68
+
69
+ Ce package peut être utilisé de deux manières : soit pour obtenir un résumé de l'état des plages, soit pour obtenir les résultats détaillés des derniers prélèvements.
70
+
71
+ ### Obtenir le résumé de l'état sanitaire
72
+
73
+ Pour obtenir le tableau de résumé simple depuis la page web principale, exécutez :
74
+ ```bash
75
+ python -m edb_noumea.main
76
+ ```
77
+
78
+ ### Obtenir les résultats détaillés (depuis PDF)
79
+
80
+ Pour obtenir le tableau détaillé des derniers relevés (extrait automatiquement du dernier fichier PDF disponible), exécutez :
81
+ ```bash
82
+ python -m edb_noumea.details
83
+ ```
84
+
85
+
86
+ ## Générer des graphiques PNG des analyses détaillées
87
+
88
+ Vous pouvez générer automatiquement deux graphiques au format PNG (niveaux d'E. coli et d'Entérocoques par point de prélèvement) à partir des derniers résultats d'analyses, grâce au script fourni.
89
+
90
+ ### Étapes
91
+
92
+ 1. Assurez-vous que l'environnement virtuel est activé et que les dépendances sont installées.
93
+ 2. Exécutez le script suivant depuis le répertoire du projet :
94
+
95
+ ```bash
96
+ source .venv/bin/activate
97
+ /home/adriens/Github/edb-noumea/noumea_water_quality/.venv/bin/python generer_graphique_analyses.py
98
+ ```
99
+
100
+ Deux fichiers PNG seront générés dans le dossier courant :
101
+
102
+
103
+ Vous pouvez ouvrir ces fichiers pour visualiser les résultats détaillés des analyses.
104
+
105
+ ## Utilisation en tant que Bibliothèque
106
+
107
+ Vous pouvez également importer les fonctions dans vos propres scripts Python pour une intégration plus poussée.
108
+
109
+ Installer
110
+
111
+ ### Obtenir le résumé
112
+
113
+ ```python
114
+ # exemple_resume.py
115
+ from edb_noumea.main import get_water_quality
116
+
117
+ df_resume = get_water_quality()
118
+
119
+ if df_resume is not None:
120
+ print("Résumé de l'état des plages :")
121
+ print(df_resume.to_string())
122
+ ```
123
+
124
+ ### Obtenir les résultats détaillés
125
+
126
+ ```python
127
+ # exemple_details.py
128
+ from edb_noumea.details import get_detailed_results
129
+
130
+ df_details = get_detailed_results()
131
+
132
+ if df_details is not None:
133
+ print("Détails des derniers relevés :")
134
+ print(df_details.to_string())
135
+ ```
136
+
137
+ ### Exemple de Visualisation
138
+
139
+ Voici un exemple montrant comment récupérer les données détaillées et créer un graphique simple avec `matplotlib` pour visualiser les niveaux d'E. coli par point de prélèvement.
140
+
141
+ ```python
142
+ # exemple_visualisation.py
143
+ import pandas as pd
144
+ import matplotlib.pyplot as plt
145
+ from edb_noumea.details import get_detailed_results
146
+
147
+ # Obtenir les données détaillées
148
+ df = get_detailed_results()
149
+
150
+ if df is not None and not df.empty:
151
+ print("Création du graphique...")
152
+
153
+ # S'assurer que les données sont triées pour une meilleure lisibilité
154
+ df_sorted = df.sort_values(by='e_coli_npp_100ml', ascending=False)
155
+
156
+ # Créer le graphique à barres horizontales
157
+ plt.figure(figsize=(12, 8))
158
+ plt.barh(df_sorted['point_de_prelevement'], df_sorted['e_coli_npp_100ml'], color='skyblue')
159
+
160
+ # Ajouter les titres et les étiquettes
161
+ plt.xlabel('E. coli (NPP/100ml)')
162
+ plt.ylabel('Point de prélèvement')
163
+ plt.title("Niveaux d'E. coli par Point de Prélèvement")
164
+ plt.gca().invert_yaxis() # Afficher le plus élevé en haut
165
+ plt.tight_layout() # Ajuster le layout pour que tout soit visible
166
+
167
+ # Sauvegarder le graphique dans un fichier
168
+ plt.savefig('ecoli_levels.png')
169
+ print("Graphique sauvegardé sous 'ecoli_levels.png'")
170
+
171
+ # Afficher le graphique
172
+ plt.show()
173
+ else:
174
+ print("Aucune donnée à afficher.")
175
+
176
+ ```
177
+
178
+ *Assurez-vous que votre script est exécuté dans le même environnement virtuel où le package `edb-noumea` a été installé.*
179
+
180
+ ## Sortie Attendue
181
+
182
+ ### Résumé de l'état sanitaire (`main`)
183
+ ```
184
+ 📊 État sanitaire des eaux de baignade à Nouméa 📊
185
+ Plage État sanitaire
186
+ 0 Plage de la baie des Citrons Baignade autorisée
187
+ 1 Plage de la promenade Pierre-Vernier Baignade autorisée
188
+ ...
189
+ ```
190
+
191
+ ### Détails des relevés (`details`)
192
+ ```
193
+ 📋 Voici les détails des derniers relevés :
194
+ Site Point de prélèvement Date Heure E. coli (NPP/100ml) Entérocoques (NPP/100ml)
195
+ 0 PLAGE DE LA BAIE DES CITRONS P18049, Face The Beach House 04/09/2025 07:29 10 20
196
+ 1 PLAGE DE LA BAIE DES CITRONS P18050, Face allée centrale Mirage plaza 04/09/2025 07:33 62 75
197
+ ...
198
+ ```
199
+
200
+
@@ -3,4 +3,5 @@ beautifulsoup4
3
3
  pandas
4
4
  lxml
5
5
  pdfplumber
6
+ camelot-py[cv]
6
7
  matplotlib
@@ -1,15 +1,15 @@
1
1
  [project]
2
2
  name = "edb-noumea"
3
- description = "Scraper robuste pour la qualité des eaux de baignade à Nouméa. Ajout export CSV automatique et détection améliorée des colonnes PDF."
4
- version = "0.3.3"
3
+ description = "Scraper pour la qualité des eaux de baignade à Nouméa."
4
+ readme = "README.md"
5
+ version = "0.3.6"
5
6
  dependencies = [
6
7
  "requests",
7
8
  "beautifulsoup4",
8
9
  "pandas",
9
10
  "lxml",
10
11
  "pdfplumber",
11
-
12
-
12
+ "camelot-py[cv]",
13
13
  "matplotlib",
14
14
  ]
15
15
 
edb_noumea-0.3.3/PKG-INFO DELETED
@@ -1,14 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: edb-noumea
3
- Version: 0.3.3
4
- Summary: Scraper robuste pour la qualité des eaux de baignade à Nouméa. Ajout export CSV automatique et détection améliorée des colonnes PDF.
5
- Project-URL: Homepage, https://github.com/adriens/edb-noumea
6
- Project-URL: Repository, https://github.com/adriens/edb-noumea
7
- License-File: LICENSE
8
- Requires-Dist: requests
9
- Requires-Dist: beautifulsoup4
10
- Requires-Dist: pandas
11
- Requires-Dist: lxml
12
- Requires-Dist: pdfplumber
13
- Requires-Dist: matplotlib
14
- Dynamic: license-file
@@ -1,14 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: edb-noumea
3
- Version: 0.3.3
4
- Summary: Scraper robuste pour la qualité des eaux de baignade à Nouméa. Ajout export CSV automatique et détection améliorée des colonnes PDF.
5
- Project-URL: Homepage, https://github.com/adriens/edb-noumea
6
- Project-URL: Repository, https://github.com/adriens/edb-noumea
7
- License-File: LICENSE
8
- Requires-Dist: requests
9
- Requires-Dist: beautifulsoup4
10
- Requires-Dist: pandas
11
- Requires-Dist: lxml
12
- Requires-Dist: pdfplumber
13
- Requires-Dist: matplotlib
14
- Dynamic: license-file
File without changes
File without changes
File without changes