mise+uvを前提にPythonの仮想環境を作成するスクリプト
以前にPython で venv & direnv を設定するスクリプトというメモを書きました。このスクリプトに関して以下の点を修正しました。
mise use 〜部分が意図した通りに動作していなかったものを修正- Pythonのバージョンを指定できるように修正(デフォルトは3.13.9)
taskfileの内容は好みで修正します。
以前にPython で venv & direnv を設定するスクリプトというメモを書きました。このスクリプトに関して以下の点を修正しました。
mise use 〜部分が意図した通りに動作していなかったものを修正taskfileの内容は好みで修正します。
macOSで「コピーした内容をテキストファイルに貼り付ける」という作業を大量に実施する必要があった為、これを自動化するツールを作成しました。
MarkItDownを使うとファイルの形式を変換することができます。公式ページには以下の記載があります。
MarkItDown currently supports the conversion from:
- PowerPoint
- Word
- Excel
- Images (EXIF metadata and OCR)
- Audio (EXIF metadata and speech transcription)
- HTML
- Text-based formats (CSV, JSON, XML)
- ZIP files (iterates over contents)
- Youtube URLs
- EPubs
- ... and more!
ただ、実際に試してみると現状では「意図した通りに動作しない」ことが多いように思いました。とりあえず、今回試した内容をメモしておきます。
miseでPythonのバージョンを指定すると「fatal: 'origin' does not appear to be a git repository」エラーが出るようになってしまいました。このエラーの対処方法をメモしておきます。
以前にPython で CML2 上のリンク情報を取得する (virl2-client 利用版)というメモを書きました。リンクのLatencyなどの値はLink conditioning として取得することが出来ます。今回は全リンクのBandwidth,Latency,Loss,Jitterを表示するサンプルをメモします。
以前に以下のメモを書きました。
今回は Nginx では無く、Apache 2.4 で特定ディレクトリへアクセスがあった場合のみリバースプロキシ動作をさせ、デーモン化した Streamlit アプリケーションで応答する設定例をメモしておきます。 尚、mise と uv は事前にインストールされている前提とします。
Streamlit ではプログラムからクエリパラメータを取得することも出来ます。 今回は以下を使って「クエリパラメータが指定された場合はボタンの名前を変更する」サンプルをメモしておきます。
Cisco CML には Tools Menu の中に Sample Labs という機能があります。 予め所定のディレクトリにワークスペースの構成ファイル (YAML) を配置しておくことで Sample Labs の一覧画面に表示され、それを Import するだけですぐにワークスペースを用意出来ます。 また、CML 自体に「サンプルラボをロードする」という API は実装されています。

CML の操作を自動化するには cmlutils や virl2-client を利用することが出来ます。 ですが、Sample Labs の機能は cmlutils や virl2-client には実装されていないようです。 その為、今回は直接、Python から Sample Labs 機能を利用する REST API を呼び出すサンプルスクリプトをメモしておきます。
先日、Streamlit-Authenticator でログイン認証フォームを作る というメモを書きました。 Streamlit 作成した Web アプリケーションを本格的に利用したい場合はデーモン化しなくなります。 そこで今回は Systemd を使って Streamlit アプリケーションをデーモン化する手順をメモしておきます。
Streamlit-Authenticator を使うと Streamlit で作成したアプリケーションへログインフォームや認証の機能を追加出来ます。 今回は Streamlit-Authenticator を使い、ログインフォーム機能を持った簡単なアプリケーションのサンプルを動作させるまでの手順をメモしておきます。