1. はじめに

Pythonは今やデータサイエンティストにとって最も人気の言語となりました。実際に開発者の75%以上が、Pythonがデータサイエンティストにとってもっとも重要なスキルの一つであると主張しています。Pythonは、GitHub Octoverseによる調査で、ソフトウェア開発のプラットフォームGitHubで最も人気のある言語としてJavaを抜き2位に踊り出ました。この記事では、そんな人気言語Pythonのトップ10のオープンソースプロジェクトを紹介したいと思います。

2. オープンソースプロジェクト

2.1 Manim

Ranking: 15.7k stars

ManimまたはMathematical Animation Engineは、数学ビデオの説明用のアニメーションエンジンです。 基本的に、プログラムでアニメーションを作成するために使用されます。 ManimはPython 3.7で実行されます。

以下にManimで作られた数学ビデオの説明用のアニメーションをご紹介致します。

出典:Theorem of Beethoven

ManimのGithubはこちらです。

2.2 Python Robotics

Ranking: 7.7k stars

Python Roboticsは、ロボット工学アルゴリズムのPythonコードのコレクションです。このプロジェクトは、主に自律航法(自車の位置をほかからの情報を得ることなく、基点からの方位および距離センサーからの信号を積算して算出する航法)に使用されます。コードは、各アルゴリズムの基本的な考え方を理解するために非常に読みやすくコーディングされています。 Python RoboticsはPython 3.7で実行され、要件にはNumPy、SciPy、Matplotlib、Pandas、およびcvxpyが含まれます。

Python RoboticsのGithubはこちらです。

2.3 XSStrike

Ranking: 7.4k stars

XSStrikeは、高度なXSS検出スイートです。 強力なファジィエンジンを持ち、ファジーマッチングを使用して誤った結果をゼロにします。XSStrikeは、複数のパーサーで応答を分析し、ファジングエンジンと統合されたコンテキスト分析によって機能することが保証されているペイロードを作成します。 また、クロール、ファジング、パラメーター検出、WAF検出機能も備えています。

XSStrikeのGithubはこちらです。

2.4 Google Images Download

Ranking: 6.2k stars

Google Images Downloadは、数百のGoogle画像を「検索」および「ダウンロード」するコマンドラインPythonプログラムです。 このPythonスクリプトを使用すると、Google画像でキーワード/キーフレーズを簡単に検索し、オプションで画像をダウンロードできます。 このプログラムは、Pythonの両方のバージョン(2.xおよび3.x)と互換性があります。

Google Images DownloadのGithubはこちらです。

2.5 Photon

Ranking: 6.1k stars

Photonは、OSINTまたはオープンソースインテリジェンスツール用に設計された高速クローラーです。 データのクロール中、PhotonにはURL(範囲内および範囲外)、パラメーター付きURL、電子メール、ソーシャルメディアアカウント、Amazonバケットなど、pdf、png、XMLなどのファイルを抽出する機能があります。、秘密鍵(認証/ APIキーとハッシュ)、カスタム正規表現パターンに一致する文字列など。 現在、PhotonはPythonバージョン2.x-3.xと互換性があります。

PhotonのGithubはこちらです。

2.6 NeuralTalk

Ranking: 5.1k stars

NeuralTalkは、Microsoftの「Microsoft Common Objects in Context(MS COCO)」という10万組に及ぶ様々なシチュエーションの画像-キャプションのセットを含んだデータセットを使って学習しており、入力された画像を認識しキャプションを生成します。さらに、NeuralTalk2は、Luaで記述されたトーチを必要とする効率的な画像キャプションコードで、このプロジェクトはバッチ処理され、GPUで実行されるため、NeuralTalkよりも高速です。Python 2.7および最新バージョンのNumPy、SciPy、Perlで実行されます。

NeuralTalkのGithubはこちらです。

2.7 Trape

Ranking: 4.5k stars

TrapeはOSINT分析および研究ツールであり、人々がインテリジェントなソーシャルエンジニアリング攻撃をリアルタイムで追跡および実行できるようにします。 これは、大規模なインターネット企業がWebサイトやサービスのセッションのステータスなどの機密情報を取得し、事前の知識なしにブラウザでユーザーを制御する方法を教えることを目的として作成されました。

