Aller au contenu

Publications

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 !

Le notebook parle dix langues

L'interface du notebook de Basthon est maintenant traduite en dix langues : français, anglais, allemand, espagnol, italien, néerlandais, portugais, russe, chinois et japonais.

La langue se choisit dans le menu Affichage, sous-menu Langue, et le choix est retenu pour les visites suivantes. On peut aussi l'imposer dans un lien avec le paramètre lang, par exemple ?lang=en.

Jouer avec !

Le notebook en allemand

Un noyau C dans Basthon

Grande nouveauté : Basthon parle désormais C ! Le code est compilé en WebAssembly directement dans le navigateur, sans installation ni serveur, grâce au compilateur xcc.

Le noyau est pensé pour apprendre :

  • pas besoin de main : les instructions s'exécutent directement et tout ce qui est déclaré reste disponible pour la suite ;
  • la dernière expression, sans point-virgule, est affichée avec son type ;
  • scanf fonctionne comme l'input de Python ;
  • les formats de printf et scanf, les pointeurs NULL et les débordements de tableaux sont signalés.

Il est disponible dans la console et dans le notebook.

Jouer avec !

Le noyau C dans la console

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