2016-01-30
今週の Github Trending Python Weekly
https://github.com/trending?l=python&since=weekly
四回目。
json-sempai jsonファイルをpython moduleのように扱う
https://github.com/kragniz/json-sempai
hoge.json というファイルに対して import hoge と書くだけで hoge.fuga.piyo のような書き方でアクセスできるようになる。
コードはすっげえ短くて100行も無い。動的プログラミングをバリバリ書いてるけど、こういうこともできるんだなあとその可能性に感嘆。
Classifier ファイルを拡張別にディレクトリ分類する
https://github.com/bhrigu123/classifier
$ classifier -st (ここで指定した拡張子を) -sf (ここで指定した名前のディレクトリに移動させる)
ビルドインの分類は以下のとおり。
formats = { 'Music' : ['.mp3','.aac','.flac','.ogg','.wma','.m4a','.aiff'], 'Videos' : ['.flv','.ogv','.avi','.mp4','.mpg','.mpeg','.3gp', '.mkv', '.ts'], 'Pictures' : ['.png','.jpeg','.gif','.jpg','.bmp','.svg','.webp', '.psd'], 'Archives' : ['.rar','.zip','.7z','.gz','.bz2','.tar','.dmg', '.tgz'], 'Documents' : ['.txt', '.pdf','.doc','.docx','.xls','.xlsv','.xlsx', '.ppt','.pptx','.ppsx','.odp','.odt','.ods','.md','.json','.csv'], 'Books' : ['.mobi', '.epub'], 'RPMPackages': ['.rpm'] }
これもただのファイル移動スクリだけど、star が 300 以上もついてるんで、たぶん star を集めるコツ的なのが凝縮されてる気がするんだよなあ。
AsyncSSH asyncioベースのSSHv2実装ライブラリ
https://github.com/ronf/asyncssh
asyncio という割と最近の非同期I/OライブラリをベースとしたSSHv2プロトコル実装ライブラリ。
SSHや非同期通信を実装で使ったことは全く無いので、さっぱりピンと来ない。
BorgBackup 重複除去やら圧縮やら暗号化やらを行えるバックアップツール
https://github.com/borgbackup/borg
main goal は効率とセキュア。コマンド一発でバックアップを実行するわけだが、その処理として重複除去やら圧縮やら暗号化やら色々できるという感じ。
個人的にバックアップにそういう観点は考えたことなかったので、使ってみようかしらん……と思ったけど windows には対応してない(cygwinはバイナリ以外ならかろうじて対応してる)
Marcel docker のフランス用ラッパー
https://github.com/brouberol/marcel
ソース自体は単純で、このフランス語が来たら対応するこのコマンドを実行、みたいなことをしてるだけ。
こういうラッパーも結構需要あるんですねえ。フランスは初めて見たけど。もちろん読めない。
Whatportis 指定プロトコルやツールが使用するポート情報を表示
https://github.com/ncrocfer/whatportis
たとえば mysql が使うポートはなんぞやってのが whatportis mysql --like みたいなコマンドですぐわかる。
対応表は db 形式のバイナリファイルで保持してるので中身は見れない。アルゴリズムとかも非公開。出典は Service Name and Transport Protocol Port Number Registry 。将来的には update コマンドもサポートするらしい。
shadowsocks
https://github.com/shadowsocks/shadowsocks
Removed according to regulations. と書かれた README.md があるだけのリポジトリ。なのに star が 11600 以上付いてて、どういうことなんだろ? ……と思ったら、なんかトラブル? でそうなってるだけみたい。過去リリースにはちゃんとソースがあった。
そこの README によると A fast tunnel proxy that helps you bypass firewalls. らしい。うん、わからん。ファイアウォールをすり抜けるためのトンネルプロキシ? トンネルプロキシってなんぞ。調べてもプロトコルのトンネリングしか出てこない。