Bonjour


L'énorme "hipe" de la semaine dans le monde python est pyscript.

pyscript permet d'écrire du code python dans nos pages html. Pour uniquement remplacer javascript, cela n'a pas trop d'intéret (le chargement est long) mais par contre, avec cette technologie, l'énorme plus par rapport à javascript est que nous avons accès aux bibliotèques python (numpy, pandas, ...).

Exemple de base:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html lang="fr">
  <head>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
  </head>
  <body> 
    <py-script> print('Hello, World!') </py-script>
 
    <hr>
    <p id="env"></p>
 
    <hr>
    <p id="hello"></p> 
 
<py-script>
# Affectation d'une valeur à une balise html par son id
pyscript.write('hello', "Bonjour vous")
</py-script>
 
<py-script output="env">
# sortie de la dernière instruction dans la balise "output"
from js import console
console.log("sortie dans la console du navigateur web de cette chaine")
globals()
</py-script>
 
  </body>
</html>
Il est aussi possible d'insérer nos propres fichiers python (uniquement sur serveur web)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
    <py-env>
      - paths:
        - ./test.py
    </py-env>
...
    <py-script>
# utilise un fichier python téléchargé depuis le même serveur http que la page
import test
print(test)
test.bonjour("A vous")
    </py-script>
py-env permet aussi de télécharger des bibliothèques python (quelques Mo à télécharger !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    <py-env>
      - pandas
      - matplotlib
    </py-env>
 
Cette balise va contenir un graphique...
<p id="plot"></p>
 
    <py-script output="plot">
import matplotlib.pyplot as plt
import numpy as np
 
np.random.seed(42)
rv = np.random.standard_normal(1000)
fig, ax = plt.subplots()
ax.hist(rv, bins=30)
fig
    </py-script>

Des exemples sont disponibles avec leur code source