Data Toolkit est une application interactive Streamlit qui simplifie l'exploration, l'analyse et le traitement de fichiers CSV ou Excel. Elle s'adresse aux data scientists, analystes ou toute personne souhaitant explorer ses données via une interface intuitive, sans avoir a charger un notebook et le laisser à l'abandon avec les autres (😉).
À l'origine, je souhaitais simplement disposer d'un outil rapide pour visualiser le contenu d'un dataset. Par la suite, ayant eu besoin d'échantillonner un fichier CSV volumineux (> 3 Go), j'ai intégré cette fonctionnalité au premier outil. Et pourquoi s'arrêter en si bon chemin ? J'ai donc ajouté des analyses exploratoires basiques, ainsi que des analyses un peu plus poussées permettant de visualiser clairement les données. Ainsi est née la V1.
- Chargement : Import de fichiers CSV/Excel (jusqu’à 5 Go) avec séparateur personnalisé.
- Prévisualisation : Aperçu des 5 premières lignes avant chargement complet.
- EDA simple : Dimensions, types de colonnes, valeurs manquantes, taille en mémoire.
- EDA+ : Statistiques descriptives, visualisations (histogrammes, corrélations, boîtes à moustaches, valeurs manquantes).
- Personnalisation : Choix des colonnes et des analyses.
- Logs : Gestion des erreurs dans app.log.
- Traitement : Échantillonnage (aléatoire, premières/dernières N lignes) avec export.
streamlit_data_toolkit/
├── data/ # Datasets d’exemple
├── docs/ # Documentation détaillée (guides, API, etc.)
├── src/ # Code source
│ ├── config.py # Paramètres de configuration
│ ├── data_loader.py # Fonctions de chargement et d'échantillonnage
│ ├── eda.py # Fonctions d'analyse exploratoire (EDA)
│ ├── eda_advanced.py # Visualisations avancées (histogrammes, heatmaps, etc.)
│ ├── treatments.py # Fonctions de traitement (renommage, remplissage, etc.)
│ ├── ui_upload.py # Gestion de l'upload et détection d'encodage
│ ├── ui_utils.py # Fonctions UI utilitaires (choix du dossier, nom par défaut)
│ ├── version.py # Informations de version et nouveautés
├── CHANGELOG.md # Historique des modifications et nouveautés
├── app.py # Application principale (Streamlit)
├── README.md # Présentation du projet
├── requirements.txt # Dépendances
└── logo.png # Logo de l'application
-
Cloner le repo :
git clone https://github.com/Ludovic-M-DAN/streamlit_data_toolkit.git cd streamlit_data_toolkit -
Créer un environnement virtuel (optionnel) :
python -m venv venv source venv/bin/activate # Sous Windows : venv\Scripts\activate
-
Installer les dépendances :
pip install -r requirements.txt
-
Lancer l’app en augmentant la limite de fichier a 5Go :
streamlit run app.py --server.maxUploadSize=5000
Ouvrez http://localhost:8501 dans votre navigateur.
Pour lancer l’application rapidement, créez un fichier batch run_app.bat à la racine du projet avec le contenu suivant :
@echo off
:: Créer un environnement virtuel
python -m venv venv
:: Activer l'environnement virtuel
call venv\Scripts\activate
:: Installer les dépendances
pip install -r requirements.txt
:: Lancer l'application Streamlit avec une limite de fichier de 5 Go
start "" http://localhost:8501
streamlit run app.py --server.maxUploadSize=5000
:: Mettre en pause pour voir les éventuelles erreurs
pause
Le projet repose sur les bibliothèques suivantes :
- Python (>= 3.7)
- Streamlit (1.43.1) – Interface interactive
- Pandas (2.2.3) – Manipulation des données
- Matplotlib (3.10.1) – Visualisation basique
- Seaborn (0.13.2) – Visualisation avancée
- NumPy (2.2.3) – Calcul scientifique
- OpenPyXL (3.1.5) – Gestion des fichiers Excel
- PyArrow (19.0.1) – Support des formats optimisés
Pour voir toutes les dépendances, consultez le fichier requirements.txt.
🚧 En cours de construction 🚧
- Fork le repo.
- Créez une branche (
git checkout -b feature/ton-apport). - Committez vos changements (
git commit -m "Ajout de X"). - Poussez (
git push origin feature/ton-apport). - Ouvrez une Pull Request.
MIT License – voir LICENSE.
- Auteur : Ludovic Marchetti
- Email : contact@datahootcome.fr
- GitHub : Ludovic-M-DAN
- LinkedIn : L-Marchetti