ULIDに関するPythonライブラリが多すぎる

小ネタ

ログを落としたり、固有のIDを発行する際にUUIDやULIDが使われることが多いが、Pythonで変換作業を行う際に、あまりにもライブラリが多かったので投稿。

雑にulidと検索するだけでも2023/06現在、30件ヒットし、似たようなものが占めていた。
https://pypi.org/search/?q=ulid

有志で作成いただくのは本当に感謝でしかないが、自身が使いやすいと思ったものを整理した。

個人的な見解

スターの数、最終更新日を鑑みて、python-ulidが現時点では有力。
https://github.com/mdomke/python-ulid
ただし、最終更新日が2023/06現在において、2022/03/11なので今後メンテされるかは不安。

メンテという観点だと、ulid_transformが直近まで更新されていた。
https://github.com/bdraco/ulid-transform

あまり更新することもないが、Pythonのバージョンは凡そ1年でアップデートされるので今後は気になるところ。

使ってみる

インストール

$ pip install python-ulid

ULIDの作成

from ulid import ULID
ulid_sample = ULID()
#ULID(01H33W0BDCGKHTT5N4MY28SPYG)

ULIDからUUIDへ変換

ulid_sample.to_uuid()
#UUID('0188c7c0-2dac-84e3-ad16-a4a7848cdbd0')

UUIDの作成

from uuid import uuid4
uuid_sample = uuid4()
#UUID('b920c5b9-d35b-4ae7-90eb-66ae2e2d5fee')

UUIDからULIDへ変換

ULID.from_uuid(uuid_sample)
#ULID(5S432VKMTV9BKS1TV6NRQ2TQZE)

コメント

タイトルとURLをコピーしました