Hatena::ブログ(Diary)

shouhの日記

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. らしい。うん、わからん。ファイアウォールをすり抜けるためのトンネルプロキシトンネルプロキシってなんぞ。調べてもプロトコルトンネリングしか出てこない。