注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

JupyterLab®

Code Workspaces を使用すると、Foundry で JupyterLab® ↗ を利用できます。Code Workspaces の JupyterLab® は、次の機能をサポートしています。

  • 表形式のデータセット、Iceberg テーブル、および仮想テーブルの読み取りと書き込み。
  • 非構造化データセットからのファイルのダウンロード、または非構造化データセットへのファイルのアップロード。
  • conda または PyPI からの Python ライブラリのインポート。
  • 開発の反復を容易にする Dash、Streamlit、または TensorBoard™ アプリケーションのプレビュー。
  • Dash または Streamlit アプリケーションの公開。
  • オントロジーとのやり取り。
  • AIP エージェントによる LLM 支援コーディングの利用。

Code Workspaces は現在、Python アプリケーション向けに Dash ↗ と Streamlit ↗ をサポートしています。ユーザーは、Foundry のバージョン管理、ブランチ、データガバナンス機能が組み込まれた Code Workspaces 内で、アプリケーションを直接作成できます。

Code Workspace アプリケーションはブランチをサポートしています。新しい Workspace ブランチを作成した場合、新しいアプリケーションを公開するか変更を同期すると、そのブランチにアプリケーションの新しいバージョンが公開されます。これにより、ユーザーに公開する前にアプリケーションをプレビューできます。master ブランチに公開するには、このブランチを master にマージします。

Dash および Streamlit アプリケーションは、制限付きビューを入力として使用できます。制限付きビューをアプリケーションの入力として使用する前に、制限付き出力モードを有効にしてください。制限付きビューを使用するワークスペースから公開すると、各ユーザーには自身の権限で許可されたデータのみが表示されます。

TensorBoard™ を使用した JupyterLab®

JupyterLab® の設定

設定タブを使用して、JupyterLab® ワークスペースの環境設定を構成します。環境設定は、すべての Jupyter® ワークスペースにわたって保存されます。

継続的なヒント表示

継続的なヒント表示は、入力中にコード補完候補を提示する機能で、すべての Jupyter® ワークスペースでデフォルトで有効になっています。設定タブで、ほかの JupyterLab® の環境設定とともに構成します。

アプリケーションパネル

JupyterLab® ワークスペースの左サイドバーにあるアプリケーションタブを使用して、Dash、Streamlit、および TensorBoard™ アプリケーションをプレビューし、Dash および Streamlit アプリケーションを公開します。TensorBoard™ はプレビューのみをサポートしています。パネルには、1度に1種類のアプリケーションタイプが表示されます。以下の公開またはプレビューの手順を進める前に、使用するアプリケーションタイプを選択してください。

アプリケーションタイプを選択する

パネルに表示するアプリケーションタイプを選択するには、次の手順を実行します。

  1. JupyterLab® ワークスペースの左サイドバーにあるアプリケーションタブを開きます。
  2. パネル上部のアプリケーションタイプ行で、現在選択されているタイプが表示されているドロップダウンを選択します。
  3. 使用するアプリケーションタイプを選択します。Jupyter® ワークスペースは Dash、Streamlit、および TensorBoard™ をサポートしています。

その後、選択したタイプの公開済みアプリケーションと利用可能な操作がパネルに表示されます。パネルは、このワークスペースでの選択を記憶します。

ワークスペースで管理対象の conda/PyPI 環境を使用している場合、Dash または Streamlit アプリケーションを公開する前に、そのアプリケーションタイプのライブラリをインストールする必要があります。たとえば、Streamlit アプリケーションを公開するには streamlit ライブラリが必要です。ライブラリがない場合、アプリケーションを公開するは無効になり、インストールするライブラリがパネルに表示されます。ライブラリパネルからインストールするか、ターミナルで maestro env conda install <library_name> を実行してください。ライブラリは conda でインストールしてください。PyPI によるインストールでは、この要件を満たしません。公開フローがない TensorBoard™ についても、必要なライブラリがない場合はパネルに表示されます。この場合、メッセージは情報提供のみを目的としており、プレビューは引き続き利用可能です。

Dash アプリケーション

公開済みの Dash アプリケーションには30秒のタイムアウトが適用されます。つまり、Dash アプリケーションの Python ファイルを実行してから30秒以内に Dash サーバーが起動する必要があります。そうでない場合、Dash アプリケーションの起動に失敗します。

