PyScriptなるものが登場したようです。
Contents
PyScriptとは
GitHubのREADMEに書いてあることをGoogle翻訳にかけてみます。
PyScriptは、Scratch、JSFiddle、またはその他の「使いやすい」プログラミングフレームワークのPythonの代替手段であり、誰もが興味深くインタラクティブなアプリケーションを作成できる、フレンドリーでハッキング可能な場所になります。
https://github.com/pyscript/pyscript
よく分からないですが、HTMLにPythonコードを埋め込めるものだと理解しました。
コンテンツを作成してみる
こちらのサンプルソースに基づいて、PyScriptのコンテンツを作成してみます。
まずは、お約束のHelloWorldです。
実際に配置したページはココ
<html>
<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> </body>
</html>
続いて、datetimeライブラリや関数の使用です。
実際に配置したページはココ
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
</head>
<body>
<b><p>Today is <u><label id='today'></label></u></p></b>
<br>
<div id="pi" class="alert alert-primary"></div>
<py-script>
import datetime as dt
pyscript.write('today', dt.date.today().strftime('%A %B %d, %Y'))
def wallis(n):
pi = 2
for i in range(1,n):
pi *= 4 * i ** 2 / (4 * i ** 2 - 1)
return pi
pi = wallis(100000)
pyscript.write('pi', f'π is approximately {pi:.3f}')
</py-script>
</body>
</html>
最後に、matplotlibを用いての図の描画です。
実際に配置したページはココ
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- numpy
- matplotlib
</py-env>
</head>
<body>
<h1>Let's plot random numbers</h1>
<div id="plot"></div>
<py-script output="plot">
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000)
y = np.random.randn(1000)
fig, ax = plt.subplots()
ax.scatter(x, y)
fig
</py-script>
</body>
</html>
最後に
アクセスしてみると分かると思いますが、PyScriptの処理時間がとても長いです。
今の状態だと、私は使おうとは思いません(フロントをPyScriptで実装するのが主流になるかも?と少し期待したのですが)。。
どんな場面で使うのか、今の私には想像が及ばないのですが、これからの動きをウォッチしていこうと思います。
コメントを残す