Skip to content

Python

Apache の特定ディレクトリアクセスがあった際、デーモン化した Streamlit で応答する

以前に以下のメモを書きました。

今回は Nginx では無く、Apache 2.4 で特定ディレクトリへアクセスがあった場合のみリバースプロキシ動作をさせ、デーモン化した Streamlit アプリケーションで応答する設定例をメモしておきます。 尚、miseuv は事前にインストールされている前提とします。

Python で Cisco CML 上にサンプルラボを作成する

Cisco CML には Tools Menu の中に Sample Labs という機能があります。 予め所定のディレクトリにワークスペースの構成ファイル (YAML) を配置しておくことで Sample Labs の一覧画面に表示され、それを Import するだけですぐにワークスペースを用意出来ます。 また、CML 自体に「サンプルラボをロードする」という API は実装されています。

image

CML の操作を自動化するには cmlutilsvirl2-client を利用することが出来ます。 ですが、Sample Labs の機能は cmlutils や virl2-client には実装されていないようです。 その為、今回は直接、Python から Sample Labs 機能を利用する REST API を呼び出すサンプルスクリプトをメモしておきます。

mise + uv + ruff + task + mypy で Python 環境を構築する

以下のツールを組み合わせて Python 環境を構築する為の準備手順をメモしておきます。

ツール 対象 概要
mise なんでも 各種ツールのバージョンマネージャ
Task なんでも タスクランナー
uv Python ライブラリを管理するパッケージマネージャ
Ruff Python 静的コード解析ツール
mypy Python 型チェックツール

Python で BOX へ JWT 認証ログインするサンプルスクリプト

Python から BOX へアクセスする方法は以下などが考えられます。

No. 方法 GitHub ページ 補足
1 REST API を直接、呼び出す - 抽象化されていない為、利用がやや大変
2 Pythoh SDK を利用する Box Python SDK サポート終了予定
3 Python SDK (Generated) を利用する Box Python SDK GENERATED 今後の主流?

2 番目の Python SDK は Python SDK (公式サポート終了) のインストール ページで以下のように記載されており、サポート終了予定です。 今後、積極的に利用するのは躊躇われます。

Python SDKは、現在メンテナンスモードであり、まもなく公式サポートが終了する予定です。つまり、実装されるのは重要なセキュリティ更新プログラムとバグ修正のみになります。自動生成されたPython SDKを使用することをお勧めします。

3 番目の Python SDK (Generated) は Python SDK (Generated) のインストール ページで以下のように記載されています。

Pythonプロジェクトでは、自動生成されたBox Python SDKを使用してBox APIを呼び出すことができます。この次世代のSDKには、開発者エクスペリエンスを向上させ、Boxコンテンツクラウドとの統合を効率化することを目的とした新機能が備わっています。

今回は Python SDK (Generated) を利用し、Python から Box へ JWT 認証ログインするサンプルスクリプトをメモしておきます。