TrapeのGithubはこちらです。

2.8 Xonsh

Ranking: 3.5k stars

Xonshは、Python製のシェルです. 発音はコンシュと公式にありました。この言語は、BashとIPythonから慣れ親しんだ追加のシェルプリミティブを持つPython 3.4+のスーパーセットです。これは、Linux、Mac OSX、およびWindowsを含むすべての主要なシステムで動作します。

XonshのGithubはこちらです。

2.9 Rebound

Ranking: 3.1k stars

Reboundは、コンパイラエラーが発生したときにスタックオーバーフローの結果を即座に取得するコマンドラインツールです。 リバウンドはPythonで書かれており、Urwid上に構築されています。 このプロジェクトでは、Beautiful Soupを使用して、スタックエラーのコンテンツとサブプロセスをスクレイピングし、コンパイラエラーをキャッチします。 Python 3.0以降が必要です。

ReboundのGithubはこちらです。

2.10 Snips NLU

Ranking: 3.1k stars

Snips NLU(Natural Language Understanding)は、自然言語で書かれた文から構造化された情報を抽出できるPythonライブラリです。 このライブラリは、Snips Consoleで使用されるNLUエンジンを強化し、プライベートバイデザインの音声アシスタントを作成するために使用できます。

Snips NLUのGithubはこちらです。

3. 終わりに

如何でしょうか。これ以外にも有益なオープンソースプロダクトなど沢山ありますが、やはり画像やスクレイピングやクローラ等のオープンソースプロダクトにより、統計分析や予測モデル開発に現場で実際に使われるプロダクトが多いのも特徴的でした。

Pythonを学習している方は、これらのライブラリを使い、オリジナルのツールを作ってみても面白いのではないでしょうか。

written by Takaomi Murasaki promari.png

Related posts:

【特集記事】ITエンジニアに必要な基礎スキル6つ|おすすめの勉強法を紹介!
【Analytics】Native Analytics on Apache Cassandra with Knowi: Tutorial
【機械学習】Machine Learning: Google Colab- Why, When and How to Use it
【特集記事】プログラミングスクールで「飛躍成長」する方法論【失敗を極力回避】
【特集記事】プログラミング初心者が知っておきたいサイト
【Python】35 Questions To Test Your Knowledge of Python Sets
【Python】The Python Standard Library — modules you should know as a data scientist
【Python】10 Lesser-Known Python Libraries for Machine Learning
【Python】Start Formatting Your Python Scripts
【Python】Loading and Saving Images in Python
【機械学習】【日本語モデル付き】2020年に自然言語処理をする人にお勧めしたい文ベクトルモデル
【特集記事】プログラマー初学の人へ61の質問に答えてみた
【Python】Intro to Python Module
【Python】いますぐにPythonを始めたい人のためのモダンな環境構築手順
【Column】20 Things to know before you start programming
【Featured】5 Mistakes Every Junior Developer Makes
【Python】9 Things to Know to Master List Comprehensions in Python
【Python】Dictionary Merging and Updating in Python 3.9
【Python】Pythonで何ができる?今話題のプログラミング言語の要点を解説
【コラム】人工知能(AI)とは | 歴史・基本知識・社会への影響は?
【AI】The 4 steps necessary before fitting a machine learning model
【Python】Amazon Transcribeで作る字幕データ
【Python】声に出して読みたい美しいPython用語18選。R18例文付き
【その他】俺・・・感情がねえんだ・・・ ←色んな感情推定器で本当に感情が無いのか分析してみる
【Python】The Only Step-by-Step Guide You’ll Need to Build a Web Scraper With Python
【Python】Pythonのスタックとキューには何を使えばいいのか(各データ構造の速度比較)
【資格情報】プログラミングを学んで2ヶ月半でAWS認定ソリューションアーキテクト-アソシエイト-を取得したので勉強法をまとめてみる
【特集記事】全くの未経験からプログラミングを始めるための心得
【Python】 9つの手順でゼロからMicrosoft AzureにサーバーレスPython Chatbot APIを作成する
【特集記事】アプリ開発のシステムエンジニアを目指すためには?仕事内容と必要なスキル5つ