Skip to content

RyutoYoda/DataScience_Starter_Docker

Repository files navigation

データサイエンス開発環境

汎用的なデータサイエンスプロジェクト用のDocker開発環境です。DevContainer、uv、最新のPythonツールチェーンを使用した効率的な開発をサポートします。

特徴

  • 🐳 Docker & DevContainer: 完全にコンテナ化された開発環境
  • 📦 uv パッケージマネージャー: 高速で信頼性の高いPythonパッケージ管理
  • 🐍 Python 3.11: 最新の安定版Python
  • 軽量設計: 必要最小限のパッケージで高速起動
  • 📊 基本データサイエンスツール: NumPy, Pandas, Polars, Pandera
  • 🎨 可視化ツール: Matplotlib, Seaborn, Plotly
  • 📝 Jupyter Lab: インタラクティブな開発環境
  • 🚀 Streamlit: 素早いWebアプリ作成

プロジェクト構成

.
├── .devcontainer/          # DevContainer設定
│   └── devcontainer.json
├── .github/                # GitHub関連テンプレート
│   ├── ISSUE_TEMPLATE/
│   └── PULL_REQUEST_TEMPLATE.md
├── .streamlit/             # Streamlit設定
├── app/                    # アプリケーションコード
├── data/                   # データセット
├── docs/                   # ドキュメント
│   └── setup.md           # セットアップガイド
├── model/                  # 学習済みモデル
├── notebook/               # Jupyterノートブック
├── outputs/                # 出力ファイル
├── src/                    # ソースコード
│   └── taxi_prediction/    # サンプルプロジェクト
├── scripts/                # ユーティリティスクリプト
├── tests/                  # テストコード
├── .env.example            # 環境変数テンプレート
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── compose.yml
├── uv.lock
└── pyproject.toml         # プロジェクト設定とパッケージ依存関係

クイックスタート

前提条件

  • Docker Desktop

セットアップ(超簡単!)

  1. リポジトリをクローン:
git clone <repository-url>
cd DataScience_Starter_Docker
  1. 環境を起動:
make up

これだけ!🎉

使用方法

基本操作

# コンテナに入る
make shell

# Jupyter Labを起動
make jupyter

# 環境を停止
make down

# 環境の状態確認
make status

# ヘルプを表示
make help

VSCode Dev Container(推奨)

  1. VSCodeでプロジェクトを開く
  2. Cmd/Ctrl + Shift + P → "Dev Containers: Attach to Running Container"を選択
  3. data-science-lightコンテナを選択

パッケージ管理

パッケージの追加

uv add pandas numpy scikit-learn

開発用パッケージの追加

uv add --dev pytest black ruff

依存関係の更新

uv sync

カスタマイズ

追加パッケージグループ

pyproject.tomlには以下のオプショナルな依存関係が定義されています:

  • nlp: 自然言語処理用パッケージ
  • cv: コンピュータビジョン用パッケージ

インストール例:

uv sync --extra nlp
uv sync --extra cv

トラブルシューティング

詳細なセットアップ手順とトラブルシューティングについては、docs/setup.mdを参照してください。

ライセンス

このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。

貢献

プルリクエストを歓迎します。大きな変更の場合は、まずissueを開いて変更内容について議論してください。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors