Skip to main content

A general-purpose utility package using Python 3.12+ features.

Project description

otsutil

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

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

インストール

インストール pip install otsutil

アップデート pip install -U otsutil

アンインストール pip uninstall otsutil

モジュール

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

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

classesモジュール

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

クラス名 概要
LockableDict 要素の操作時に threading.Lock を使用するスレッドセーフな dict クラス。
LockableList 要素の操作時に threading.Lock を使用するスレッドセーフな list クラス。
ObjectSaver オブジェクトを pickle + base64 でシリアライズし、ファイルに永続化するクラス。
カスタムクラスを保存する場合、そのクラスに __reduce__ を実装することでリスト内の要素なども含め高度な変換・復元が可能です。
OtsuNone None を返す可能性のある辞書の get デフォルト値などに使用するセンチネルオブジェクト。
bool() 判定では False を返します。
Timer 指定時間の経過判定および待機を行うタイマー。
秒単位でのブロック待機や、for 文で残り時間を yield しながら処理を行うイテレータ機能を持ちます。

funcsモジュール

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

関数名 概要
deduplicate シーケンスから重複を取り除き、順序を保持したまま元の型(list/tuple)で返す。
get_value 階層構造を持つ辞書などから、キーのリストを指定して安全に値を取得する。
is_all_type 反復可能オブジェクトの全ての要素が、指定した型であるか判定する。
is_type オブジェクトが指定した型であるか判定する(None 許容判定などを含む)。
load_json JSON ファイルを読み込む。親ディレクトリがない場合は作成し、ファイルがない場合はデフォルト値を返します。
read_lines ファイルを1行ずつ読み出すジェネレータ。改行コードの自動除去やエンコーディング指定が可能です。
same_path 2つのパスが(相対/絶対に関わらず)物理的に同じ場所を指しているか判定する。
save_json オブジェクトを JSON 形式で保存する。
setup_path パスを Path オブジェクトとして整備し、必要に応じて親ディレクトリを生成して利用可能な状態にする。
str_to_path 文字列を pathlib.Path に変換する。
write_lines 反復可能な文字列データを1行ずつファイルに書き出す。

typesモジュール

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

名称 形式 概要
FLOAT_INT TypeVar float または int に限定した数値型変数。
K / V TypeVar 辞書のキー(Key)や値(Value)を想定した型変数。
P ParamSpec 関数の引数仕様(Parameter Specification)を表す型変数。
R TypeVar 関数の戻り値(Return Value)を表す型変数。
T TypeVar 制約のない汎用的な型変数。
hmsValue Alias (時, 分, 秒) のタプル。型は (int, int, float)
pathLike Alias pathlib.Path または str

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

otsutil-1.2.3.312.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

otsutil-1.2.3.312-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file otsutil-1.2.3.312.tar.gz.

File metadata

  • Download URL: otsutil-1.2.3.312.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for otsutil-1.2.3.312.tar.gz
Algorithm Hash digest
SHA256 dd9a4f1f3abc859d9d4e2860810e7b4d7ca9a5c9e0ddd16f6d8a1072c53a3f06
MD5 7c3fc92f28ecee71fb17e53ae288836d
BLAKE2b-256 09981c328bf98ccb8186c1f7d3341607172ac5d90a6b475781ef7d29d5b4001a

See more details on using hashes here.

File details

Details for the file otsutil-1.2.3.312-py3-none-any.whl.

File metadata

  • Download URL: otsutil-1.2.3.312-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for otsutil-1.2.3.312-py3-none-any.whl
Algorithm Hash digest
SHA256 153cc6812a9615310497150076c6948ee319c3292b9c48be61351ac2589341d1
MD5 61be27156794012b79d26b26a5c8d69a
BLAKE2b-256 b77f228b466758d7b0bac3403ddd3e6273b2474ee0fac0ed7c702fc83fc11475

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page