Python

AI

商品のイメージを説明するキーワードをグラフにする

別に難しいことではないのだけれど、製品アンケートやお客様からのフィードバック、みたいなデータからLLMでキーワードを抽出し、グラフデータにするコードをちょろっと書いた。CSVに出力して、AGEFreighterでPostgreSQLにロー...
Azure

AGE MCP ServerをVisual Studio Code Insiderで動かす

Visual Studio Code InsidersがMCP Serverをサポートするようになったとのことで、設定方法をREADMEに追加して0.2.7としてリリースしました。 GitHub / PyPI
AI

Markdownを翻訳するのに疲れたので

大量に翻訳しなければならず、かといってOpenAI Desktopにコピペして、なんて面倒臭いのでPythonでコマンドとして使えるように書いた。おおむねイケるので、これでしばらくお仕事しようw GitHub / PyPI
AI

AGE MCP Serverに機能を追加して0.2.0リリース

MCP Server、面白いなぁ。コロナに罹患したことが先ほど分かったのだけど、薬飲んで頭痛が落ち着いたので、発熱する前に考えていたマルチグラフの機能を追加した。 「MCP_Testって名前のグラフを作って」(GitHubに置くから...
AI

AGE MCP Serverに色々追加した

元々、writeは出来るようにサーバは実装してあったんだけど、データを破壊する可能性があるのでunsafeクエリとして弾いていたのを、サーバの設定に'--allow-write'を指定することで許可するようにした。グラフ操作を自然言語で出...
AI

AGEのMCP Serverを書いたよ

昨夜、Cosmos DBのMCP Serverのサンプルが出てたので、そういやApache AGEはあるんだっけ?と思ったら、世の中に無さそうなので書きました。 なんか、mcpをHomebrewでソースからビルドすると、mcp -&...
AI

Mac Studio 2025(M4)でStable Diffusionを動かす

Mac Studioを更新したので、試しにStable Diffusion WebUI (AUTOMATIC1111)を動かしてみた。 python venvだと遅くてダルいので、uvで動かす手順。 /bin/bash -c ...
Azure

AGEFreighter 1.0.0a14 & agefreighter-viewer

毎日のようにリリースしているのでいちいちブログに書き込まないですが、1.0.0a14をリリースしてます。 GitHub / PyPI あと、WatchAGEとしてコンテナを試験的にリリースしてましたが、agefreighter...
Python

Zedの設定(更新版)

ちょっと前にZedの設定を書いたけれど、その設定だけではダメなことがマシン入れ替えで分かったのでw // Zed settings // // For information on how to configure Zed, see...
Azure

AGEFreighter 1.0.0a7

リリースしました。 CSVファイル、Cosmos DBに続いて、PostgreSQLからロードする機能を追加。といっても、0.9xにあった機能なんだけども、0.9xでの実装は指定したテーブルをそのまま放り込もうとするので不便だったた...
Azure

AGEFreighter 1.0.0a3リリース

かなり大きなリファクタリングをして、1.0.0系のリリースに漕ぎ着けました。 変更点 ライブラリからCLIツールに変更 例えばNeo4jから移行するのに、コードを書かないとならないのはけっこう辛い、と。一方で、ライブラリ...
Azure

AGEFreighter 0.8.12リリース

Neo4jとAGEの仕様の違いにハマって悩んでたが、たぶん解決した。汎用的なツール・ライブラリを書くのって、改めて難しいなと認識した。そんなことある?っていうパターンが普通に出てくるよね...。 GitHub
Azure

AGEFreighterは0.8.11まで上がってます

お客さんのとこでいくつか問題が出たので、その修正を重ねたらバージョンがトントンと上がっちゃって。 GitHub
Python

ゃくゃく様

追記(2025.03.06):AGEFreighterに統合しました。 YACCの勉強がてら、Cypherクエリのパーサを書いて、一通り動くようになったのでリリースした。 なんで書いたかというと、AGE関連で色々書くの...
Azure

AGEFreighter 0.8.4 / 0.8.5リリース

追記:コード眺めてたらバグに気付いて、すぐに0.8.5をリリースするハメになった。情けない...。緊急リリース。EMEAのお客さんが試したらUnicodeのエラーが出たって言われて。あ、aiofilesにencodingを指定するの忘れて...
Azure

AGEのビジュアライズ

追記(2025.03.06):AGEFreighterに統合しました。 追記:意外とサクサク進んだのでWatchAGEという名前を付けて、リリースしちゃった。 GitHub / DockerHub READMEを読んでも...
Python

uv initを簡単にする

思い付いたらすぐにuv initして書き始めたいが、uv init;uv venv;sourceするのが面倒臭い。.zprofileでフックしよう。 以下を.zprofileに追加して、source ~/.zprofileする。 ...
Azure

AGEFreighter 0.8.3リリースした

AGEFreighterそのものには手を加えていないけれど、tests/にneo2mcsv.pyというツールを追加した。何をするものかというと、Neo4jにあるグラフを、AGEFreighterのMultiCSVFreighterクラス用...
Azure

ANTLRを捨てて正規表現にした

g2cで、GremlinからCypherに変換して、そのCypherをさらにApache AGE用のクエリに変換するのにANTLRを使ってたんだけど、結構遅いこともあって正規表現に切り替えた。 それと、実際にApache AGEが入...
Azure

g2cにANTLRを追加してApache AGEに対応させた

追記(2025.03.06):AGEFreighterに統合しました。 変換するとCypherにはなるんだけども、Apache AGEではこのまま使えない。 g2c -g 'g.V().has(“name”, “Al...
Python

sphere_tspをcelestspに改名してパッケージにした

天球上の巡回セールス問題やメシエマラソンについて書いたのだけど、sphere_tsp.pyというファイル単体でGitHubに放流しており、使うにはちょっと敷居が高いので、これもbrewパッケージにしました。使ってるモジュールが重いので、イ...
Mac

macOSでOCRしたい(macocrコマンドにした)

macOSでOCRしたいのでPythonを書いたけど、自分の手元でもいちいちそのディレクトリに移動するのが面倒になったので、パッケージにしました。 以下でインストールできるはず。 brew tap rioriost/macoc...
Azure

g2cをアップデートした

昨夜思い付いてたんだけど、そのまま寝ちゃったので、今日になって実装した。0.1.0は単にGremlinクエリをCypherクエリに変換するだけだったんだが、ソースコードファイルからGremlinクエリを検出して、Cypherクエリに変換す...
Azure

g2c放流した

GremlinクエリをCypherクエリに変換するツールを書いたので、PyPIとGitHubに放流した。 インストールして、 brew tap rioriost/g2c brew install g2c 呼び出すだけ。 ...
Azure

Translations from Gremlin to Cypher

GremlinクエリをCypherクエリに変換出来ないかなぁと調べているんだけど、まずサンプルが無いとどうにもならんので集めた。以下のように記述してあります。 日本語の説明 Gremlin QueryCypher Query ...
Python

Zedの設定

追記(2025.03.12):更新版 あまりイジらなくてもZedはデフォでPythonに強いのだけど、ruffとcopilot chatだけはカスタマイズしている。 // Zed settings // // For info...
Azure

AGEFreighter 0.8.0リリース

新機能の追加は無いけれど、unittestとcoverageを導入して、潜在的なバグのパスを潰したりした0.8.0をリリースした。unittestはAGEFreighter / CSVFreighter / MultiCSVFreight...
Mac

parasyncリリースした

弊ブログの「rsyncを高速に」や「Azureに構築したrsyncサーバにparsyncfpでバックアップする」で繰り返し触れていることだけども、rsyncをそのまま使うと遅い。で、parsyncfpを使うなり、azcopyを使うなりする...
Mac

Phorganizeも作り直した

GitHubとPyPIに放流した。 こういう状態になっているディレクトリを tree ~/Desktop/photos /Users/rifujita/Desktop/photos ├── 125A9549.MP4 ├── 1...
Python

Tapo Streamerを作り直した

追記(2025.02.16):OpenCVベースでSegfaultが出まくるため、後日書き直します。 PySimpleGUIのライセンスが厳しくなったけど、tcl/tk 9.xへの対応が遅れていて旧・Tapo-Streamerが動か...
Azure

AGEFreighter 0.7.0リリース

MultiAzureStorageFreighterクラスを追加しました。このクラスがAGEFreighterの大本命で、巨大な複数のCSVファイルから、Azure Database for PostgreSQL + Apache AGE...
Python

AGEFreighter 0.6.1リリース

もっぱらドキュメント(README)を書き直すのと、ダミーデータを生成し直してパッケージに含めるようにするのと、使い方を分かりやすく作業をゴリゴリやっただけで、コードそのものはそれほどイジってないんだけども0.6.1としてリリースしました...
Azure

C105は2本書きました

いつもは次のコミケの前に公開するんだけど、C105の『らぼちっく;げーと』が完売してしまったとのことなので、書いた2本を公開。 「か式巣箱」の設計図については、既に公開してあるのでそちらを参照してください。 「か式巣箱」の作り...
Python

天球上の巡回セールスマン問題

大晦日にも撮影したけれど、UnistellarのOdysseyで撮影する際に、東の空を撮影して、西の空を撮影して、また東の空に戻って、となると、いくら自動で天体を導入してくれるとはいえ、鏡筒の移動に時間がかかります。もちろん、それだけモー...
Mac

macOSでOCRしたい

追記(2025.02.16):brewでインストールできるようにしました。 プレビュー.appで画像を開くと、認識した文字列をコピーできるけれど、あれをPythonから呼び出して大量の画像に対してバッチ処理したい。 で、mac...
Python

PythonとRustで比較

だいぶ前だけど、MojoでPythonが高速化できるという話があって、はーなるほどねぇ、ぐらいだったんだけど、ほとんどそのままな感じでRustにしたらどうなるんだっけ?というのをやってなかったのを急に思い出した。 #!/usr/bi...
Azure

AGEFreighter 0.6.0リリース

エッジのプロパティをサポートしてなかったので、追加。あと、AGEFreighterそのものではないのだけれど、AgeFreighterTesterクラスをかなり書き換えた。テスト項目が増えてきたので。
Azure

AGEFreighter 0.5.3リリース

ちょっとスクショがデカいけれども、0.5.3をリリースしたよ、と。0.5.2でAzure Storageのファイルから読み込む機能を追加したのだけれど、テストに使ったのはたかだか19万エッジしか無いデータなので、サクッと動いた一方、予想通...
Azure

AGEFreighter 0.5.2リリース

これ、なかなか大変でした。一番書きたかったやつです。ツイートしたりあちこちで書いたりしているんだけど、このAzureStorageFreighterというクラスが本命でして、なんでこんなものを書かないとならないかという話を少しだけ...
Azure

AGEFreighter 0.5.0リリース

0.5.0をリリースして、すぐ0.5.1にしましたけどw いや、あまりにも0.5.0のサンプルが分かりにくいなと思って、READMEだけ更新したけど、pypiって同じバージョンでREADMEだけ変えられないっぽいから仕方なく...
Python

Apache AGEのグラフを一括で消したい

AGEでcreate_graph()したグラフは、ag_catalogスキーマのag_graphテーブルに格納されており、以下のように格納されている。 \d ag_graph Table "...
Python

uvでPythonパッケージを公開する

AGEFreighterを公開するにあたってTest PyPIから本番に移行し、それに伴っていくつかファイルをちゃんと作る必要もあったので、備忘録を兼ねてまとめておく。 環境整備 まずuvで以下の準備をする。 uv in...
Azure

AGEFreighterを使った簡単なグラフデータのデモ

Apache AGEのハンズオンをやらんとならんので、ざっと書いた。 # deploy Azure Database for PostgreSQL # add AGE extension to 'azure.extensi...
Azure

リリースしました

AGE用のクラスを書いてたりしたんだけども、結局3度目の書き直しをした上、色々な速度向上策を試して、ひとまずリリースできる程度にはなったので、PyPIにリリースしました。 要は、デカいデータを出来るだけ楽に速くApache ...
Python

psycopgのCOPYサポート

Using COPY TO and COPY FROMを読むとCOPYが使えるとあるが、write_row()とwrite()は(当たり前と言えば当たり前だが)挙動が異なる。 records = with cursor.copy...
Python

Apache AGEのidはどうやって決まるのか

COPYしたい 先日来、Apache AGEにどうにかしてデカいデータを流し込もうとしている途中で色々試しているのだけれど、やはりCypher / SQLではなく、COPYプロトコルでぶっ込むしかないかぁ、となり。 さて、Ve...
Python

venv activateがダルい

bashの人は読み替えて。 echo "alias activate='source \$PWD/.venv/bin/activate'" >> ~/.zprofile と思...
Python

Fakerでデカいデータを作りたい

顧客1億人商品1万件顧客がそれぞれ数個の商品を購入 というシナリオのダミーデータが必要になって、あまり本番ぽくなくて良いならPostgreSQLでgenerate_series()したりするんだけど、グラフデータとして使おうとすると...
Azure

AGE用のクラスを書き直してみた

追記(2024.11.11):リリースしました いったんクラスを書いてみたのだけれど汎用性が無いのと遅いのがダメなので、CSVから高速に突っ込めるように書き直して、テスト中。同じインスタンスサイズでテストした結果で比較すると、42秒...
Python

Rのduncan.test()をPythonで実行する

どうやって実装したもんかな、と思っていたが、Pythonでロジックをそのまま書かなくても、RのオブジェクトをPythonで利用すれば良いので、以下でひとまずイケるっぽい。 #!/usr/bin/env python3.11 # -*...
タイトルとURLをコピーしました