Python at CASD

Datascience team

Goals

  • Use and manage Python at CASD (environment / dependencies)
  • GIT
  • Python project management
  • Tools to develop and manage your application

Virtual environments

A Python virtual environment is :

  • A Python version
  • Associated libraries

as one execution environment we can use

illustration venv

It allows :

  • isolation of dependencies between applications
  • Management of the different Python versions
  • Management of the different libraries versions

Two technologies to manage these environments :

  • Anaconda : Windows / Linux / MacOS
  • Pyenv : Linux / MacOS
Environent creation in the project space :
 conda create --name project_1 python=3.12 --offline 


Activation of environment :
 conda activate projet_1 

Installing packages in the environment

 pip install package_name
or:
 pip install -r requirements.txt
then:
 import package_name

Python specificity:

Some packages are native!

 pip install sys

will not work because sys is distributed with Python

How it works at CASD:

CASD specificity:

Not all packages are available on internal servers!

If a package is missing : service@casd.eu

If in doubt :

pip list
or
conda list

shows all packages installed in your environment !

Gestion du projet Python

Gestion du code et de l'arbre de fichier

Mon objectif est de vous convaincre que ceci :

est plus efficace que ceci :

Pourquoi ?

Règles générales :

  • S'appuyer sur des templates existants
  • Séparer les objectifs et les traiter de façon distinctes
  • Correctement cerner les besoins
  • Effectuer une conception générale en modules et sous modules qui communiquent

Git au CASD

Git est un système de gestion de version de code qui permet d'apporter des modifications de façon progressive à une base de code informatique
Git n'est pas github ! git is not github

Intérêt de Git

  • Avoir différentes versions de son code en suivant les changements
  • Rétablir une version antérieure en cas de bug
  • Travailler de façon collaborative
  • Ne pas perdre son code en cas de panne sur une machine

Principe de fonctionnement

git architechture

Principe de fonctionnement

  • Chaque utilisateur envoie des petites modifications à la base de code
  • Il décrit sa modification dans un message
  • Il envoie les modifications de façon progressive au dépot central
  • Les autres contributeurs peuvent récupérer les modifications

Au CASD

  • Pas de synchronisation avec un répertoire exterieur
  • Les accès aux providers (Github / Gitlab) sont coupés

Au CASD

  • Git est disponible et peut être utilisé localement !
  • Le dépot distant est remplacé par un dépot local dans l'espace commun !

Principe du git bare

git bare
  • Le repertoire bare est dans l'espace commun, il n'est pas directement éditable
  • Les repertoires non bare sont dans les espaces personnels, ils sont éditables

Développer une application

Visual Studio Code

  • Très nombreuses fonctions de personnalisation
  • Multi-language
  • Autocomplétion/sauvegarde automatique/formattage automatique

Coder en Python

app/core/functions.py :
def convert(age):
	if age < 18 :
		categorie = '[0-18]'
	elif age < 30 :
		categorie = '[18-35]'
	elif age < 50 :
		categorie = '[36-50]'
	else :
		categorie = '[51-110]'
	return categorie
					

Coder en Python

app/main.py :
# Imports
import os
import sys
from app.functions import convert

# Fonction principale
def main():
	print("Bienvenue !")
	age_utilisateur = input("Entrez votre age : ")
	categorie = convert(age_utilisateur)
	print(f"Vous appartenenez aux {categorie} ans !")

# Execution du code
if __name__ == "__main__":
	main()
					

Merci pour votre attention