Skip to main content

otsutil

よく使う関数やクラスを纏めたライブラリです。

このライブラリは以下の環境で作成・最適化されています。 Windows10/11, Python 3.13.0+

インストール

インストール pip install otsutil

アップデート pip install -U otsutil

アンインストール pip uninstall otsutil

モジュール

以下のモジュールが存在します。

モジュール名 概要
cfg 定数
classes スレッドセーフなコンテナやタイマーなどのクラス定義
exceptions 例外
funcs ファイル操作や型判定などの便利な関数定義
types パッケージ全体で共通利用する型ヒント・ジェネリクス共通定義

cfgモジュール

cfgモジュールでは以下の定数が定義されています。

定数名 概要
JST 日本のタイムゾーン。

classesモジュール

classesモジュールでは以下のクラスが定義されています。

名称 概要
LockableDict 要素の操作時に threading.RLock を使用するスレッドセーフな dict クラス。
with obj: 構文によるコンテキストマネージャに対応し、複数の操作をアトミックに実行可能です。
LockableList 要素の操作時に threading.RLock を使用するスレッドセーフな list クラス。
with obj: 構文によるコンテキストマネージャに対応し、複数の操作をアトミックに実行可能です。
ObjectStore オブジェクトを pickle + base64 でシリアライズし、ファイルに永続化・管理するクラス。
カスタムクラスを保存する場合、そのクラスに __reduce__ を実装することでリスト内の要素なども含め高度な変換・復元が可能です。
OtsuNone None を返す可能性のある辞書の get デフォルト値などに使用するセンチネルオブジェクト。
bool() 判定では False を返します。
Timer 指定時間の経過判定および待機を行うタイマー。
同期的なブロック待機 (join) に加え、asyncio による非同期待機 (ajoin) をサポート。
for / async for 文で残り時間を yield しながら処理を行うイテレータ機能を持ちます。

exceptionsモジュール

exceptionsモジュールでは以下の例外が定義されています。

例外名 概要
PathError パスに関連する例外の基底クラス
PathTypeError パスの形式や型に関連するエラー(PathErrorを継承)
ObjectStoreError ObjectStore関連処理で発生する基底例外クラス
ObjectStoreSaveError オブジェクトの保存に失敗した際に送出される例外
ObjectStoreLoadError オブジェクトの読み込みに失敗した際に送出される例外

funcsモジュール

funcsモジュールでは以下の関数が定義されています。

関数名 概要
deduplicate シーケンスから重複を取り除き、順序を保持したまま元の型(list/tuple)で返す。
get_sub_paths ディレクトリ内を探索し、ワイルドカードや拡張子による高度なフィルタリングを適用して子パスを一覧取得する。
is_all_type 反復可能オブジェクトの全ての要素が、指定した型であるか判定する。
is_dict_key_type dict[K, Any]か検証する。
is_dict_type dict[K, V]か検証する。
is_dict_value_type dict[K, V]か検証する。
is_type オブジェクトが指定した型であるか判定する(None 許容判定などを含む)。
iter_sub_paths get_sub_pathsのイテレータ版。
load_json JSON ファイルを読み込む。親ディレクトリがない場合は作成し、ファイルがない場合はデフォルト値を返します。
read_lines ファイルを1行ずつ読み出すジェネレータ。改行コードの自動除去やエンコーディング指定が可能です。
same_path パス群が(相対/絶対に関わらず)物理的に同じ場所を指しているか判定する。
save_json オブジェクトを JSON 形式で保存する。
setup_path パスを Path オブジェクトとして整備し、必要に応じて親ディレクトリを生成して利用可能な状態にする。
str_to_path 文字列を pathlib.Path に変換する。
write_lines 反復可能な文字列データを1行ずつファイルに書き出す。

typesモジュール

typesモジュールでは、ジェネリクス構文に対応した以下の型定義がされています。

名称 概要
ExpectType[T] isinstance(obj, ExpectType)で使用できる型。
FloatInt float または int に限定した数値型。
HMSTuple (時, 分, 秒) のタプル。型は (int, int, float)。
OptPath pathlib.Path またはNone
OptStr str またはNone。
OptStrPath pathlib.PathまたはstrまたはNone。
StrPath pathlib.Path または str。

Metadata

Release files for otsutil 1.3.11.313

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for otsutil 1.3.11.313
File Size Uploaded
otsutil-1.3.11.313.tar.gz 19.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for otsutil 1.3.11.313
File Interpreter ABI Platform
otsutil-1.3.11.313-py3-none-any.whl Python 3 none any Details

Total release size: 35.5 kB

Release files / otsutil-1.3.11.313.tar.gz

Download URL otsutil-1.3.11.313.tar.gz
Size 19.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d4b9ea6afb26df63db143ea46cbdf8190c2b73cd2bde8e133903fba0df6923e2
BLAKE2b-256 checksum
How to use checksums
7be7bf99a253a059b378ef92133a5365512b45f16f2b776ee2ebf34ba0ffdc1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / otsutil-1.3.11.313-py3-none-any.whl

Download URL otsutil-1.3.11.313-py3-none-any.whl
Size 15.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2518de9d4f25ea7200222bac220eea3e459bfa2b5b25e0eb1a2ad8db5ce681f5
BLAKE2b-256 checksum
How to use checksums
82a3657fb0f0edad955e830080466f949f38b6304cf8998d6cb15a56a56cdfa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page