Dash ↗ アプリケーションを作成するには、次の手順に沿って進めます。

  1. アプリケーションパネルで、アプリケーションタイプとして Dash を選択します。
  2. アプリケーションを公開するを選択し、ファイルとプロジェクト内で新しいアプリケーションの場所を選択して、モジュール名と変数名を入力します。指定したモジュール名に対応するパスに、ファイルが自動的に作成されます。

Dash アプリケーションのモジュール名は、リポジトリのルートからの相対パスをドット区切りで入力します(たとえば app、モジュールがフォルダー内にある場合は folder.app)。変数名は、モジュールファイル内で Dash アプリのサーバー用に宣言された Python 変数で、通常は server という名前です。

  1. 任意: 詳細設定を構成します。デフォルトでは、アプリケーションの設定は Jupyter® ワークスペースの設定と一致します。
  2. 公開と同期を選択して、新しい Dash アプリケーションを登録し、その元となるコードリポジトリにコードを同期します。CI チェックと公開が完了したら、アプリケーションパネルのリンクを選択して、公開済みアプリケーションを表示できます。

既存の Dash アプリケーションをローカルで開発するには、次の手順を実行します。

  1. ターミナルウィンドウを開き、新しく作成したファイルを実行します。たとえば、python app.py を実行します。
  2. アプリケーションタブを開き、アプリケーションタイプとして Dash を選択します。
  3. アプリケーションパネルでプレビューを開くを選択します。

Jupyter® Notebooks の管理対象の conda/PyPI 環境を使用すると、JupyterLab® ワークスペースの conda/PyPI 環境が、公開済みの Dash アプリケーションで自動的に復元されるようにできます。

Streamlit アプリケーション

公開済みの Streamlit アプリケーションには30秒のタイムアウトが適用されます。つまり、Streamlit アプリケーションの Python ファイルを実行してから30秒以内に Streamlit サーバーが起動する必要があります。そうでない場合、公開済みの Streamlit アプリケーションの起動に失敗します。

Streamlit ↗ アプリケーションを作成するには、次の手順に沿って進めます。

  1. JupyterLab® ワークスペースでアプリケーションタブを開き、アプリケーションタイプとして Streamlit を選択します。
  2. アプリケーションを公開するを選択し、ファイルとプロジェクト内で新しいアプリケーションの場所を選択して、リポジトリのルートからの相対パスで Python ファイルの名前を入力します。たとえば、app.py を入力します。
  3. 任意: 詳細設定を構成します。デフォルトでは、アプリケーションの設定は JupyterLab® ワークスペースの設定と一致します。
  4. 公開と同期を選択して、新しい Streamlit アプリケーションを登録し、その元となるコードリポジトリにコードを同期します。CI チェックと公開が完了したら、アプリケーションパネルのリンクを選択して、公開済みアプリケーションを表示できます。

既存の Streamlit アプリケーションをローカルで開発するには、次の手順を実行します。

  1. ターミナルウィンドウを開き、streamlit run app-name.py を使用して Streamlit でコードを実行します。
  2. JupyterLab® ワークスペースでアプリケーションタブを開き、アプリケーションタイプとして Streamlit を選択します。
  3. プレビューを開くを選択して、ローカルで開発中のアプリケーションをプレビューします。

Jupyter® Notebooks の管理対象の conda/PyPI 環境を使用すると、JupyterLab® ワークスペースの conda/PyPI 環境が、公開済みの Streamlit アプリケーションで自動的に復元されるようにできます。

TensorBoard™

Code Workspaces から直接 TensorBoard™ ↗ をプレビューできます。

  1. TensorFlow のログを含むディレクトリーのパスを指定し、ターミナルで tensorboard --logdir=<$PATH_TO_LOGS_DIRECTORY> を実行します。
  2. Jupyter® ワークスペースでアプリケーションタブを開き、アプリケーションの種類として TensorBoard™ を選択します。
  3. プレビューを開くを選択して、TensorBoard™ をプレビューします。

TensorBoard™ を表示した JupyterLab®

AIP エージェント

JupyterLab® Code Workspaces では、ワークスペースのサイドバーに AIP エージェントが用意されています。エージェントは、サポートされている AIP 大規模言語モデル(LLM)を使用して、Foundry でのコードの開発とデプロイを支援します。この試験的機能は、AIP が有効なすべての Foundry エンロールメントで利用可能です。

ワークスペースで、左サイドバーの下部にある </> アイコンを選択し、質問を入力… テキストボックスにプロンプトを入力します。エージェントは、利用可能なツールに基づいて、コーディングのガイダンスを提供したり、ファイルを生成したりします。

エージェントを設定する

