jqfpy

python3.8 meets jqfpy

最近手元の環境のpythonのバージョンが3.8になった(雑に yay -Syu をやっていた結果1)。 そう言えば、python3.8ではセイウチ演算子で知られるassignment expressionsが入ったので、jqに疲れたpythonistaのためという触れ込みで昔作っていたパッケージがも…

jqfpyが--input-format=rawをサポートすればsed,awk的な処理にも対応できるのでは?と思ったので実装してみた。けっこう便利だった。

github.com 以前にもちょっとしたjqfpyの活用方法の記事は書いていた。 数値の合計を取るのにJSONとみなせる JSON間の集合演算で面倒くさくなったのでpythonに丸投げした。できた。良かった。 今回もそれらと似たような話。 --input-format=raw 0.6.0からfor…

jqfpyにloadfile(),dumpfile()を追加していた

github.com loadfile(),dumpfile()がほしくなったので追加した。 jqfpy jqfpyは、 jsonをparseするためにDSLを覚えるのがめんどくさい(jq)。 各自自分の慣れた言語のワンライナーで十分なのでは? という発想のもとのpackage(自分はpython)。 重要なことは誰…

なぜちょっとした作業をやるときにMakefileを書いてしまうのか

はじめに なぜちょっとした作業をやる時にMakefileを書きたくなってしまうのかということについて頭を整理してみることにした。 ちょっとした作業? その前にちょっとした作業とは何かということについて触れることにする。ちょっとした作業というのはぱっと…

githubで特定のownerの持つリポジトリを全部cloneしたい

github上で特定のownerの持つrepositoryを全部cloneしたくなった。 具体的にはjupyter関連のコードを雑に手元に持っておきたかった。以下のワンライナーで済む(ただし100個以下の場合)。 $ TARGETNAME=jupyter $ http -b --pretty=format https://api.github…

今年作ったgithubのrepositoryを調べる

もしかしたら今年も作ったrepositoryを振り返えったりするかもしれないので。そのメモ。 今年作ったパブリックなrepositoryの一覧を手に入れる方法について。 setup 残念ながら依存関係があるので以下のインストールが必要。 pip instlal httpie jqfpy 今年…

jqfpyのgetにちょっとだけ機能を追加した `get('[]/x/ys[]/z')`。

github.com jqfpyのgetにちょっとだけ機能を追加した。具体的には、入力がリストの場合の処理を追加した。 例えば、こういうデータのnameだけとか。skillsのnameだけを取りたい場合にリスト内包表記になってしまうのがちょっとだけだるかった。 [ { "name": …

jqfpyにchunkを追加した。直接batch requestを叩けるように(続く)。

github.com jqfpyにchunkを追加した。直接batch requestを叩けるように。ただまだ機能は不足しているような気がする。試しにelastic searchのbatch apiを叩いてみようと思ったけれど。まだ足りなそうな感じ(続く)。 欲しくなった理由 例えばテキトウなJSON…

JSON間の集合演算で面倒くさくなったのでpythonに丸投げした。できた。良かった。

github.com 集合演算を手軽にやりたかった。 以下のようなxs.jsonとys.jsonに対する集合演算をやってみたい。 $ echo '[1,2,3,4,5]' > xs.json $ echo '[2,4,6,8,10]' > ys.json 意外とコマンドライン引数に渡して、それに --slurp をつけてリストとして扱う…

jqfpyのgetを強化してみた([],*,*[])

github.com jqfpyのgetを強化してみた。具体的には、<attirubte>[],*,*[]という表記が増えた。 ショートカット用の機能が増えたので、学習コストは上がっていき(?)、当初の想定とは異なりどんどんjqに近づいていっているということがないわけではないのだけれど。 (当初</attirubte>…

jqfpyでyamlを実験的にサポートしてみた

github.com jqfpyでyamlを実験的にサポートしてみた。実験的という言葉がついている理由は完全にサポートしているというわけじゃないということ。 具体的には、連続したjsonに対応した入力をサポートしていない(後で詳しく)。 yaml対応版のインストール yaml…

数値の合計を取るのにJSONとみなせる

以下のような数値が行毎に出力されたファイルがあり。この合計を出す時に 00data.txt 1 2 3 4 5 6 7 8 9 10 (複数の列がある中でcutなどで合計を求めたい列だけを取り出してからのsumの場合もある) 以前までは真面目にpythonのワンライナーを書いていた。他…

jqfpyを使ってswagger spec中の$refを取り出す

github.com かんたんなjqの処理はjqfpyでどうにかなるということがわかったのでもう少し複雑な処理をしてみることにした。今度はswagger中の$refを抽出してみる。 このswagger中の$refを取り出すことは意外と大変な気がしている。 そもそもjqだけでやるのは…

jqfpyというコマンドを作りました。

github.com はじまり jqfpyというコマンドを作りました。作った理由は概ねこの記事に書いてあるとおりです。 むずかしさの段階 JSONを整形したいときには概ね以下の3段階くらいの状況があるきがします。 かんたんなのでワンライナーで十分 ちょっと複雑な記…