2017 年 GitHub でスターの多かった Python リポジトリ

2017 年もいよいよ終わり、間もなく 2018 年ですね。

今年 1 年の振り返りのために 2017 年にリリースされた人気の GitHub リポジトリ についてまとめてみました。具体的には「 GitHub に認識されているリポジトリの言語が Python で」「スター数が 2500 以上のもの」をリストアップしてみました。

結果、引っかかったリポジトリの数は合計 32 個です。個人的には、マシンラーニング(機械学習)関連のリポジトリが非常に多いのが印象的でした。

以下私なりにかんたんな説明と description の翻訳を付けています。

1. system-design-primer

大規模システムの設計方法について紹介したドキュメントです。

リポジトリ名system-design-primer
説明Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
説明(翻訳)大規模システムの設計方法を学びましょう。システム設計面接の準備をしましょう。暗記用のフラッシュカード付きです。
URLhttps://github.com/donnemartin/system-design-primer
ホームページ
スター21763

2. cpython

CPython そのもののリポジトリです。 2017 年に GitHub に移設したようです。

リポジトリ名cpython
説明The Python programming language
説明(翻訳)Python プログラミング言語
URLhttps://github.com/python/cpython
ホームページhttps://www.python.org/
スター15030

3. face_recognition

画像内の人の顔を認識するためのライブラリです。

リアルタイムの顔認識もサポートしているようです。

リポジトリ名face_recognition
説明The world's simplest facial recognition api for Python and the command line
説明(翻訳)Python とコマンドラインで使う、世界で最もシンプルな顔認識 API
URLhttps://github.com/ageitgey/face_recognition
ホームページ
スター8444

4. pix2code

UI 画像からそれを生成するコードを自動生成するライブラリです。

README からリンクされているデモ動画がわかりやすいです。

現時点では出力フォーマットとして、 iOS アプリ、 Android アプリ、 HTML の 3 つがサポートされているようです。

まだ実用レベルにはなっていなさそうなので、このような技術が数年以内にコーダーの仕事をガラリと変える可能性は低そうですが、今の技術の進歩のスピードを見ると 10 年以内ぐらいには影響がありそうな気もします。

リポジトリ名pix2code
説明pix2code: Generating Code from a Graphical User Interface Screenshot
説明(翻訳)pix2code: グラフィカルユーザーインタフェーススクリーンショットからのコード生成
URLhttps://github.com/tonybeltramelli/pix2code
ホームページ
スター8024

5. python-fire

Python のユーティリティクラスをコマンドラインからすぐに呼び出せるようにできるライブラリです。

メソッド名と引数をコマンドラインで渡せばそのままクラスのメソッドが実行できる形のようです。

「 Google の公式なプロダクトではありません」と但し書きがついていますが、リポジトリは Google グループに所属しています。

リポジトリ名python-fire
説明Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
説明(翻訳)Python Fire はありとあらゆる Python オブジェクトに対してコマンドラインインタフェース( CLI )を自動生成するライブラリです。
URLhttps://github.com/google/python-fire
ホームページ
スター7655

6. ML-From-Scratch

説明のとおり、マシンラーニングのモデルとアルゴリズムを Python で実装したコード集です。

リポジトリ名ML-From-Scratch
説明Python implementations of Machine Learning models and algorithms from scratch. Aims to cover everything from Data Mining techniques to Deep Learning.
説明(翻訳)マシンラーニングのモデルとアルゴリズムの、ゼロベースでの Python 実装。データマイニング技術からディープラーニングまでのあらゆることをカバーすることを目指しています。
URLhttps://github.com/eriklindernoren/ML-From-Scratch
ホームページ
スター7598

7. pipenv

bundler や composer 、 npm といった他の言語のパッケージマネージャーと同等の機能を提供するツールです。

Python の virtualenv と pip を組み合わせて、プロジェクト固有の環境をシンプルに構築・管理できる機能を提供しています。

リポジトリ名pipenv
説明Python Development Workflow for Humans.
説明(翻訳)人間のための Python 開発ワークフロー。
URLhttps://github.com/pypa/pipenv
ホームページhttps://docs.pipenv.org/
スター6936

8. sonnet

複雑なニューラルネットワークを構築するための、 TensorFlow ベースのライブラリです。

Google が 2014 年に買収した DeepMind 社が提供しているようです。

リポジトリ名sonnet
説明TensorFlow-based neural network library
説明(翻訳)TensorFlow ベースのニューラルネットワークライブラリ
URLhttps://github.com/deepmind/sonnet
ホームページ
スター5698

9. gixy

Nginx の設定ファイルを静的に解析するためのツールです。

設定ミスなどを自動的に検出することを目的に作られているようです。

リポジトリ名gixy
説明Nginx configuration static analyzer
説明(翻訳)Nginx コンフィギュレーションのスタティックアナライザー
URLhttps://github.com/yandex/gixy
ホームページ
スター5001

10. trump2cash

アメリカのドナルド・トランプ大統領のツイートを見て、株取引を行うためのライブラリだそうです(笑)。

