noahgift/functional_intro_to_python

[tutorial]A functional, Data Science focused introduction to Python

解決する問題

このリポジトリは、教育に焦点を当てたPython入門書であり、意図的に短く実用的に保たれ、プログラミング経験がまったくない初心者を対象としています。データサイエンス中心の道筋を優先し、機械学習、線形最適化、ビルドシステム、コマンドラインツール、レコメンドエンジン、感情分析、クラウドコンピューティングなどの高度なトピックもカバーしています。

仕組み

レッスンはnotebooks/ディレクトリのJupyterノートブックとして提供され、make installで依存関係をインストールした後、uv run jupyter labで実行できます。ツールチェーンは明示的に最新化されています:環境と依存関係にはuv、リンターとフォーマッターにはruff、型チェックにはty、テストにはpytestとcoverage(必須の100%ブランチカバレッジ付き)、契約にはicontractとhypothesisを使用します。重要な機能として、すべての例はdepylerを使用してRustにトランスパイルでき、Rust出力はclippy -D warningsとproptestの同等性が要求されます。すべての品質ゲートはMakeターゲットで強制され、CIのgrepによりpip、pylint、black、mypy、poetryなどのレガシーツールが使用されていないことを確認します。

対象読者

プログラミング経験がなく、データサイエンスのためのPythonへの迅速で最小限の道を望む学習者向けに設計されています。また、関数型プログラミングスタイルに興味があるプログラマーや、Pythonコードが形式契約でチェックされ、安全にRustに変換される方法に興味がある人にも役立ちます。後半のレッスンは難易度が上がるため、Pythonの文脈でML、最適化、クラウドのトピックを探求したい人にも適しています。

ハイライト

  • 意図的に簡潔で、実用的で、データサイエンス優先の入門書
  • 最新ツールチェーン:uv、ruff、ty、pytest、coverage – レガシーツールなし
  • 100%ブランチカバレッジを強制し、icontractとhypothesisによる証明可能な契約
  • すべての例はdepylerでRustにトランスパイル可能で、Rust側で厳格なリンターとプロパティテストを実施
  • 5つのコアレッスンをカバー:入門概念、関数、制御構造、中級トピック(クラス、モジュール、ライブラリ)、入出力
  • ML、最適化、ビルドシステム、CLIツール、レコメンドエンジン、感情分析、クラウドコンピューティングに関する追加の上級セクション

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト