{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# インストール\n",
        "\n",
        "## 事前準備\n",
        "\n",
        "開発者からソースディストリビューション `psiclone-0.4.2.tar.gz`\n",
        "を受け取ります\n",
        "\n",
        "## `pip` による仮想環境へのインストール\n",
        "\n",
        "以下の `psiclone` は `pip` を介してインストールすることができます\n",
        "\n",
        "``` sh\n",
        "pip install ./psiclone-0.4.2.tar.gz \n",
        "```\n",
        "\n",
        "## `pip` によるノートブック実行カーネルに対するインストール\n",
        "\n",
        "Jupyter Notebook や Google Colab などのノートブック環境では、以下の\n",
        "`%pip` コマンドを使用して、現在のカーネルが使用している Python\n",
        "環境にパッケージをインストールすることができます。"
      ],
      "id": "ad373d90-b4bb-4f90-b5ea-52879d5d3e41"
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Processing ./psiclone-0.4.2.tar.gz\n",
            "  Installing build dependencies ... -\b \b\\\b \b|\b \bdone\n",
            "  Getting requirements to build wheel ... done\n",
            "  Preparing metadata (pyproject.toml) ... done\n",
            "Requirement already satisfied: matplotlib in /opt/build/repo/.venv/lib/python3.12/site-packages (from psiclone==0.4.2) (3.9.4)\n",
            "Requirement already satisfied: msgpack in /opt/build/repo/.venv/lib/python3.12/site-packages (from psiclone==0.4.2) (1.1.0)\n",
            "Requirement already satisfied: networkx in /opt/build/repo/.venv/lib/python3.12/site-packages (from psiclone==0.4.2) (3.4.2)\n",
            "Requirement already satisfied: numpy>=1.25 in /opt/build/repo/.venv/lib/python3.12/site-packages (from psiclone==0.4.2) (2.2.0)\n",
            "Requirement already satisfied: scipy in /opt/build/repo/.venv/lib/python3.12/site-packages (from psiclone==0.4.2) (1.14.1)\n",
            "Requirement already satisfied: contourpy>=1.0.1 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (1.3.1)\n",
            "Requirement already satisfied: cycler>=0.10 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (0.12.1)\n",
            "Requirement already satisfied: fonttools>=4.22.0 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (4.55.3)\n",
            "Requirement already satisfied: kiwisolver>=1.3.1 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (1.4.7)\n",
            "Requirement already satisfied: packaging>=20.0 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (24.2)\n",
            "Requirement already satisfied: pillow>=8 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (11.0.0)\n",
            "Requirement already satisfied: pyparsing>=2.3.1 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (3.2.0)\n",
            "Requirement already satisfied: python-dateutil>=2.7 in /opt/build/repo/.venv/lib/python3.12/site-packages (from matplotlib->psiclone==0.4.2) (2.9.0.post0)\n",
            "Requirement already satisfied: six>=1.5 in /opt/build/repo/.venv/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib->psiclone==0.4.2) (1.17.0)\n",
            "Building wheels for collected packages: psiclone\n",
            "  Building wheel for psiclone (pyproject.toml) ... done\n",
            "  Created wheel for psiclone: filename=psiclone-0.4.2-py3-none-any.whl size=1281069 sha256=549f2abeaa7997f8c1f23a6c41b9b8c1d8c2755f48bf7d10be690689cf95bdf5\n",
            "  Stored in directory: /opt/buildhome/.cache/pip/wheels/20/09/01/d18074fe43d28106e2c99ca80dac68405a30f4b051d5d490e4\n",
            "Successfully built psiclone\n",
            "Installing collected packages: psiclone\n",
            "  Attempting uninstall: psiclone\n",
            "    Found existing installation: psiclone 0.4.2\n",
            "    Uninstalling psiclone-0.4.2:\n",
            "      Successfully uninstalled psiclone-0.4.2\n",
            "Successfully installed psiclone-0.4.2\n",
            "Note: you may need to restart the kernel to use updated packages."
          ]
        }
      ],
      "source": [
        "%pip install ./psiclone-0.4.2.tar.gz"
      ],
      "id": "785826c6"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "バージョンなどのメタデータは以下のように確認できます"
      ],
      "id": "40c0e971-0855-4203-b36b-3ab70cd74d6b"
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {},
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Name: psiclone\n",
            "Version: 0.4.2\n",
            "Summary: Toolbox for Topological Flow Data Analysis using COT Representations\n",
            "Home-page: https://github.com/t-uda/psiclone\n",
            "Author: Tomoki Uda\n",
            "Author-email: uda0@sci.u-toyama.ac.jp\n",
            "License: MIT\n",
            "Location: /opt/build/repo/.venv/lib/python3.12/site-packages\n",
            "Requires: matplotlib, msgpack, networkx, numpy, scipy\n",
            "Required-by: \n",
            "Note: you may need to restart the kernel to use updated packages."
          ]
        }
      ],
      "source": [
        "%pip show psiclone"
      ],
      "id": "03eb2245"
    }
  ],
  "nbformat": 4,
  "nbformat_minor": 5,
  "metadata": {
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3 (ipykernel)",
      "language": "python",
      "path": "/opt/build/repo/.venv/share/jupyter/kernels/python3"
    },
    "language_info": {
      "name": "python",
      "codemirror_mode": {
        "name": "ipython",
        "version": "3"
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.12.3"
    }
  }
}