「Pythonでランダムな文字列を生成したい」
「URLにUUIDをクエリ文字列として使いたい」
このような場合には、shortuuidがオススメです。
この記事では、URLセーフなUUIDを生成できるshortuuidについて解説しています。
本記事の内容
- shortuuidとは?
- shortuuidのシステム要件
- shortuuidのインストール
- shortuuidの動作確認
それでは、上記に沿って解説していきます。
shortuuidとは?
shortuuidとは、URLセーフなUUIDを生成するシンプルなPythonライブラリです。
UUIDは、16進法によるa0b325e4-6d04-4d96-a57e-8021afe12970のような文字列のことを言います。
UUIDは、一意になることを保証された識別子です。
でも、そのままだとUUIDは長くて使いにくいと思いませんか?
何よりも、クエリ文字列にそのままでは利用することができません。
これは、結構致命的なデメリットと言えます。
そんなUUIDを短くしてURLセーフにできるのが、shortuuidということです。
shortuuidを使えば、22桁の文字列に変換できます。
もちろん、一意であることも担保したままです。
shortuuidを使えば、もう自分でランダムな文字列を生成する必要がありません。
以上、shortuuidについて説明しました。
次は、shortuuidのシステム要件を説明します。
shortuuidのシステム要件
現時点(2022年9月)でのshortuuidの最新バージョンは、1.0.9となります。
この最新バージョンは、2022年5月8日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
shortuuidは、Pure PythonであるためにOSは問いません。
サポート対象となるPythonのバージョンは、以下。
- Python 3.7
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11
Python 3.11とは、少々気が早いですね。
Python公式開発サイクルは、以下。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
Python 3.6のサポート期限が終了していることには、注意しましょう。
ここまでを見る限り、shortuuidのシステム要件はあってないようなモノです。
Python 3.7以降であれば、OS問わずに動くでしょうね。
以上、shortuuidのシステム要件を説明しました。
次は、shortuuidのインストールを説明します。
shortuuidのインストール
検証は、次のバージョンのPythonで行います。
$ python -V Python 3.10.2
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 22.2.2 setuptools 65.3.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、shortuuidのインストールです。
shortuuidのインストールは、以下のコマンドとなります。
pip install shortuuid
shortuuidのインストールは、一瞬で終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。
$ pip list Package Version ---------- ------- pip 22.2.2 setuptools 65.3.0 shortuuid 1.0.9 wheel 0.36.2
shortuuidが依存するパッケージは、ありません。
その意味では、既存の環境にも容易に導入できそうです。
以上、shortuuidのインストールを説明しました。
次は、shortuuidの動作確認を説明します。
shortuuidの動作確認
shortuuidの動作確認を行いましょう。
動作確認には、次のコードを用います。
import shortuuid import uuid u = uuid.uuid4() print(u) s = shortuuid.encode(u) print(s)
上記コードを実行すると、次のような文字列が表示されます。
もちろん、実行ごとに値は変わります。
a0b325e4-6d04-4d96-a57e-8021afe12970 Wbk4aXNgLFy6pNQyynte3w
最初の文字列は、UUIDです。
UUIDは、Pythonの標準ライブラリであるuuidを利用して取得できます。
この長たらしいUUIDを短くして、URLセーフに変換するのがshortuuidです。
shortuuidを用いて、22桁の文字列に変換できています。
上記コードでも一意の文字列は、取得できます。
ただ、もっと短いコードで済ますことが可能です。
そのコードは、以下。
import shortuuid s = shortuuid.uuid() print(s)
上記コードを実行した結果は、以下となります。
oUJSznSSMdkTRojwzMGFAJ
shortuuidを用いれば、一意の文字列が簡単に取得できます。
もう、randomでランダムな文字列を自作する必要がありません。
以上、shortuuidの動作確認を説明しました。