twitterを見てたら、pythonをjavascriptのようにhtmlファイル内で利用するOSSが公開されていたので、試しに触ってみました。
alpha版でheavy developmentとなっているので、このあと変化も多いと思いますが、ものは試しで動作を見てみます。
Pyscript使い方
CDNで公開されているので、以下のコードをhead内に入れ込めば動きます。アナコンダが出しているやつですが、pycharm環境下でも動作しました。
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>こちらにCDNが紹介されています。
実際のコード
サンプルコードをベースに実際に利用してみました。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pyscript_test_Page</title>
<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("Let's compute π:")
def compute_pi(n):
pi = 2
for i in range(1,n):
pi *= 4 * i ** 2 / (4 * i ** 2 - 1)
return pi
pi = compute_pi(100000)
s = f"π is approximately {pi:.3f}"
print(s)
</py-script>
<a>test line2</a>
</body>
</html>πを計算して返すだけですが、formatingやdefなどもhtmlファイル内で利用できています。
実行結果
表示までにcdn読み込みの影響か、少し時間がかかります。最初に<a>タグのデータが表示され、少しの時差で<py-script>タグの実行結果も読み込まれました。

どんな人に役に立つの?
まぁぶっちゃければ、pythonばっかり描いてる人でフロント別に書きたくない人ぐらいしか使わないのかも、、、とも思いつつ。javascript嫌、全部pythonがいいんだ、俺は、って人は試してみてもいいのかも。
まとめ
pyscriptの紹介でした。javascriptの完全代替となるのかまでは試していないのですが、htmlの描画をpythonで代替できるのは、python好きにはちょうどいいかもと思いました。