レンチアイコンを選択して利用可能なツールを表示し、エージェントに不要なツールを無効にします。これらのツールにより、エージェントはファイルの作成、コードスニペットの記述と実行、ライブラリの検索とインストール、ターミナルコマンドの実行を行えます。

エージェントの設定メニューを使用して、会話スレッドの名前を変更したり、システムプロンプトを表示したりします。ワークスペースをシャットダウンまたは再起動すると、チャット履歴は保存されません。セッションを終了する前に、保存したいコードやモデルの出力を同期してください。

エージェントの LLM を変更するには、プロンプトのテキストボックスの下部にある現在のモデル名を選択します。モデルの動作はプロバイダーによって異なります。プロンプトエンジニアリングのベストプラクティスについて詳しくはこちら。

AIP エージェントの一般的なユースケース

AIP エージェントは、次の用途に使用できます。

  • データ分析、可視化、モデリングのタスク用にスターターコードを生成する
  • コーディングのヒントやデータに関する説明を得る
  • ライブラリのインストールやデータクリーニングなどの反復作業を自動化する
  • 公開可能な Dash および Streamlit アプリケーションを構築する

Jupyter® Notebook トランスフォーム

Jupyter Notebook トランスフォームは、外部サービスへの API 呼び出しをサポートしていません。外部システムを呼び出す再現可能なパイプラインには、外部トランスフォームを使用してください。ワークスペースでの対話的な作業には、ソースを使用してください。

Code Workspaces では、Jupyter® ノートブックをデータ変換パイプラインとして公開し、ノートブックが生成する出力データセットにトランスフォームの Job Spec を登録できます。

出力データセットにトランスフォームを登録するには、以下の手順に沿って進めます。

  1. Jupyter® ノートブックをワークスペース内のファイルとして保存します。

  2. データパネルで、データセットの横にある青い Build アイコンを選択します。

データセット名の右側にある青いビルドボタン。
  1. インターフェースの案内に沿って、トランスフォームを設定します。Code Workspaces は、出力データセットの生成に使用した Jupyter® ノートブックと、そのために追加した入力を推定します。推定が誤っている場合は、入力と出力を手動で編集できます。
スクリプトファイル、入力、出力を変更し、CPU とメモリーを調整するオプションがあるトランスフォーム編集パネル。
  1. 同期して実行を選択して、トランスフォームの設定を保存し、出力データセットにトランスフォームと Job Spec を公開するための CI チェックを開始します。

CI チェックが完了すると、トランスフォームをビルドできるようになります。Foundry のほかのデータ統合ツールを使用して、トランスフォームと、それが属するデータパイプラインを管理できます。

トランスフォームは、Code Workspace の環境を自動的には使用しません。実行時に必要なすべてのライブラリを、スクリプトファイルの先頭でインストールしてください。ライブラリをインストールするためのコードスニペットは、ライブラリパネルで確認できます。 たとえば、トランスフォームで scikit-learn と scikit-image を使用するには、ファイルの先頭に次のコードスニペットを追加します。

Copied!
1 !mamba install -y -q scikit-learn scikit-image

Jupyter® Notebooks の管理対象 conda/PyPI 環境

Maestro を利用した管理対象環境機能を使用すると、Jupyter® の conda/PyPI 環境を Jupyter® ワークスペース、アプリケーション、トランスフォーム、モデル出力にわたって一貫して復元できます。Maestro は、Jupyter ワークスペースのライブラリをインストールおよび管理できる Foundry のライブラリ管理ツールです。conda および pip と統合されており、ライブラリのインストールを容易にし、一貫した環境の維持に役立ちます。コマンドを Maestro 用に変換するには、以下の conda または PyPI の手順を参照してください。

管理対象環境は Code Workspace のワークフロー全体で一貫しているため、ワークスペースの再起動、アプリケーションの起動、Jupyter® Notebook トランスフォームの実行のたびに、同じ mamba および pip コマンドを再実行する必要がありません。管理対象環境では、作業環境にインストールされたライブラリが /home/user/repo フォルダー内のファイルで追跡されるため、ワークフロー全体で環境を元の状態に復元できます。

管理対象環境の追跡には、次の2個のファイルが使用されます。

  1. /home/user/repo/.envs/maestro/meta.yaml:環境のマニフェストと呼ばれ、環境で要求されたライブラリとバージョンが含まれています。meta.yaml ファイルの詳しくはこちら。
  2. /home/user/repo/.envs/maestro/hawk.lock - 環境のロックファイルと呼ばれ、マニフェストで指定された制約から解決された、環境の解決済みライブラリとバージョンが含まれています。hawk.lock ファイルは、非推奨となった conda.lock に代わるものです。hawk.lock ファイルの詳しくはこちら。

