uuid-shortener-py

Shorten a uuid into a URL friendly format.


Keywords
Python, UUID, Shortener, Hex, base, Short, URL, flicker-base-58, python3, shorturl
License
MIT
Install
pip install uuid-shortener-py==1.1.0

Documentation

uuid_shortener

Build Status PyPI supported versions PyPI version

uuid_shortener is a library for shortening UUIDs into an alphanumerical format suitable for usage in URLs.

The alphanumerical format is Flicker base 58 encoding.

Installation

from Pypi:

pip install uuid-shortener-py

Module usage

The UuidShortener object can be created with/without a prefix.

Example 1: without prefix
from uuid_shortener import UuidShortener
from uuid import uuid4

if __name__ == "__main__":
    print('******** Without prefix')

    shortener = UuidShortener()
    uuid_4 = uuid4()

    short_uuid = shortener.shorten(uuid_4)
    unshortened_uuid = shortener.unshorten(short_uuid)

    print(f'Uuid to shorten: {uuid_4}')
    print(f'shortened uuid: {short_uuid}')
    print(f'unshortened uuid(original uuid): {shortener.unshorten(short_uuid)}')
Output 1:
******** Without prefix
Uuid to shorten: 177d1b53-77d5-42b2-8b8f-8d86579deb52
shortened uuid: 3Ueemi554rN46ioLFw3dZG
unshortened uuid(original uuid): 177d1b53-77d5-42b2-8b8f-8d86579deb52

Example 2: with prefix
from uuid_shortener import UuidShortener
from uuid import uuid4

if __name__ == "__main__":
    print('******** With prefix')

    shortener = UuidShortener('meow')
    uuid_4 = uuid4()

    short_uuid = shortener.shorten(uuid_4)
    unshortened_uuid = shortener.unshorten(short_uuid)

    print(f'Uuid to shorten: {uuid_4}')
    print(f'shortened uuid: {short_uuid}')
    print(f'unshortened uuid (original uuid): {shortener.unshorten(short_uuid)}')
Output 2:
******** With prefix
Uuid to shorten: 2bea23d4-2b96-485d-8788-0c606ab93319
shortened uuid: meow-6qwbaCZnHtxJsj4uJTKJSV
unshortened uuid (original uuid): 2bea23d4-2b96-485d-8788-0c606ab93319
As an easy, one-way generator
from uuid_shortener import ShortUuidGenerator
from uuid import uuid4

if __name__ == "__main__":
    print('******** Generator')

    uuid_gen = ShortUuidGenerator(prefix='meow', uuid=uuid4)

    print('Shortened uuid 1: {}'.format( uuid_gen() ))
    print('Shortened uuid 2: {}'.format( uuid_gen() ))
Output 3:
******** Generator
Shortened uuid 1: meow-9ubC52uXU1MM9PcrUMaNNc
Shortened uuid 2: meow-wqTnxvHfWzrPvREcVi5RAf

License

MIT