リポジトリ名trump2cash
説明A stock trading bot powered by Trump tweets
説明(翻訳)Trump のツイートで動く株取引のボット
URLhttps://github.com/maxbbraun/trump2cash
ホームページhttps://trump2cash.biz
スター4111

11. pytorch-tutorial

ディープラーニング用のライブラリ PyTorch のチュートリアルです。

リポジトリ名pytorch-tutorial
説明PyTorch Tutorial for Deep Learning Researchers
説明(翻訳)ディープラーニングの研究者のための PyTorch チュートリアル
URLhttps://github.com/yunjey/pytorch-tutorial
ホームページ
スター4079

12. wtfpython

一見直感的でないふるまいをする、トリッキーな Python スニペットのコレクションです。

リポジトリ名wtfpython
説明A collection of interesting, subtle, and tricky Python snippets.
説明(翻訳)Python の、おもしろかったりトリッキーだったりするスニペットのコレクション
URLhttps://github.com/satwikkansal/wtfpython
ホームページhttps://github.com/satwikkansal/wtfPython
スター4046

13. inter

UI 用フォントです。

プログラムの部分で Python が使われているため GitHub 上では言語が Python ということになっていますが Python に限ったものではありません。

リポジトリ名inter
説明The Inter UI font family
説明(翻訳)inter UI フォントファミリー
URLhttps://github.com/rsms/inter
ホームページhttps://rsms.me/inter/
スター4045

14. wxpy

(中国語で書かれていて読めないのでスキップ)

リポジトリ名wxpy
説明微信机器人 / 可能是最优雅的微信个人号 API ✨✨
説明(翻訳)-
URLhttps://github.com/youfou/wxpy
ホームページhttps://wxpy.readthedocs.io/zh/latest/
スター3850

15. TensorFlow-World

TensorFlow のチュートリアルです。

リポジトリ名TensorFlow-World
説明Simple and ready-to-use tutorials for TensorFlow
説明(翻訳)TensorFlow のシンプルで即使えるチュートリアル
URLhttps://github.com/astorfi/TensorFlow-World
ホームページ
スター3676

16. pysc2

Google が 2014 年に買収した DeepMind 社による、ゲーム「 StarCraft II 」の AI 学習環境です。

次のページがリリース記事のようです。

リポジトリ名pysc2
説明StarCraft II Learning Environment
説明(翻訳)StarCraft II の学習環境
URLhttps://github.com/deepmind/pysc2
ホームページ
スター3635

17. SerpentAI

ゲームをプレイするプログラムを作るためのフレームワークだそうです。

リポジトリ名SerpentAI
説明Game Agent Framework. Helping you create AIs / Bots to play any game you own! BETA
説明(翻訳)ゲームのエージェントのフレームワーク。あなたのどんなゲームでもプレイする AI 、ボッツを作成するのを助けます。 β 版です。
URLhttps://github.com/SerpentAI/SerpentAI
ホームページ
スター3353

18. deepo

ディープラーニング用の Docker イメージです。

リポジトリ名deepo
説明A series of Docker images (and their generator) that allows you to quickly set up your deep learning research environment.
説明(翻訳)Docker イメージ(とそのジェネレーター)のシリーズです。これを使うと、ディープラーニングの研究環境を素早くセットアップすることができます。
URLhttps://github.com/ufoym/deepo
ホームページhttps://hub.docker.com/r/ufoym/deepo
スター3350

19. visdom

ウェブブラウザーベースのデータ可視化ツールです。

リポジトリ名visdom
説明A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Torch and Numpy.
説明(翻訳)ライブデータ、リッチなデータのビジュアルを作成・整理・共有するための柔軟なツールです。 Torch と Numpy をサポートしています。
URLhttps://github.com/fossasia/visdom
ホームページ
スター3310

20. seq2seq

機械翻訳に使用できる TensorFlow のエンコーダー / デコーダーのフレームワークです。

リポジトリ名seq2seq
説明A general-purpose encoder-decoder framework for Tensorflow
説明(翻訳)TensorFlow の汎用エンコーダー / デコーダーフレームワーク
URLhttps://github.com/google/seq2seq
ホームページhttps://google.github.io/seq2seq/
スター3217

21. sandsifter

x86 プロセッサーに対してファジング(ファズテスト)を行うためのツールのようです。

リポジトリ名sandsifter
説明The x86 processor fuzzer
説明(翻訳)x86 プロセッサーのファジングツール
URLhttps://github.com/xoreaxeaxeax/sandsifter
ホームページ
スター3201

22. WebHubBot

世界最大のアダルト動画サイトをクローリングするためのツールです。

動画のタイトル、動画の長さ、 mp4 リンク、 URL などを取得するそうです。

リポジトリ名WebHubBot
説明Python + Scrapy + MongoDB . 5 million data per day !!!💥 The world's largest website.
説明(翻訳)Python + Scrapy + MongoDB 。 1 日に 500 万データを取得。世界最大のウェブサイト。
URL(削除されました)
ホームページ
スター3129

23. pygorithm

重要な基本的アルゴリズムを網羅した Python ライブラリです。

