Aller au contenu

Python

Des tests pytest avec ipytest

Le module ipytest est disponible dans Basthon. Il permet d'écrire des tests pytest directement dans la console ou dans une cellule du notebook :

import ipytest
ipytest.autoconfig()

def moyenne(notes):
    return sum(notes) / len(notes)

def test_moyenne():
    assert moyenne([10, 12, 14]) == 12

def test_liste_vide():
    assert moyenne([]) == 0

ipytest.run()

Les assert sont détaillés comme avec pytest : on voit tout de suite quel test échoue et pourquoi. La commande magique %%ipytest n'existe pas dans Basthon : on appelle ipytest.run().

Jouer avec !

Des figures matplotlib interactives

Avec les noyaux isolés, les figures matplotlib de Basthon deviennent interactives : zoom, déplacement, retour aux vues précédentes, coordonnées affichées sous la souris… La figure est calculée dans le noyau puis affichée dans un cadre isolé, avec sa barre d'outils.

Les événements souris et clavier (mpl_connect) et les animations fonctionnent aussi, et la figure s'exporte en PNG, SVG ou PDF avec le bouton de téléchargement.

Jouer avec !

Zoom sur une figure matplotlib

p5 dans les noyaux isolés

Le module p5 fonctionne désormais avec les noyaux isolés de Basthon. Le dessin est calculé dans le noyau puis affiché dans un cadre isolé de la page, qui lui transmet les interactions : souris, clavier et écran tactile. Les images (loadImage) et les éléments HTML (createButton, createSlider…) sont aussi pris en charge.

Jouer avec !

p5 enflamme Basthon

Un mot de passe enseignant pour débloquer la suite du notebook

La fonction input de Basthon sait maintenant masquer la saisie :

mdp = input("Mot de passe : ", password=True)

Le module standard getpass en profite aussi : getpass.getpass() affiche désormais un vrai champ de mot de passe.

Combinée au notebook séquencé, cette nouveauté permet de faire valider chaque étape d'une activité par l'enseignant, qui passe dans les rangs et tape son mot de passe.

Jouer avec !

Validation par mot de passe enseignant

drawsvg 2

La version 2 du module drawsvg est disponible dans le noyau Python de Basthon, à côté de l'ancienne version drawSvg. Formes, textes, dégradés, animations… les dessins s'affichent directement et se téléchargent au format SVG avec d.download().

Jouer avec !

drawsvg 2