Python – Développer une librairie
Date de mise à jour :
Identifiant Offre Info : 15_26527777F
Organisme responsable :
Data Value
(ouvre dans un nouvel onglet)
Présentation de la formation
Objectifs
Maîtriser le développement de librairies Python : conception, structuration, tests automatisés, documentation et déploiement. Appliquer les bonnes pratiques du développement collaboratif en Python pour produire des packages fiables, maintenables et réutilisables. Compétences visées - Sélectionner l'outil adapté pour gérer les environnements virtuels - Créer une librairie - Comprendre et utiliser efficacement les syntaxes de la commande import - Écrire des tests unitaires et…
Appliquer les bonnes pratiques du développement collaboratif en Python pour produire des packages fiables, maintenables et réutilisables.
Compétences visées
- Sélectionner l'outil adapté pour gérer les environnements virtuels
- Créer une librairie
- Comprendre et utiliser efficacement les syntaxes de la commande import
- Écrire des tests unitaires et d'intégration avec pytest
- Documenter sa librairie et générer une documentation professionnelle
- Packager sa librairie et la déployer
- Travailler en équipe avec un outil de versionnement
- Configurer un workflow de qualité avec des pré-commits
- Automatiser les tests et le déploiement avec GitLab CI/CD (ou autre)
Programme de la formation
- Choisir son environnement virtuel : Panaroma des différents outils: virtualenv, poetry, pipenv, conda, uv, pixi, ... / Le fichier pyproject.toml et les peps qui le définissent / Créer un environnement virtuel reproductible TP : Création d'un environnement virtuel avec l'outil retenu par les participants (uv ou pixi sont les plus pertinents aujourd'hui) Création d'un fichier pyproject.toml minimal - Créer une librairie : Un peu de terminologie : modules, packages,…
TP : Création d'un environnement virtuel avec l'outil retenu par les participants (uv ou pixi sont les plus pertinents aujourd'hui) Création d'un fichier pyproject.toml minimal
- Créer une librairie : Un peu de terminologie : modules, packages, librairies et framework / Créer et importer une librairie / Le fichier __init__.py et les variables spéciales / L'arborescence standard / Comprendre et utiliser efficacement les imports relatifs / Maîtriser la recherche au travers des chemins d'imports / Créer un binding Python pour une librairie C
TP : Créer le squelette de sa librairie. Utiliser un fichier pyproject.toml pour y ajouter des dépendances et métadonnées. Créer un binding en C ou Cython selon les besoins des participants
- Documenter sa librairie : Les docstrings et PEPS / Les formats de documentation Google, NumPy, ou reStructuredText / Utiliser Sphinx et Jupyter Book / Publier avec ReadTheDocs
TP : Générer la documentation avec Sphinx et Jupyter Book
- Tester sa librairie : Le Test Driven Development / Les bases avec assert, doctest et unittest / Pytest: les bases, marqueurs et paramètres, fixtures, plugins, ... / Les autres outils de tests: mocking, hypothesis, ... / Logger : concepts et bonnes pratiques
TP : Ecrire des tests unitaires, bien traiter les bugs, mise en place de logs
- Packager sa librairie : Choisir son outil de packaging: setuptools, flit, Hatchling, pdm, ... / Les formats eggs et wheel / Pyproject.toml : les bases, dépendances, fichiers non python
TP : Créer un package et l'installer dans un environnement virtuel. Le déposer sur Pypi
- Intégration continue et qualité logicielle : Conventions de codage : PEP8, PEP257 / Outils qualité: linter, formatter, contrôles de type, ... / Rappels sur Git : branches, commits, merges, rebases / Versionner avec git/GitHub/GitLab / GitLab (ou GitHub) : gestion de dépôt, issues, merge requests / Bonnes pratiques : convention Conventional Commits, branches courtes et thématiques / Pré-commit et formattage automatique avec Ruff / Intégration continue : les concepts et mise en pratique / Revue de code
TP: Automatisation d'un pipeline CI/CD permettant : - D'exécuter les tests et mesurer la couverture - Builder le package - Générer et déployer la documentation
Sous réserve de contraintes techniques ou de confidentialité, nous vous proposons de personnaliser la formation en réalisant des exercices directement sur vos données ou projets métiers
Validation et sanction
Type de formation
Non certifiante
Niveau de sortie
Sans niveau spécifique
Durée, rythme, financement
Durée
En centre
28 h
Financement
- Conventionnement
- Oui
- Financeurs
-
- Autre
- Entreprise
Conditions d'accès
Publics visés
- Demandeur d'emploi
- Public en emploi
- Salarié dans le cadre du CIF
- Salarié dans le cadre du DIF
- Salarié dans le cadre du plan de formation
- Salarié en contrat aidé
- Salarié en période de professionnalisation
- Salarié en reconversion
- Tout public
Informations sur les publics
Développeurs Python, data analysts, data scientists et ingénieurs souhaitant structurer, industrialiser et partager leurs développements Python sous forme de librairies réutilisables.
Niveau d'entrée
Sans niveau spécifique
Conditions spécifiques et prérequis
Pour suivre ce stage dans de bonnes conditions, il est recommandé d'avoir suivi en amont la formation Python – Bases et introduction aux librairies scientifiques ou d'avoir atteint par la pratique un niveau équivalent
Lieu de réalisation de l'action
Modalités d'enseignement
Formation entièrement à distance
Adresse
Périodes prévisibles de déroulement des sessions
Début
Fin
- Adresse d'inscription
-
41 rue de la Découverte
31676 Labège - État du recrutement
- Ouvert
- Modalités
- Entrées / Sorties à dates fixes