Skip to content

Python

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 認証ログインするサンプルスクリプトをメモしておきます。

Python の DrissionPage で Web ページを取得する

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 でノードライセンスを消費するノード・消費しないノード というメモを書きました。 CML は「同時に起動出来るノード数」は「インストールされているノードライセンス数」で決定されます。 これはあくまで「同時起動数」であり、起動しなければ無制限にノードを配置出来ます。 ライセンスがインストールされていない場合の挙動はバージョンによって異なります。

バージョン ライセンス未インストール時の挙動
2.8.0 未満 ノードは 1 台も起動出来ない (サードパーティノードであっても起動出来ない)
2.8.0 以降 ノードは 5 台まで起動出来る (6 台以上起動するとエラーになる)

ノードライセンスを超過した場合、Web UI では以下のようなエラーが表示されます。

file

今回は API アクセスしている場合のエラーをメモしておきます。 API アクセスには Python + virl2-client を用います。

Shodo で CLI から文章を AI で校正する

Shodo を使うと AI の支援を受けて日本語の文章校正を行うことが出来ます。 Shodo 自体は有料ですが、個人利用に限定した無料プランもあるそうです。 Shodo は専用サイトから Web UI で利用することも出来ますが pypi で公開されている shodo をインストールすることで CLI から利用することも出来ます。 今回は CLI から無料プランを利用する手順をメモしておきます。

file