{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Installation\n",
        "\n",
        "## Preparation\n",
        "\n",
        "You can download the source distribution `psiclone-0.4.2.tar.gz` from\n",
        "the developer.\n",
        "\n",
        "## Installing with `pip` into a virtual environment\n",
        "\n",
        "You can install `psiclone` using `pip` as follows:\n",
        "\n",
        "``` sh\n",
        "pip install ./psiclone-0.4.2.tar.gz \n",
        "```\n",
        "\n",
        "## Installing with `pip` into the notebook kernel\n",
        "\n",
        "In notebook environments such as Jupyter Notebook or Google Colab, you\n",
        "can use the `%pip` command below to install the package into the Python\n",
        "environment currently used by the kernel."
      ],
      "id": "713c38ca-7fe6-46a8-8844-9c16ae29b095"
    },
    {
      "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: nbformat>=4.2.0 in /opt/build/repo/.venv/lib/python3.12/site-packages (from psiclone==0.4.2) (5.10.4)\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: plotly in /opt/build/repo/.venv/lib/python3.12/site-packages (from psiclone==0.4.2) (6.5.2)\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: fastjsonschema>=2.15 in /opt/build/repo/.venv/lib/python3.12/site-packages (from nbformat>=4.2.0->psiclone==0.4.2) (2.21.1)\n",
            "Requirement already satisfied: jsonschema>=2.6 in /opt/build/repo/.venv/lib/python3.12/site-packages (from nbformat>=4.2.0->psiclone==0.4.2) (4.23.0)\n",
            "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /opt/build/repo/.venv/lib/python3.12/site-packages (from nbformat>=4.2.0->psiclone==0.4.2) (5.7.2)\n",
            "Requirement already satisfied: traitlets>=5.1 in /opt/build/repo/.venv/lib/python3.12/site-packages (from nbformat>=4.2.0->psiclone==0.4.2) (5.14.3)\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: narwhals>=1.15.1 in /opt/build/repo/.venv/lib/python3.12/site-packages (from plotly->psiclone==0.4.2) (2.16.0)\n",
            "Requirement already satisfied: attrs>=22.2.0 in /opt/build/repo/.venv/lib/python3.12/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->psiclone==0.4.2) (24.2.0)\n",
            "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /opt/build/repo/.venv/lib/python3.12/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->psiclone==0.4.2) (2024.10.1)\n",
            "Requirement already satisfied: referencing>=0.28.4 in /opt/build/repo/.venv/lib/python3.12/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->psiclone==0.4.2) (0.35.1)\n",
            "Requirement already satisfied: rpds-py>=0.7.1 in /opt/build/repo/.venv/lib/python3.12/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->psiclone==0.4.2) (0.22.3)\n",
            "Requirement already satisfied: platformdirs>=2.5 in /opt/build/repo/.venv/lib/python3.12/site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=4.2.0->psiclone==0.4.2) (4.3.6)\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=1288348 sha256=e70f0a3cef24303b70a6cc7cde4c26512c3720a5645d08d0b0187e5cfec06e9b\n",
            "  Stored in directory: /opt/buildhome/.cache/pip/wheels/15/01/92/a79c3d97a4158a0546f06cf69766a5918925ab5d202c1a7ced\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": "918eebce"
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "You can check the metadata such as the version as follows:"
      ],
      "id": "854356f5-cb29-453a-abc3-58eb6fe26d07"
    },
    {
      "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, nbformat, networkx, numpy, plotly, scipy\n",
            "Required-by: \n",
            "Note: you may need to restart the kernel to use updated packages."
          ]
        }
      ],
      "source": [
        "%pip show psiclone"
      ],
      "id": "37439c2a"
    }
  ],
  "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"
    }
  }
}