ソートや探索、経路探索、動的計画法、貪欲アルゴリズムといった、 CS の学生さんにお馴染みのさまざまなアルゴリズムのサンプルコードが入っています。

リポジトリ名pygorithm
説明A Python module for learning all major algorithms
説明(翻訳)すべてのメジャーなアルゴリズムを学ぶための Python モジュール
URLhttps://github.com/OmkarPathak/pygorithm
ホームページ
スター3124

24. awx

Ansible のウェブインタフェースを提供するためのライブラリのようです。

リポジトリ名awx
説明AWX Project
説明(翻訳)AWX プロジェクト
URLhttps://github.com/ansible/awx
ホームページ
スター3063

25. shadowbroker

クラッキンググループ Shadow Brokers が「 Lost In Translation 」という名前で公開した Windows などの脆弱性を突くコード(「エクスプロイト」)のようです。

リポジトリ名shadowbroker
説明The Shadow Brokers "Lost In Translation" leak
説明(翻訳)Shadow Brokers の「 Lost in Translation
」リーク
URLhttps://github.com/misterch0c/shadowbroker
ホームページ
スター3001

26. howmanypeoplearearound

同じ WiFi ネットワークを利用する人の数を数えるツールのようです。

リポジトリ名の howmanypeoplearearound は「 how many people are around 」の意味のようです。

リポジトリ名howmanypeoplearearound
説明Count the number of people around you by monitoring wifi signals
説明(翻訳)WiFi の信号をモニタリングしてあなたの周りにいる人の数を数えます。
URLhttps://github.com/schollz/howmanypeoplearearound
ホームページ
スター2981

27. baselines

強化学習アルゴリズムのベースを実装したコード集です。

研究者コミュニティがこれをベースに研究を進められることを目的に作られたようです。

リポジトリ名baselines
説明OpenAI Baselines: high-quality implementations of reinforcement learning algorithms
説明(翻訳)OpenAI Baselines: 強化学習アルゴリズムの高品質な実装
URLhttps://github.com/openai/baselines
ホームページ
スター2972

28. apistar

ドキュメント付きの API サイトを作成するためのフレームワークです。

リポジトリ名apistar
説明A smart Web API framework, designed for Python 3. 🌟
説明(翻訳)Python 向けに設計されたスマートなウェブ API フレームワーク
URLhttps://github.com/encode/apistar
ホームページhttps://docs.apistar.com/
スター2938

29. pytorch-CycleGAN-and-pix2pix

画像から別の画像を自動生成する( image-to-image translation の)ためのアルゴリズムの Python 実装です。

CycleGAN と Pix2pix という、その筋では有名な画像変換のアルゴリズムを実装しており、 README では画像内の馬をしまうまに変えたり、線画を猫に変えたりするサンプル(オリジナル研究者が出したもの?)が紹介されています。

リポジトリ名pytorch-CycleGAN-and-pix2pix
説明Image-to-image translation in PyTorch (e.g. horse2zebra, edges2cats, and more)
説明(翻訳)PyTorch での画像変換(例: horse2zebra / edges2cats その他)
URLhttps://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
ホームページ
スター2791

30. fashion-mnist

MNIST 風の、衣服の画像のデータベースです。

MNIST に馴染みの無い方に説明すると、 MNIST database というのは「 Modified National Institute of Standards and Technology database 」の略で、手書きの数字画像のデータベースのことです。マシンラーニングの研究や練習の定番として使われています。

リポジトリ名fashion-mnist
説明A MNIST-like fashion product database. Benchmark :point_right:
説明(翻訳)MNIST 風のファッションプロダクトデータベース。
URLhttps://github.com/zalandoresearch/fashion-mnist
ホームページhttps://fashion-mnist.s3-website.eu-central-1.amazonaws.com/
スター2774

31. Pokemon-Terminal

名前のとおり、ポケモンのターミナルのテーマ集です。

README に書いてあるのを読むと 719 体のポケモンのテーマがあるそうです。世界のポケモンですね。

任天堂(株式会社ポケモン)に許可を取っていないのではないかとも思いますが、おしゃれでかわいいです。

リポジトリ名Pokemon-Terminal
説明Pokemon terminal themes.
説明(翻訳)ポケモンのターミナルテーマ。
URLhttps://github.com/LazoCoder/Pokemon-Terminal
ホームページ
スター2657

32. ParlAI

Python で実装された、会話の AI 研究のフレームワークです。

ちなみに ParlAI は「パーレイ」と読むそうです。

リポジトリ名ParlAI
説明A framework for training and evaluating AI models on a variety of openly available dialog datasets.
説明(翻訳)さまざまな会話データセットに対する API モデルのトレーニングと評価のためのフレームワーク。
URLhttps://github.com/facebookresearch/ParlAI
ホームページparl.ai
スター2550

以上です。興味のある方は各リポジトリの README などをご覧になってみてください。

尚、スター数は 2017 年 12 月 31 日時点で確認した数字です。

違うブログですが、次の投稿では言語を制限せず「 2017 年リリースの GitHub リポジトリのうちスター数が 1 万を越えているもの」をリストアップしてみました。こちらも興味のある方はよろしければ。