hawk.lock ロックファイルを変更することは推奨しません。代わりに、インストールコマンドによるファイルの更新を利用してください。git の競合がない限り、meta.yaml ファイルも変更する必要はありません。ライブラリを対話的にインストールすると、自動的に更新されます。

管理対象環境は /home/user/envs/default フォルダーにインストールされます。この環境は、次の段階の前に復元されます。

  • Jupyter® ワークスペースの起動
  • ワークスペースから生成されたアプリケーションの起動
  • ワークスペースから生成された Jupyter® Notebook トランスフォームの実行
  • モデルの実行

使用方法

1. 管理対象環境を有効にする

この機能を有効にするには、左サイドバーにあるワークスペース設定で、詳細機能の管理対象 Conda 環境を切り替えます。その後、ワークスペースを再起動します。

管理対象 conda 環境の詳細機能のダイアログ

機能を有効にすると、default という名前の管理対象環境が利用可能になります。

default という名前の管理対象環境を使用する Notebook ファイルランチャー

2. 管理対象環境を更新する

以下の手順に沿って、管理対象環境を更新し、ライブラリを管理します。

Maestro で conda ライブラリを管理する
  • ライブラリパネルを使用してインストールする: ライブラリ名(たとえば numpy)を検索してインストールします。

  • ターミナルを使用してインストールする: ライブラリの最新バージョンをインストールするには、ターミナルで次のコマンドを実行します。

    Copied!
    1 maestro env conda install <library_name>

    特定のバージョンをインストールするには、次のコマンドを実行します。

    Copied!
    1 maestro env conda install <library_name>==<library_version>
  • ターミナルを使用してアンインストールする: ライブラリをアンインストールするには、ターミナルで次のコマンドを実行します。

    Copied!
    1 maestro env uninstall --conda-dependencies <library_names>

Maestro で PyPI ライブラリを管理する
  • ライブラリパネルを使用してインストールする: ライブラリ名(たとえば numpy)を検索してインストールします。

  • ターミナルを使用してインストールする: ライブラリの最新バージョンをインストールするには、ターミナルで次のコマンドを実行します。

    Copied!
    1 maestro env pip install <library_name>

    特定のバージョンをインストールするには、次のコマンドを実行します。

    Copied!
    1 maestro env pip install <library_name>==<library_version>
  • ターミナルを使用してアンインストールする: ライブラリをアンインストールするには、ターミナルで次のコマンドを実行します。

    Copied!
    1 maestro env uninstall --pip-dependencies <library_names>

ライブラリタブからライブラリをインストールする場合、インストールコマンドは Notebook やアプリケーションのコード内ではなく、Jupyter® ターミナルで直接実行されます。インストールコマンドが実行されるたびに、meta.yaml マニフェストが要求したライブラリで更新され、hawk.lock ファイルには現在の環境にインストールされているライブラリが反映されます。

3. 管理対象環境に現在インストールされているライブラリを表示する

インストール済みライブラリは、ライブラリタブに表示されます。

ライブラリタブに表示されたインストール済みライブラリの一覧

4. JupyterLab® インターフェースで環境ファイルを表示する

ワークスペースの表示ドロップダウンメニューに移動し、隠しファイルを表示を選択します。

隠しファイルを表示する Jupyter インターフェースのドロップダウンメニュー

次に、.envs/maestro フォルダーに移動して、meta.yaml および hawk.lock ファイルを表示します。

5. 管理対象環境を hawk.lock ファイルの変更と同期する

新しいブランチをチェックアウトしたり、git の新しい変更をプルしたりすると、hawk.lock ファイルの内容が変わる場合があります。

管理対象環境を同期するには、ワークスペースのターミナルで次のコマンドを実行します。

Copied!
1 maestro env install

maestro は、管理対象環境を更新するコマンドラインインターフェースです。上記のコマンドは、マニフェストからロックファイルを再解決し、環境を /home/user/envs/default フォルダーにインストールします。

6. 環境ファイルの git 競合を解決する

管理対象環境の git 競合を解決するには、まず hawk.lock ファイルを削除します。meta.yaml ファイルに移動して競合を解決し、その後、このブランチをマージします。

マージ後、ターミナルで maestro env install コマンドを実行すると、hawk.lock ファイルが再生成され、管理対象環境が再インストールされます。

