Provides ShortUUID which extends Python's builtin UUID class
Project description
Installation
Installation using pip:
pip install smalluuid
Do you use Django? See django-smalluuid.
Basic Usage
A drop-in replacement for Python’s UUID class which – by default – represents UUIDs as 22 character base64-encoded values.
>>> from smalluuid import SmallUUID
>>> uuid = SmallUUID()
# Displays as short UUID by default
>>> uuid
SmallUUID('IBNApQOzTHGzdjkSt6t-Jg')
>>> print(uuid)
IBNApQOzTHGzdjkSt6t-Jg
# Hex output still available
>>> SmallUUID().hex
'44a30f95b86f429f83c5669fed1998ab'
>>> uuid.hex_grouped
'201340a5-03b3-4c71-b376-3912b7ab7e26'
# Will initialise from short UUID
>>> SmallUUID('IBNApQOzTHGzdjkSt6t-Jg')
SmallUUID('IBNApQOzTHGzdjkSt6t-Jg')
# Will load as a hex value
>>> SmallUUID(hex='201340a5-03b3-4c71-b376-3912b7ab7e26')
SmallUUID('RKMPlbhvQp-DxWaf7RmYqw')
Notable differences from Python’s UUID implementation:
Short-form UUIDs accepted as first parameter to __init__
Instantiating without a value will assign a random value of the given version (default: 4) rather than raise an exception.
Addition of hex_grouped property to provide access to grouped hex style UUIDs, formally provided by __str__.
Typed UUID Usage
An extension of SmallUUID is available in the form of TypedSmallUUID:
>>> from smalluuid import TypedSmallUUID
# Takes a type during instantiation
>>> uuid = TypedSmallUUID(type=42)
>>> uuid
TypedSmallUUID('qHHvXuUwT6y7t7dnsiksvg')
# Type is stored within the UUID
>>> uuid.type
42
# Type determined from provided UUID value
>>> TypedSmallUUID('qHHvXuUwT6y7t7dnsiksvg').type
42
The use case here is that of having UUIDs from which one can determine both an object’s ID and the object’s type/table/model.
Credits
Any credits here
This project borrowed a little code and inspiration from shortuuid.
smalluuid is packaged using seed.
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
Built Distribution
Hashes for smalluuid-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63270e09c4b9c30d0ff1fa98e3598093490e46a65934c7ef18003da670e8e04b |
|
MD5 | a4ccd3e40258388bd380cbefb295a16e |
|
BLAKE2b-256 | 83c7e0bf3e5009f2a41334f65937a3c9799732ce27a299a697f4c2e72ac97a94 |