Skip to content

A python model for shortening uuids for usage in URLS

License

Notifications You must be signed in to change notification settings

bacon1664/uuid_shortener

 
 

Repository files navigation

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

License

MIT

About

A python model for shortening uuids for usage in URLS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%