PySheets の紹介
- PySheets は Python 向けのスプレッドシート UI を提供し、ユーザーが探索的データサイエンスを行い、Pandas を使い、matplotlib でチャートを作成し、Excel シートを取り込み、データを分析し、レポートを作成できるようにする
- すべての Python コードはブラウザで実行され、PySheets 自体も Python で書かれている
- PySheets を使うと、ユーザーは多くのコードを書かなくても、膨大なデータサイエンスのエコシステムを活用するために、あらゆる Python パッケージと JS モジュールを読み込める
PySheets の主な機能
- Excel シートをすばやく取り込み・書き出しできる
- Pandas でデータを探索・分析できる
- Matplotlib を使って AI ベースの可視化を簡単に行える
- 最小限のコーディングで即座に結果を得られる
- チームメンバーと共有シートでコラボレーションできる
- 設定、カーネル、高額なクラウドコストが不要
- Python と JS のエコシステム全体を活用できる
PySheets の利用状況
- PySheets は 2024 年 4 月 27 日に公開ベータ版としてリリースされた
- 4 月 21 日と 23 日には、初期ベータテスターの Bruno が楽しく使っていたことが示されている
- チャートは PySheets で生成され、"embed" 機能を使って提供されている
ユーザーフィードバック
- "組み込み Python でクライアントサイドのスプレッドシートを使えるのはいいですね!" - JG
- "Python の柔軟性と、明確なスプレッドシートインターフェースおよび可視化が気に入っています。" - *****@google.com
- "PySheets は私の好きな配列ベースのコーディングを可能にしてくれます!" - FK
- "セルと Python を組み合わせるのは素晴らしいです!" - FG
- "PySheets は使いやすく、カスタマイズできます。" - IT
- "Jupyter Notebook とスプレッドシートのユニークな融合。" - FE
- "プロセスフローチャート、スプレッドシート、スクリプトを一度に手に入れられます。" - B2
- "PySheets はオープンソースの LTK を使っているので興味深いです。" - AL
- "ブラウザを離れずに、インタラクションも、Excel も、すべてできます!" - PZ
- "PySheets は非技術系アナリストとデータサイエンティストの間のギャップを埋めてくれます。" - *****@miracalml.com
- "PyScript に対する素晴らしい仕事です。プラットフォームを最大限に活用しています。" - *****@anaconda.com
- "PySheets は、Python をまず書く人のための Excel です。" - NA
価格ポリシー
- 無料: 5 シートの無制限編集、100 回の AI 生成、Excel 取り込み/書き出し
- Pro ($19.99/月): コラボレーション、無制限シート、コミュニティサポート、無制限 AI 生成
- Enterprise: Single Sign-On、オンプレミス導入、ローカルストレージ、専任サポート、監査ダッシュボード
チーム紹介
- 主任開発者の Chris Laffra は、開発ツール構築において 30 年以上の経験を持ち、IBM、Google、Uber に勤務し、Morgan Stanley、Bank of America、JP Morgan では革新的な金融商品を構築するためのエンジニアリングチームを率いてきた
- プロダクトリーダーの Kurt Vile は、ウォール街出身のグローバル技術エグゼクティブであり、戦略的な IT ビジョンを持つ人物で、技術プラットフォーム、ソフトウェアエンジニアリング、データ、データサイエンス、汎用 AI、金融の専門知識を持ち、スプレッドシートとデータ分析に対する生来の理解力を備えている
- Chris と Kurt は、技術面と財務面の専門性、そして優れたユーザー体験への情熱を結び付けている
GN+ の見解
- PySheets は、Python をブラウザで直接実行し、データ分析のための親しみやすいスプレッドシートインターフェースを提供することで、データサイエンティストと非開発者の間のギャップを埋める興味深い製品に見える
- 既存の Jupyter Notebook や Google Colab に似た面はあるが、スプレッドシート UI を提供する点で差別化されている。ただし、高度な分析には依然として Python コーディング能力が必要になりそうだ
- 価格はやや高めで、個人ユーザーの獲得は簡単ではなさそうであり、企業顧客向けのエンタープライズ機能により重点を置く方がよさそうだ
- 金融・会計分野での活用可能性が大きいと見られ、経営陣・意思決定者とデータアナリストの間のコミュニケーションおよびコラボレーションツールとしての価値も期待される
- スプレッドシートに機械学習や可視化などの機能を追加した製品としては、MS の Excel Ideas や Google Sheets の Explore 機能などがあるが、それらと比べて PySheets は、より柔軟で強力な Python ベースの分析環境を提供するという利点がある
2件のコメント
こういうの、いいですね
Hacker Newsの意見
PySheetsの作者です。アプリはすべてPythonで書かれており、PyScript上でPyScript-LTKを使い、MicroPythonとPyOdideという2つのPython VMを使っています。
WebサーバーはDigitalOceanのgunicornで動く最小限のロジックで、ストレージはFirestoreです。スタンドアロンのオンプレミスアプリとして簡単にパッケージ化できますが、まだ優先順位は高くしていません。ブラウザでPythonでWebアプリを書くやり方について意見を聞きたいです
PyCon US Pittsburghに来る予定なら、たいていAnacondaブースにいるはずです
ときどき、プログラミングをしない同僚が使う小さなアプリを作ることがありますが、彼らはスプレッドシートはかなりうまく扱えます。今はPythonにかなり縛られていますが、アプリ配布が悩みの種なのでいろいろな解決策を見てきて、fletでWebアプリもいくつか作ってみましたが、試したほぼすべてのプラットフォームで動きました。このアプローチも良さそうです。
ただし、セキュリティ上難しくあるべき理由は理解しますが、Webアプリがユーザーのファイルにアクセスする方法があるのか知りたいです
露骨な宣伝ですが、もっと大きなデータセットを扱うならrowzero.ioも見てみるとよいでしょう。
最初はPySheetsのように数式言語を完全なPythonにする実装を試みましたが、大きなCSVの取り込みのような処理でPythonインタープリタがボトルネックになり、GILのため評価を並列化できませんでした。PythonとExcel数式言語の小さな文法差のせいで、ビジネスユーザーにとってもより難しくなっていました。
そこでスプレッドシートエンジンと数式言語をRustで実装しました。任意のPython関数を書けるPythonコードウィンドウがあり、その関数はスプレッドシートのどのセルからでも数式として呼び出せます。PandasデータフレームをPython領域とスプレッドシート領域の間で自然にやり取りできるようにして、純粋なPythonの利点の90%を性能の犠牲なしに得られるようにしています
PySheetsは現在、ブラウザ内でWebAssembly上で動いており、ここでの制約はPythonが遅いことよりも大きいです。インタープリタとライブラリを含めて、アドレス可能なメモリは4GBしかなく、ネットワーク帯域幅もクライアント側計算の制約になります。
それでもPySheetsは50,000行のExcelシートをベースにしたシートを0.5秒でレンダリングでき、完全なエンドツーエンドの再計算には約20秒かかります。大きなデータセットでPolarsを回せる外部カーネルなしに、ブラウザでできることには限界がありますが、多くの場合はPySheetsが提供する機能だけで十分だと思います。
PySheetsの作者として、「競合」が私たちを脅威と見ているとは光栄です。Rowzeroもかなり印象的で、よくできています :-)
データサイエンティストとしては使うでしょうが、金融担当者としては使わない理由があります。1) クラウドで動いていますが、機密データがあるのでローカルまたはオンプレミスで動くか、GCP/AWS/Azureと統合される必要があります。Rustバックエンドならよく、PythonならDockerでライブラリの束も一緒に配布すべきです。
2) PowerPoint/Wordの代替も作るか、少なくともPowerPoint/Wordへのコピー&ペーストが簡単であるべきです。3) ビッグデータとDB接続を強く打ち出すべきです。今のボトルネックはそこにあり、Bloomberg、Factset、CapitalIQのような金融業界で人気のサービス向けPython APIも、契約があるならすぐ使える形で提供するとよいでしょう。
4) テキスト側も扱う必要があります。類似度用埋め込み、Pythonのファジーマッチング、キーワードの緑色ハイライトや本文検索のようなテキスト分析インターフェースが必要です。金融業界ではPDFもよく扱うので、今のようにウィンドウを2つ開くのではなく、1つのプラットフォームにすべて入っているとよいです
Rustでこういうものを実装する良いサンプルが見つからず、petgraphのようなグラフライブラリを使うべきか、自作すべきか気になっています
ブラウザではないPythonベースのスプレッドシートアプリとしては、https://pyspread.gitlab.io/ があります
良いアイデアだと思う。非開発者には使いやすいGUIを提供しつつ、データ志向のユーザーには同時に Pandas を提供するというやり方だ。
似たようなもので、しかもセルフホスト可能なプロジェクトがあるのか気になる。健康関連のデータを外部サービスに載せるのは気が進まない
[0] https://www.trymito.io/
https://www.getgrist.com/product/self-managed
すべて拡張可能なので[2]、ワークフローに合わせて統計や変換をカスタマイズできる
[1] https://github.com/paddymul/buckaroo
[2] https://youtu.be/GPl6_9n31NE
外部サービスとデータを共有したくない企業にも導入できるよう、オンプレミス を念頭に設計した。ただし PySheets に保存されるのは、シート自体に保存されたデータだけだ。ほとんどのユースケースでは、別の場所からデータを読み込み、フィルタリング・変換したうえで結果をレンダリングすることになるだろう。それでもセルフホストは興味深いユースケースになり得る
https://buckaroo-data.readthedocs.io/en/latest/articles/rela...
ビデオウォークスルーやチュートリアルが出る可能性があるのか気になる。ランディングページを見るだけでは、ワークフロー が何なのか、PySheets がどんなユースケースを解決するのか分かりにくい
調べるためにアカウント登録まではしたくない
RowZero と PySheets を 30 分ほど使ってみた。RowZero は 巨大なデータセット をサポートしているようだ
Python スプレッドシートとして quadratichq を使ってきたが、今では RowZero のほうが機能が多く、価格も安く見える。PySheets はオープンソースだと思っていたが、クローズドのようで、価格は 2 倍、しかも 50 行に制限されている。結局 https://www.w3resource.com/python-exercises/pandas/excel/Sal... を PySheets に取り込む方法も分からなかった
visidata は知らなかったが、本当にすばらしい。有益な記事だった
2000年代から2010年代初頭にかけて、ロンドンのスタートアップ Resolver Systems[1] が Python とスプレッドシートを組み合わせようとしていた
結局は成功しなかったが、それは当時の Python の知名度が今よりずっと低かったからなのか気になる
[1] http://www.resolversystems.com
その後 PythonAnywhere を創業した人たちと一部同じメンバーだった気がするし、PythonAnywhere も使ってみた。最近どこかで Anaconda に買収されたと読んだ
かなり良さそう。Excel、Sheets、Numbersが、Pythonのようなまともな言語でコーディングして、その後で可視化やクエリをできるようにしてくれないことにイライラしている人には魅力的だと思う。
ただ、Webページの3行目に AI-driven とある。ページ作成者にとって重要な機能なのだろうと推測してしまう。
Ctrl-Fで「ai-driven」を探すと、ページでもう1回出てきて、「Matplotlibで簡単なAI駆動の可視化を実行」と書かれている。ランディングページにはそれ以上の説明がなく、ドキュメントも見つけられなかった。「pysheets docs」で検索したら、同名の別のPythonライブラリが出てきた。
先週、初めてChatGPTを使って履歴書をレビューさせた。普段はそうしないが、応募した会社がChatGPTでコードを生成・レビューしていることを強くアピールしていたからだ。懐疑的な気持ちで自分でも使ってみたが、結果は印象的だった。
ただし、ChatGPTは履歴書に存在しない文法ミスを指摘した。フィードバックで批判された文は履歴書のどこにもなく、似たものすらなかった。もちろん、ネットワークの1000層の深部には、何かしら誤りのあるものとの類似性があったのかもしれないが、こういうものを効果的にデバッグできたらいいのにと思う。
なので、スプレッドシートプログラムで説明のない AI-driven を見ると、データが幻覚されるのではないかととても心配になる。作者が正確に何を意味しているのか説明してほしい。チャートが99%は正しいけれどたまに幻覚するのか、とにかく何が起きるのか知りたい。それさえ分かれば、今すぐベータに登録するかもしれない。
最後に冗談をひとつ。作者の1人の名前がKurt Vileだなんて、そんな確率あるだろうか: https://www.youtube.com/watch?v=4uAXMl-Bfiw
生成されるコードは印象的で、初心者のデータサイエンティストがPandasやPyplot APIを探索する助けになるかもしれない。AIはPythonコードの生成に使われており、シート内のデータを分析したり生成したりするためには使われていない。ランディングページではこの点を明確にするつもりだ。
こっちは別のKurt Vileです :-)
とても優れていて、よく磨き込まれたプロジェクトに見える。スプレッドシートで Python を活用するのは良いアイデアで、Excelもすでにそうしているようだ。それでも、これほど明快で使いやすい実装を見るのはうれしい。
PySheets自体への批判ではないが、スプレッドシートはもっと厳格であってほしい。たとえばシートを表形式に強制するような形だ。そうすれば、組織の中で人々が後になってスプレッドシート以外のツールで解析したりリバースエンジニアリングしたりしなければならない、ひどい混沌を生み出さずに済む。
データを取得し、Dataframeに変換し、整形し、分析し、学習し、エクスポートするという流れだ。たとえば、PySheetsの利用指標を読み込んでデータフレームに変換し、グラフ化したあと、pysheets.appのランディングページにライブチャートとしてレンダリングするシートがある。
興味深いソフトウェア/アプリだ。今の会社には、Excel数式の中に多くの ビジネスロジック が入っているExcelファイルがたくさんある。
ExcelファイルをPySheetsにインポートした場合、元のExcelファイルの数式も認識するのか気になる。PySheetで何ができるのかを見せる動画があるかも知りたい。
可能性のあるロードマップには入っているが、まだそこまでは進んでいない。2月に前職を辞めてから、PySheetsの作業期間は実質3か月ほどしかない。