mise + uv + ruff + task + mypy で Python 環境を構築する
以下のツールを組み合わせて Python 環境を構築する為の準備手順をメモしておきます。
ツール | 対象 | 概要 |
---|---|---|
mise | なんでも | 各種ツールのバージョンマネージャ |
Task | なんでも | タスクランナー |
uv | Python | ライブラリを管理するパッケージマネージャ |
Ruff | Python | 静的コード解析ツール |
mypy | Python | 型チェックツール |
以下のツールを組み合わせて Python 環境を構築する為の準備手順をメモしておきます。
ツール | 対象 | 概要 |
---|---|---|
mise | なんでも | 各種ツールのバージョンマネージャ |
Task | なんでも | タスクランナー |
uv | Python | ライブラリを管理するパッケージマネージャ |
Ruff | Python | 静的コード解析ツール |
mypy | Python | 型チェックツール |
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 認証ログインするサンプルスクリプトをメモしておきます。
Python の DrissionPage を利用すると Web ブラウザの操作を自動化することが出来ます。 現時点でサポートしている環境については下記の記載があります。
- Support system: Windows、Linux、Mac
- Python version:more than 3.6
- Support browser: Chromium kernel(eg. Chrome, Edge),electron
このメモでは DrissionPage の ChromiumPage を使って Web ページを取得する、簡単なサンプルをメモしておきます。 尚、DrissionPage のドキュメントページ は中国語だけのようで、英語など他の言語の提供は無いようです…
以前に CML でノードライセンスを消費するノード・消費しないノード というメモを書きました。 CML は「同時に起動出来るノード数」は「インストールされているノードライセンス数」で決定されます。 これはあくまで「同時起動数」であり、起動しなければ無制限にノードを配置出来ます。 ライセンスがインストールされていない場合の挙動はバージョンによって異なります。
バージョン | ライセンス未インストール時の挙動 |
---|---|
2.8.0 未満 | ノードは 1 台も起動出来ない (サードパーティノードであっても起動出来ない) |
2.8.0 以降 | ノードは 5 台まで起動出来る (6 台以上起動するとエラーになる) |
ノードライセンスを超過した場合、Web UI では以下のようなエラーが表示されます。
今回は API アクセスしている場合のエラーをメモしておきます。 API アクセスには Python + virl2-client を用います。
Cisco CML のライセンス状態を Python から取得するサンプルコードをメモしておきます。 virl2_client.models.licensing の features() を利用することでライセンス状態を取得出来ます。
Shodo を使うと AI の支援を受けて日本語の文章校正を行うことが出来ます。 Shodo 自体は有料ですが、個人利用に限定した無料プランもあるそうです。 Shodo は専用サイトから Web UI で利用することも出来ますが pypi で公開されている shodo をインストールすることで CLI から利用することも出来ます。 今回は CLI から無料プランを利用する手順をメモしておきます。
以前に以下のメモを書きました。
今回は pymsteams を使い、メンション付きのメッセージを送信するサンプルをメモしておきます。
以前に Microsoft Teams へ Workflow として Webhook を設定する というメモを書きました。 Python から Adaptive Card 形式 で MS Teams へメッセージを送信するライブラリは幾つあるようですが、今回は adaptive-cards-py というライブラリを使ってみました。