7. 管理対象環境をアップグレードする

管理対象環境を更新するには、まず hawk.lock ファイルを削除します。次に、/home/user/envs/default フォルダーを削除します(rm -rf /home/user/envs/default)。最後に、ターミナルで maestro env install コマンドを実行すると、hawk.lock ファイルが再生成されます。環境は、アップグレードされたライブラリバージョンで再インストールされます。

例:meta.yaml ファイル

meta.yaml ファイルは、要求されたライブラリの仕様を表します。このファイルは Conda メタデータ仕様 ↗ に準拠しており、conda と PyPI の両方の依存関係の仕様を含めることができます。Jupyter® の管理対象環境では、requirements.run および requirements.pip セクションで指定されたライブラリのみが使用されます。

以下は、meta.yaml ファイルの例です。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package: name: '{{ PACKAGE_NAME }}' version: '{{ PACKAGE_VERSION }}' requirements: build: [] run: - ipykernel - pip - foundry-transforms-lib-python - pandas - polars - dash - streamlit - tensorboard pip: - Flask-Testing run_constrained: [] source: path: ../src build: null test: null about: null

例:hawk.lock ファイル

hawk.lock ファイルには、解決された管理対象環境のライブラリ、バージョン、チャネルが含まれています。

以下は、hawk.lock ファイルの例です。

# このファイルは自動生成されています。必須ではありませんが、git リポジトリにコミットできます。
# ビルドの失敗を避けるため、このファイルの変更は推奨しません。

