🐍

【必見】Pythonプログラマーが必ず確認するべきGitHubリポジトリ 10選

2022/10/19に公開

はじめに

今回の記事では、学習・開発でPythonを使うプログラマーが必ず確認するべきGitHubリポジトリを10個紹介する。本記事の対象は主に以下の通り。

  • 実務でPythonを使っているプログラマー
  • Pythonの情報収集に困っている人
  • Pythonの学習・開発の効率をアップさせたい人
  • Pythonのフレームワーク・ライブラリを確認しておきたい初心者

Pythonは1991年にリリースされてから今年で30年以上も経過している歴史のあるプログラミング言語なので、情報量が非常に多くどのように開発を進めればよいかわからない人も少なくないだろう。

そこで、本記事では個人の独断と偏見で学習・開発でPythonを使うなら必ず確認するべきGitHubリポジトリを紹介する。Pythonで実装できるプロダクトは多岐に渡るので、本記事では分野ごとに確認するべきGitHubリポジトリを紹介する。

必見

awesome-python

https://github.com/vinta/awesome-python

Pythonのフレームワーク、ライブラリや開発ツールなどを一つにまとめたGitHubリポジトリ。分野が多岐にわたっており、実務でPythonを使っているプログラマーは全員確認するべき。今回紹介するGitHubリポジトリの中では最も優先度が高い。今すぐにリンクにアクセスしてチェックしておこう。

PyPattyrn

https://github.com/tylerlaberge/PyPattyrn

デザインパターンを自分のプロジェクトに簡単かつ迅速に実装することを目的としたPythonのライブラリ。開発でよく使われるデザインパターンを一から手動で実装せずにすぐに使えるようにするために開発された。

Pythonで効率よくコーディングを進めたいなら必見である。

python-patterns

https://github.com/faif/python-patterns

様々なデザインパターンを実装しているPythonプログラムを集めたGitHubリポジトリ。READMEにあるリンクから該当するPythonファイルにアクセスできる。開発で汎用的に使われているデザインパターンをPythonで実装する方法を学ぶにはうってつけだ。

機械学習

pytorch

https://github.com/pytorch/pytorch

Pythonで開発されたオープンソースの機械学習ライブラリ「PyTorch」のリポジトリ。以下の特徴がある。

  • 強力なGPUサポート付き。NumPyを使った高度な算術演算が得意
  • 微積を使った深層ニューラルネットワークを構築できる

機械学習を本格的に学びたいなら必ず確認するべきである。

tensorflow

https://github.com/tensorflow/tensorflow

機械学習のためのオープンソースライブラリ「TensorFlow」のリポジトリ。pytorchと同様に、機械学習を利用したアプリケーションを簡単に開発できる。pytorchとの最大の違いは機械学習で使ったモデルを本番環境でデプロイできる点である。

@ITの記事によると、TensorFlowは主に企業などで機械学習を利用することに特化している一方で、PyTorchは機械学習を使った学術研究に特化していることが書かれている。

Web開発

django-rest-framework

https://github.com/encode/django-rest-framework/tree/master

PythonのWebフレームワーク「Django」でREST APIを開発できるサードパーティ製のライブラリ。公式ドキュメントにチュートリアルが掲載されているので、初心者でもサンプルコードを順番にコピペすれば簡単にAPIを開発できる。

Pythonで効率よくAPIを開発するなら視野に入れておいたほうがいいだろう。

fastapi

https://github.com/tiangolo/fastapi

PythonのWebフレームワーク「FastAPI」のリポジトリ。こちらもDjango REST Framework同様にPythonでAPIを開発するなら視野に入れておくべき重要な技術になる。FastAPIに関する詳細な説明は以下の記事で徹底解説されている。是非確認してほしい。

https://zenn.dev/nameless_sn/articles/why_fastapi_development

結論を言えば、FastAPIは必要最低限の機能しか搭載されていない。故に、開発に多様性を持たせたいなら選ぶべきだろう。

oauthlib

https://github.com/oauthlib/oauthlib

PythonでOAuthを効率よく実装するためのライブラリ。OAuth認証は簡潔に言えば、複数のWebサービスを連携して動作させるために使われる認証の仕組みである。

実務でPythonを使ったOAuthを実装しなければならないとき、必ずこれを使おう。

mkdocs

https://github.com/mkdocs/mkdocs/

Pythonで開発された、プロジェクトのドキュメントを設計するための高速かつシンプルな静的サイトジェネレーターである。Markdownに対応して使いやすいように設計されている。Pythonで開発したライブラリのドキュメントを制作するときによく利用されている。

余談だが、Django REST Frameworkの公式ドキュメントにはこれが採用されている。

ariadne

https://github.com/mirumee/ariadne

GraphQLサーバを実装できるPythonのライブラリ。実装できる機能が非常に豊富で、公式ドキュメントが非常にわかりやすく学びやすい。PythonでGraphQL APIを開発するなら視野に入れておくべきGitHubリポジトリ。

参考サイト

https://pythoninstitute.org/about-python

https://awesome-python.com/

https://ja.wikipedia.org/wiki/PyTorch

https://www.simplilearn.com/keras-vs-tensorflow-vs-pytorch-article

https://atmarkit.itmedia.co.jp/ait/articles/2201/16/news013.html

https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be

https://www.tdk.com/ja/tech-mag/knowledge/147

GitHubで編集を提案

Discussion