🛠️ Python Dev Toolkit
Un ensemble d'outils et de configurations standardisées pour le développement Python.
📋 Fonctionnalités
- ✅ Formatage automatique avec Black et isort
- ✅ Linting avec flake8
- ✅ Analyse de sécurité avec Bandit
- ✅ Configurations pré-configurées et prêtes à l'emploi
- ✅ Makefile avec commandes standardisées
- ✅ Pre-commit hooks (optionnel)
🚀 Installation rapide
# Dans votre projet Python
curl -sSL https://raw.githubusercontent.com/ClaraVnk/python-dev-toolkit/main/install.sh | bash
Ou manuellement :
# Cloner le repo
git clone https://github.com/ClaraVnk/python-dev-toolkit.git /tmp/python-dev-toolkit
# Copier les fichiers dans votre projet
cd votre-projet
cp /tmp/python-dev-toolkit/configs/.flake8 .
cp /tmp/python-dev-toolkit/Makefile.template Makefile
📦 Installation des outils
# Installer les outils de développement
pip install black isort flake8 bandit
Ou ajoutez à votre pyproject.toml :
[project.optional-dependencies]
dev = [
"bandit[toml]>=1.7.5",
"isort>=5.12.0",
"black>=23.0.0",
"flake8>=6.0.0",
]
🔧 Utilisation
Commandes Make disponibles
make format # Formater le code (isort + black)
make lint # Vérifier le style (flake8)
make security # Vérifier la sécurité (bandit)
make check # Tout vérifier (format + lint + security)
make clean # Nettoyer les fichiers temporaires
Configuration personnalisée
Black
Éditez pyproject.toml :
[tool.black]
line-length = 88
target-version = ['py39']
isort
[tool.isort]
profile = "black"
line_length = 88
flake8
Éditez .flake8 :
[flake8]
max-line-length = 88
extend-ignore = E203,W503
Bandit
[tool.bandit]
exclude_dirs = ["/tests"]
🎯 Workflow recommandé
Avant chaque commit
make check
Avec pre-commit hooks (optionnel)
# Installer pre-commit
pip install pre-commit
# Copier la config
cp /tmp/python-dev-toolkit/configs/.pre-commit-config.yaml .
# Installer les hooks
pre-commit install
# Les hooks s'exécuteront automatiquement à chaque commit
📁 Structure du projet
python-dev-toolkit/
├── README.md # Ce fichier
├── LICENSE # Licence MIT
├── install.sh # Script d'installation
├── configs/
│ ├── .flake8 # Configuration flake8
│ ├── pyproject.toml.template # Template pyproject.toml
│ └── .pre-commit-config.yaml # Pre-commit hooks
├── Makefile.template # Template Makefile
└── examples/
└── sample-project/ # Exemple d'utilisation
🔍 Configurations incluses
Flake8
- Longueur de ligne : 88 caractères (compatible Black)
- Ignore E203, W503 (incompatibles avec Black)
- Ignore E501, F401, F841 (configurable)
Black
- Longueur de ligne : 88 caractères
- Target Python 3.9+
- Format uniforme et déterministe
isort
- Profile "black" (compatible)
- Tri automatique des imports
- Groupes : stdlib → third-party → local
Bandit
- Analyse de sécurité du code
- Détection des vulnérabilités communes
- Exclut les dossiers de tests
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Fork le projet
- Créer une branche (
git checkout -b feature/amelioration) - Commit vos changements (
git commit -m 'Ajout fonctionnalité') - Push vers la branche (
git push origin feature/amelioration) - Ouvrir une Pull Request
📝 Licence
MIT License - voir le fichier LICENSE
🙏 Crédits
Créé par @ClaraVnk
Inspiré par les meilleures pratiques de la communauté Python.
📚 Ressources
Metadata
Release files for devtools-claravnk 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devtools_claravnk-1.0.1.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devtools_claravnk-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.3 kB
Release files / devtools_claravnk-1.0.1.tar.gz
| Download URL | devtools_claravnk-1.0.1.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a139675e91410c006adefae1b43dfd1672049e3efa3a65a547030552a296766c
|
|
BLAKE2b-256 checksum How to use checksums |
5c55f3ccc6403f172d1a4edfc98016e6e70a873983b903cbdb90af6160abf82c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / devtools_claravnk-1.0.1-py3-none-any.whl
| Download URL | devtools_claravnk-1.0.1-py3-none-any.whl |
|---|---|
| Size | 4.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3b3bdbf612abd43db7b6e84f0f91bb8d99dd9884829654b741e70d467c5eb2f
|
|
BLAKE2b-256 checksum How to use checksums |
d61010eadac2ca84210ccbb8e22c8b277b568aa43709d9b981a7cf02fe8e7198
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|