[conda]
_libgcc_mutex=0.1=conda_forge @ 16fe1c80
_openmp_mutex=4.5=2_gnu @ 16fe1c80
absl-py=2.1.0=pyhd8ed1ab_0 @ c7211bb6
altair=5.3.0=pyhd8ed1ab_0 @ c7211bb6
asttokens=2.4.1=pyhd8ed1ab_0 @ c7211bb6
attrs=23.2.0=pyh71513ae_0 @ c7211bb6
aws-c-auth=0.7.22=h96bc93b_2 @ e1c11c02
aws-c-cal=0.6.14=h88a6e22_1 @ e1c11c02
aws-c-common=0.9.19=h4ab18f5_0 @ e1c11c02
aws-c-compression=0.2.18=h83b837d_6 @ e1c11c02
aws-c-event-stream=0.4.2=ha47c788_12 @ e1c11c02
aws-c-http=0.8.1=h29d6fba_17 @ e1c11c02
aws-c-io=0.14.8=h21d4f22_5 @ e1c11c02
aws-c-mqtt=0.10.4=h759edc4_4 @ e1c11c02
aws-c-s3=0.5.9=h594631b_3 @ e1c11c02
aws-c-sdkutils=0.1.16=h83b837d_2 @ e1c11c02
aws-checksums=0.1.18=h83b837d_6 @ e1c11c02
aws-crt-cpp=0.26.9=he3a8b3b_0 @ e1c11c02
aws-sdk-cpp=1.11.329=hba8bd5f_3 @ e1c11c02
blinker=1.8.2=pyhd8ed1ab_0 @ c7211bb6
brotli-python=1.1.0=py310hc6cd4ac_1 @ e1c11c02
bzip2=1.0.8=hd590300_5 @ e1c11c02
c-ares=1.28.1=hd590300_0 @ e1c11c02
ca-certificates=2024.7.4=hbcca054_0 @ e1c11c02
cachetools=5.3.3=pyhd8ed1ab_0 @ c7211bb6
certifi=2024.7.4=pyhd8ed1ab_0 @ c7211bb6
cffi=1.16.0=py310h2fee648_0 @ e1c11c02
charset-normalizer=3.3.2=pyhd8ed1ab_0 @ c7211bb6
click=8.1.7=unix_pyh707e725_0 @ c7211bb6
comm=0.2.2=pyhd8ed1ab_0 @ c7211bb6
conjure-python-client=2.8.0=pyhd8ed1ab_0 @ c7211bb6
dash=2.17.1=pyhd8ed1ab_0 @ c7211bb6
debugpy=1.8.2=py310h76e45a6_0 @ e1c11c02
decorator=5.1.1=pyhd8ed1ab_0 @ fe451c34
exceptiongroup=1.2.0=pyhd8ed1ab_2 @ c7211bb6
executing=2.0.1=pyhd8ed1ab_0 @ c7211bb6
flask=3.0.3=pyhd8ed1ab_0 @ c7211bb6
foundry-data-sidecar-api=0.626.0=py_0 @ fe451c34
foundry-transforms-lib-python=0.639.0=py_0 @ fe451c34
freetype=2.12.1=h267a509_2 @ e1c11c02
gflags=2.2.2=he1b5a44_1004 @ 16fe1c80
gitdb=4.0.11=pyhd8ed1ab_0 @ c7211bb6
gitpython=3.1.43=pyhd8ed1ab_0 @ c7211bb6
glog=0.7.1=hbabe93e_0 @ e1c11c02
grpcio=1.62.2=py310h1b8f574_0 @ e1c11c02
h2=4.1.0=pyhd8ed1ab_0 @ fe451c34
hpack=4.0.0=pyh9f0ad1d_0 @ fe451c34
hyperframe=6.0.1=pyhd8ed1ab_0 @ fe451c34
idna=3.7=pyhd8ed1ab_0 @ c7211bb6
importlib-metadata=7.2.1=pyha770c72_0 @ c7211bb6
importlib_metadata=7.2.1=hd8ed1ab_0 @ c7211bb6
importlib_resources=6.4.0=pyhd8ed1ab_0 @ c7211bb6
ipykernel=6.29.5=pyh3099207_0 @ c7211bb6
ipython=8.26.0=pyh707e725_0 @ c7211bb6
ipywidgets=8.1.3=pyhd8ed1ab_0 @ c7211bb6
itsdangerous=2.2.0=pyhd8ed1ab_0 @ c7211bb6
jedi=0.19.1=pyhd8ed1ab_0 @ c7211bb6
jinja2=3.1.4=pyhd8ed1ab_0 @ c7211bb6
jsonschema=4.23.0=pyhd8ed1ab_0 @ c7211bb6
jsonschema-specifications=2023.12.1=pyhd8ed1ab_0 @ c7211bb6
jupyter_client=8.6.2=pyhd8ed1ab_0 @ c7211bb6
jupyter_core=5.7.2=py310hff52083_0 @ e1c11c02
jupyterlab_widgets=3.0.11=pyhd8ed1ab_0 @ c7211bb6
keyutils=1.6.1=h166bdaf_0 @ 16fe1c80
krb5=1.21.3=h659f571_0 @ e1c11c02
lcms2=2.16=hb7c19ff_0 @ e1c11c02
ld_impl_linux-64=2.40=hf3520f5_7 @ e1c11c02
lerc=4.0.0=h27087fc_0 @ 16fe1c80
libabseil=20240116.2=cxx17_h59595ed_0 @ e1c11c02
libarrow=16.1.0=hcb6531f_6_cpu @ e1c11c02
libarrow-acero=16.1.0=hac33072_6_cpu @ e1c11c02
libarrow-dataset=16.1.0=hac33072_6_cpu @ e1c11c02
libarrow-substrait=16.1.0=h7e0c224_6_cpu @ e1c11c02
libblas=3.9.0=22_linux64_openblas @ e1c11c02
libbrotlicommon=1.1.0=hd590300_1 @ e1c11c02
libbrotlidec=1.1.0=hd590300_1 @ e1c11c02
libbrotlienc=1.1.0=hd590300_1 @ e1c11c02
libcblas=3.9.0=22_linux64_openblas @ e1c11c02
libcrc32c=1.1.2=h9c3ff4c_0 @ 16fe1c80
libcurl=8.8.0=hca28451_1 @ e1c11c02
libdeflate=1.20=hd590300_0 @ e1c11c02
libedit=3.1.20191231=he28a2e2_2 @ 16fe1c80
libev=4.33=hd590300_2 @ e1c11c02
libevent=2.1.12=hf998b51_1 @ e1c11c02
libffi=3.4.2=h7f98852_5 @ 16fe1c80
libgcc-ng=14.1.0=h77fa898_0 @ e1c11c02
libgfortran-ng=14.1.0=h69a702a_0 @ e1c11c02
libgfortran5=14.1.0=hc5f4f2c_0 @ e1c11c02
libgomp=14.1.0=h77fa898_0 @ e1c11c02
libgoogle-cloud=2.24.0=h2736e30_0 @ e1c11c02
libgoogle-cloud-storage=2.24.0=h3d9a0c8_0 @ e1c11c02
libgrpc=1.62.2=h15f2491_0 @ e1c11c02
libjpeg-turbo=3.0.0=hd590300_1 @ e1c11c02
liblapack=3.9.0=22_linux64_openblas @ e1c11c02
libnghttp2=1.58.0=h47da74e_1 @ e1c11c02
libnsl=2.0.1=hd590300_0 @ e1c11c02
libopenblas=0.3.27=pthreads_hac2b453_1 @ e1c11c02
libparquet=16.1.0=h6a7eafb_6_cpu @ e1c11c02
libpng=1.6.43=h2797004_0 @ e1c11c02
libprotobuf=4.25.3=h08a7969_0 @ e1c11c02
libre2-11=2023.09.01=h5a48ba9_2 @ e1c11c02
libsodium=1.0.18=h36c2ea0_1 @ 16fe1c80
libssh2=1.11.0=h0841786_0 @ e1c11c02
libstdcxx-ng=14.1.0=hc0a3c3a_0 @ e1c11c02
libthrift=0.19.0=hb90f79a_1 @ e1c11c02
libtiff=4.6.0=h1dd3fc0_3 @ e1c11c02
libutf8proc=2.8.0=h166bdaf_0 @ 16fe1c80
libuuid=2.38.1=h0b41bf4_0 @ e1c11c02
libwebp-base=1.4.0=hd590300_0 @ e1c11c02
libxcb=1.15=h0b41bf4_0 @ e1c11c02
libzlib=1.2.13=h4ab18f5_6 @ e1c11c02
lz4-c=1.9.4=hcb278e6_0 @ e1c11c02
markdown=3.6=pyhd8ed1ab_0 @ c7211bb6
markdown-it-py=3.0.0=pyhd8ed1ab_0 @ c7211bb6
markupsafe=2.1.5=py310h2372a71_0 @ e1c11c02
matplotlib-inline=0.1.7=pyhd8ed1ab_0 @ c7211bb6
mdurl=0.1.2=pyhd8ed1ab_0 @ c7211bb6
ncurses=6.2=h58526e2_4 @ 16fe1c80
nest-asyncio=1.6.0=pyhd8ed1ab_0 @ c7211bb6
numpy=1.26.4=py310hb13e2d6_0 @ e1c11c02
openjpeg=2.5.2=h488ebb8_0 @ e1c11c02
openssl=3.3.1=h4ab18f5_1 @ e1c11c02
orc=2.0.1=h17fec99_1 @ e1c11c02
packaging=24.1=pyhd8ed1ab_0 @ c7211bb6
pandas=2.2.2=py310hf9f9076_1 @ e1c11c02
parso=0.8.4=pyhd8ed1ab_0 @ c7211bb6
pexpect=4.9.0=pyhd8ed1ab_0 @ c7211bb6
pickleshare=0.7.5=py_1003 @ fe451c34
pillow=10.3.0=py310hf73ecf8_0 @ e1c11c02
pip=24.0=pyhd8ed1ab_0 @ c7211bb6
pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 @ c7211bb6
platformdirs=4.2.2=pyhd8ed1ab_0 @ c7211bb6
plotly=5.22.0=pyhd8ed1ab_0 @ c7211bb6
polars=1.1.0=py310h3af5803_0 @ e1c11c02
prompt-toolkit=3.0.47=pyha770c72_0 @ c7211bb6
protobuf=4.25.3=py310ha8c1f0e_0 @ e1c11c02
psutil=6.0.0=py310hc51659f_0 @ e1c11c02
pthread-stubs=0.4=h36c2ea0_1001 @ 16fe1c80
ptyprocess=0.7.0=pyhd3deb0d_0 @ fe451c34
pure_eval=0.2.2=pyhd8ed1ab_0 @ fe451c34
pyarrow=16.1.0=py310h17c5347_1 @ e1c11c02
pyarrow-core=16.1.0=py310h6f79a3a_1_cpu @ e1c11c02
pycparser=2.22=pyhd8ed1ab_0 @ c7211bb6
pydeck=0.8.0=pyhd8ed1ab_0 @ fe451c34
pygments=2.18.0=pyhd8ed1ab_0 @ c7211bb6
pysocks=1.7.1=pyha2e5f31_6 @ fe451c34
python=3.10.2=h543edf9_0_cpython @ 16fe1c80
python-dateutil=2.9.0=pyhd8ed1ab_0 @ c7211bb6
python-tzdata=2024.1=pyhd8ed1ab_0 @ c7211bb6
python_abi=3.10=4_cp310 @ e1c11c02
pytz=2024.1=pyhd8ed1ab_0 @ c7211bb6
pyyaml=6.0.1=py310h2372a71_1 @ e1c11c02
pyzmq=26.0.3=py310h6883aea_0 @ e1c11c02
re2=2023.09.01=h7f4b329_2 @ e1c11c02
readline=8.1=h46c0cb4_0 @ 16fe1c80
referencing=0.35.1=pyhd8ed1ab_0 @ c7211bb6
requests=2.32.3=pyhd8ed1ab_0 @ c7211bb6
retrying=1.3.3=py_2 @ fe451c34
rich=13.7.1=pyhd8ed1ab_0 @ c7211bb6
rpds-py=0.19.0=py310h42e942d_0 @ e1c11c02
s2n=1.4.15=he19d79f_0 @ e1c11c02
setuptools=70.1.1=pyhd8ed1ab_0 @ c7211bb6
six=1.16.0=pyh6c4a22f_0 @ fe451c34
smmap=5.0.0=pyhd8ed1ab_0 @ fe451c34
snappy=1.2.1=ha2e4443_0 @ e1c11c02
sqlite=3.37.0=h9cd32fc_0 @ 16fe1c80
stack_data=0.6.2=pyhd8ed1ab_0 @ c7211bb6
streamlit=1.36.0=pyhd8ed1ab_0 @ c7211bb6
tenacity=8.5.0=pyhd8ed1ab_0 @ c7211bb6
tensorboard=2.17.0=pyhd8ed1ab_0 @ c7211bb6
tensorboard-data-server=0.7.0=py310h75e40e8_1 @ e1c11c02
tk=8.6.13=noxft_h4845f30_101 @ e1c11c02
toml=0.10.2=pyhd8ed1ab_0 @ fe451c34
toolz=0.12.1=pyhd8ed1ab_0 @ c7211bb6
tornado=6.4.1=py310hc51659f_0 @ e1c11c02
traitlets=5.14.3=pyhd8ed1ab_0 @ c7211bb6
typing-extensions=4.12.2=hd8ed1ab_0 @ c7211bb6
typing_extensions=4.12.2=pyha770c72_0 @ c7211bb6
tzdata=2024a=h0c530f3_0 @ c7211bb6
tzlocal=5.2=py310hff52083_0 @ e1c11c02
urllib3=2.2.2=pyhd8ed1ab_1 @ c7211bb6
validators=0.31.0=pyhd8ed1ab_0 @ c7211bb6
watchdog=4.0.1=py310hff52083_0 @ e1c11c02
wcwidth=0.2.13=pyhd8ed1ab_0 @ c7211bb6
werkzeug=3.0.3=pyhd8ed1ab_0 @ c7211bb6
wheel=0.43.0=pyhd8ed1ab_1 @ c7211bb6
widgetsnbextension=4.0.11=pyhd8ed1ab_0 @ c7211bb6
xorg-libxau=1.0.11=hd590300_0 @ e1c11c02
xorg-libxdmcp=1.1.3=h7f98852_0 @ 16fe1c80
xz=5.2.6=h166bdaf_0 @ 16fe1c80
yaml=0.2.5=h7f98852_2 @ 16fe1c80
zeromq=4.3.5=h75354e8_4 @ e1c11c02
zipp=3.19.2=pyhd8ed1ab_0 @ c7211bb6
zlib=1.2.13=h4ab18f5_6 @ e1c11c02
zstandard=0.22.0=py310hab88d88_1 @ e1c11c02
zstd=1.5.6=ha6fb4c9_0 @ e1c11c02

[pip]
brotli==1.1.0
importlib-resources==6.4.0
jupyter-client==8.6.2
jupyter-core==5.7.2
jupyterlab-widgets==3.0.11
pure-eval==0.2.2
stack-data==0.6.2

[conda-metadata]
16fe1c80 - linux-64 @ tar.bz2 @ ri.artifacts.repository.bundle.jupyter-default-environment
c7211bb6 - noarch @ conda @ ri.artifacts.repository.bundle.jupyter-default-environment
e1c11c02 - linux-64 @ conda @ ri.artifacts.repository.bundle.jupyter-default-environment
fe451c34 - noarch @ tar.bz2 @ ri.artifacts.repository.bundle.jupyter-default-environment

[conda lock version]
v3 - 0454ce4598cd475c502df1fe8a15b86ddae33cd74f97c833cb35f122e7555dfe

Jupyter®、JupyterLab®、および Jupyter® のロゴは、NumFOCUS の商標または登録商標です。

TensorBoard および関連するすべての商標は、Google Inc. の商標です。

ここで言及されている第三者の商標(ロゴおよびアイコンを含む)は、すべてそれぞれの所有者に帰属します。提携または推奨を意味するものではありません。