Aller au contenu principal

Python – Développer une librairie

Date de mise à jour :
Identifiant Offre Info : 15_26527777F
Organisme responsable : Data Value (ouvre dans un nouvel onglet)

Nouvelle recherche

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…

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 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,…

- 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, 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

Attestation de formation

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

    Programme : Autre financement (AIF, entreprise , individuel…)

    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.

  • Entreprise

    Programme : Autre financement (AIF, entreprise , individuel…)

    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.

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