目次
Python 関連
File:Colt Python IMG 6785.jpg - Wikimedia Commons より…
なぜにヘビ🐍ぢゃないんでしょうねぇ😅💦
本家: Welcome to Python.org
ソースコード: GitHub - python/cpython: The Python programming language
Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C 言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。
Python - Wikipedia より
環境構築
Python のインストール
Python のビルド
Pyodide - Web ブラウザで動作する Python 環境
Brython - クライアントサイドの Web プログラミング用 Python 3 の実装
Python venv 仮想環境
pipenv - 人間のための Python 開発ワークフロー
VirtualEnv & VirtualEnvWrapper で作る Python 2.7 仮想環境 (☢️古い資料です (Obsolete)☢️)
pythonbrew の使い方
pip - Python パッケージ管理システム
pipx - 分離環境での Python アプリケーションのインストールと実行
mamba - 高速で堅牢なクロスプラットフォームのパッケージ マネージャー
easy_install、setuptools、pip - パッケージ管理
Mercurial - 分散型バージョン管理システム(Linux)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Linux)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Windows)
TortoiseHg - Mercurial 分散型バージョン管理システム用ツール(Mac)
manylinux
プログラミング ガイド
言語構文
Python ランゲージ メモ
Python スライス
Python 例外処理 (try, except, else, finally)
フォーマット済み文字列リテラル(f-strings)
リスト内包表記とジェネレータ式
無名関数(lambda)
Python モジュールサンプル
Python デコレータ
Python エラー
Python のクラスシステムについて解説されている文献
抽象基底クラス
制御構造
関数機能
モジュール
argparse - コマンドライン引数解析
timeit
pathlib, glob.iglob(), os.walk()
gettext - 多言語対応
winreg - Windows レジストリ アクセス
socket - 低水準ネットワークインターフェイス
ctypes - Python のための外部関数ライブラリ
パッケージ
AttrDict - 属性スタイルでアクセスできる辞書
NumPy, SciPy, Matplotlib, CuPy, Pandas
PyOpenCL
pyOpenSSL
IPython
JupyterLab - Project Jupyter の次世代ユーザーインターフェース
Jupyter Notebook - プログラムとその実行結果を再実行可能なドキュメント形式で表現
Fabric - シンプルな Pythonic リモート実行とデプロイメント
MoinMoin
Python for .NET (pythonnet) (Python .NET 連携)
uWSGI - WSGI アプリケーションコンテナ
CEFPython
Psycopg2
BeautifulSoup
Selenium
uamobile
パッケージビルドでエラーになる場合
Mutagen
PyMongo
python-vlc - VLC の Python バインディング
musicbrainzngs
PyUTM
Twitter Scraper
Facebook Scraper
PyBluez - Bluetooth アクセス
pySerial - シリアルポート アクセス
libtmux - tmux を制御するための Python スクリプトライブラリ
Sudo Python Plugin API
cryptography
PySpice
Bokeh - Web ブラウザー用のインタラクティブなビジュアライゼーション視覚エフェクト Python ライブラリ
nanobind
PySkein - Python 用の Skein ハッシュ アルゴリズム
Welcome to pyDAL’s API documentation! — pyDAL 17.11 documentation
Framework
Robyn - 高速、イノベーターフレンドリー、コミュニティ主導型の Python Web フレームワーク
Emmett - 非同期 Web アプリケーション フレームワーク
Django - Web アプリケーション フレームワーク
Mezzanine
wxPython - クロス プラットフォーム GUIライブラリ
MochiKit - A lightweight Javascript library
アプリ / サービス / サーバー
youtube-dl - YouTube や他の動画サイトから動画をダウンロード
Gunicorn - Python WSGI HTTP Server for UNIX
Python 仮想アシスタント
ツール
JIT コンパイラ
Numba: A High Performance Python Compiler
* Anaconda, Inc. が開発する Python コードの JIT コンパイラ
* 使い方は関数に @njit = @jit(nopython=True) デコレータを指定する
* @jit(int32(int32, int32)) のような型指定で更に高速化される
* @jit(nogil=True) によりマルチコアシステムを活用できる
* @jit(cache=True) によりプログラムを呼び出すたびに掛かるコンパイル時間を回避できる
* @jit(nopython=True, parallel=True) = @njit(parallel=True) により自動並列化による最適化を実行できる
* Numpy などは高速化できるが Pandas は Numba によって理解されないため高速化されない
* Numba は関数の Python バイトコードを LLVM を使用して CPU に合わせた関数のマシンコードバージョンを生成する
* Nvidia CUDA および AMD ROC GPU をターゲットにできる
Pandas がボトルネックになってもカーネル関数に分離すれば Numba で最適化出来る。
Bring Your Python Code Up to Speed with Numba - BCG GAMMA - Medium
開発環境
Eclipse + PyDev - 統合開発環境
Fedora Eclipse - 統合開発環境
IronPython Studio - IronPython(.NET 対応 Pyhton) の総合開発環境
MicroPython - マイクロコントローラー向けに最適化された Python
プロセス制御
カテゴリー別
Deep Learning 関連
参考文献
Awesome Python:素晴らしい Python フレームワーク・ライブラリ・ソフトウェア・リソースの数々 - Qiita
10 Cool Python Project Ideas for Python Developers | by Claire D. Costa | Towards Data Science
RRDtool を Python から使う | 技術的生存報告記