{ "info": { "author": "Andreas Motl", "author_email": "andreas@terkin.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: Manufacturing", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)", "License :: OSI Approved :: GNU Affero General Public License v3", "Operating System :: MacOS", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Topic :: Communications", "Topic :: Database", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP", "Topic :: Scientific/Engineering :: Human Machine Interfaces", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator", "Topic :: Software Development :: Embedded Systems", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Object Brokering", "Topic :: System :: Archiving", "Topic :: System :: Networking :: Monitoring", "Topic :: Utilities" ], "description": ".. image:: https://img.shields.io/badge/Python-3-green.svg\n :target: https://github.com/daq-tools/vasuki\n\n.. image:: https://img.shields.io/pypi/v/vasuki.svg\n :target: https://pypi.org/project/vasuki/\n\n.. image:: https://img.shields.io/github/tag/daq-tools/vasuki.svg\n :target: https://github.com/daq-tools/vasuki\n\n|\n\n.. figure:: https://ptrace.hiveeyes.org/2019-06-29_vasuki-small.jpg\n :target: https://en.wikipedia.org/wiki/Vasuki#/media/File:Kurma,_the_tortoise_incarnation_of_Vishnu.jpg\n\n.. vasuki-readme:\n\n######\nVasuki\n######\n\n\n*****\nAbout\n*****\nVasuki generates different kinds of random unique identifiers, tokens and words.\n\nIt aims to make identifier generation effortless.\n\nThere might still be dragons.\n\n\n**********\nDisclaimer\n**********\nThe algorithms curated here generate different kinds of random and\npseudo-random identifiers, tokens, names or passwords, let's just call\nthem \"prwords\". While some of the generated \"prwords\" max out on the\nrandomness and uniqueness aspects like UUIDs, others compromise on the\ntime vs. space domain but focus more on human memorability and empathize\nwith their common sense and humor. Saying that, humans should know what\nthey are doing when using these identifiers in different contexts. YMMV.\n\n\n*******\nInstall\n*******\n\nPrerequisites\n=============\n::\n\n pip install vasuki\n\nWith service API::\n\n pip install vasuki[service]\n\n\n********\nFeatures\n********\n\nUnique ID generators\n====================\n- UUIDv4_ universally unique identifier\n- ULID_ universally unique lexicographically sortable identifier\n- Gibberish_ random, pronounceable pseudo-words\n- MomentName, a short epoch slug\n- Nagamani19, a short, unique, non-sequential identifier based on Hashids_\n and a custom Epoch starting on January 1, 2019.\n\nTime and randomness is usually taking from the system\nas implemented by the libraries underpinning this package.\n\nSlugifiers\n==========\n- `six-nibble-name`_ converts six nibbles (three bytes) into a 4-character name\n\nOptional service API\n====================\nThe fine responder_ optionally exposes the machinery as HTTP API.\n\n.. _UUIDv4: https://en.wikipedia.org/wiki/Universally_unique_identifier\n.. _ULID: https://github.com/ulid/spec\n.. _Hashids: https://hashids.org/\n.. _Gibberish: https://github.com/greghaskins/gibberish\n.. _six-nibble-name: https://github.com/HowManyOliversAreThere/six-nibble-name\n.. _responder: https://pypi.org/project/responder/\n\n\n********\nSynopsis\n********\n::\n\n # UUIDv4 universally unique identifier.\n vasuki uuid\n\n # ULID universally unique lexicographically sortable identifier.\n vasuki ulid\n\n # Gibberish random, pronounceable pseudo-words\n vasuki gibberish\n\n # MomentName short epoch slugs\n vasuki moment\n\n # Nagamani19 short, unique, non-sequential identifier.\n vasuki naga19\n\n\n********\nExamples\n********\n\nIdentifier generation\n=====================\n::\n\n # UUIDv4\n vasuki uuid\n d192b464-d32c-48f1-9c23-0fe04a4e8133\n\n # ULID\n 01DEFKXYCJ0E91DQY0YPWZY01D\n\n # Gibberish\n vasuki gibberish\n shoomly\n\n # MomentName\n vasuki moment\n Zese\n\n # Nagamani19\n vasuki naga19\n Xm3k6mWq\n\n\nWith transformations\n====================\nVasuki can apply uppercase or lowercase transformation to the\ngenerated identifier or word::\n\n # UUIDv4, uppercase\n vasuki uuid --upper\n 43FA0272-CA48-40AE-8CC1-204302D91D89\n\n # ULID, lowercase\n vasuki ulid --lower\n 01defkz01k47dqkvcyhy0mz06e\n\nWith variable word length\n=========================\n::\n\n vasuki gibberish --size medium\n schreblyiopp\n\n\nSlug tools\n==========\n::\n\n vasuki slug 42 --format=sixnibble\n Baca\n\nMultiple tokens at once\n=======================\n::\n\n vasuki naga19 --count 10\n vasuki gibberish --size large --count 50\n\n\nHTTP API\n========\nStart the Vasuki service as daemon::\n\n vasuki service\n\nExample requests would look like::\n\n # UUIDv4\n /unique/uuid\n\n # Uppercase UUIDv4\n /unique/uuid?upper=true\n\n # Multiple ULIDs\n /unique/ulid?count=10\n\n # Very short Nagamani19\n /unique/naga19?size=small\n\n\n*******\nCredits\n*******\n- Andrew Hawker for https://github.com/ahawker/ulid\n- David Aurelio for https://github.com/davidaurelio/hashids-python\n- Gregory Haskins for https://github.com/greghaskins/gibberish\n- Oliver Robson for https://github.com/HowManyOliversAreThere/six-nibble-name\n- All authors for all other fine pieces this software is made of.\n- Mozilla for `Zilla Slab`_\n- Vasuki Logo from https://en.wikipedia.org/wiki/Vasuki\n\n.. _Zilla Slab: https://blog.mozilla.org/opendesign/zilla-slab-common-language-shared-font/\n\n\n*********\nEtymology\n*********\n\nKurma_ is one of the avatars of Vishnu_. He appears in the form of a tortoise\nor turtle to support the foundation of the cosmos, while the gods and demons\nchurn the cosmic ocean with the help of serpent Vasuki_ to produce the nectar\nof immortality.\n\nVasuki is a naga serpent king, occasionally coiling around Kurma's or Shiva's\nneck, who blessed and wore him as an ornament. He is described as having\na gem called Nagamani on his head.\n\n.. _Kurma: https://en.wikipedia.org/wiki/Kurma\n.. _Vishnu: https://en.wikipedia.org/wiki/Vishnu\n.. _Vasuki: https://en.wikipedia.org/wiki/Vasuki", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/daq-tools/vasuki", "keywords": "random unique identifier token word generator id uuid ulid hashid gibberish nagamani19", "license": "AGPL 3, EUPL 1.2", "maintainer": "", "maintainer_email": "", "name": "vasuki", "package_url": "https://pypi.org/project/vasuki/", "platform": "", "project_url": "https://pypi.org/project/vasuki/", "project_urls": { "Homepage": "https://github.com/daq-tools/vasuki" }, "release_url": "https://pypi.org/project/vasuki/0.3.2/", "requires_dist": null, "requires_python": "", "summary": "Vasuki generates different kinds of random unique identifiers, tokens and words", "version": "0.3.2" }, "last_serial": 5485649, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e1ac71031ca2539c505434c4ddc42bd4", "sha256": "dae00b3ed97e454e42a81f2947dc7f0b3693cdb2f28fc5ecf4784276ee8ac5ed" }, "downloads": -1, "filename": "vasuki-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e1ac71031ca2539c505434c4ddc42bd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25361, "upload_time": "2019-06-29T23:06:41", "url": "https://files.pythonhosted.org/packages/64/a6/791fdf55cafa91ce04de5d83b580beb016321ab885aad91d1d25d1bd8b7d/vasuki-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d1c8c42fe9460c41184df838341c8d6b", "sha256": "fa98f0425938d7c96bd4c94b80778e8d9fc87f370195ddb6d07f4d7d03be52f0" }, "downloads": -1, "filename": "vasuki-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d1c8c42fe9460c41184df838341c8d6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25490, "upload_time": "2019-06-30T01:28:49", "url": "https://files.pythonhosted.org/packages/88/0b/62a0df9939ba3a333bf838c8db9937cf595dc237d3c3f23ca2767557c07d/vasuki-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "b7a8bd095444fd24dcf6585c605954ee", "sha256": "f1dc2e709b1b268268215dae5aca403e8765ddb3f6dca377dddff6f91fcbe3d2" }, "downloads": -1, "filename": "vasuki-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b7a8bd095444fd24dcf6585c605954ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25638, "upload_time": "2019-06-30T02:21:14", "url": "https://files.pythonhosted.org/packages/68/d9/f4790a32736d98dedad3bf68452b12938eb3631f1229a4c553d0ba213069/vasuki-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "d0c3e7c9e87629a072f5ff0bcf599f4d", "sha256": "f246c2a8444b621dd483b93c326347458e98b642fd36a9dfd38973b694f0057a" }, "downloads": -1, "filename": "vasuki-0.3.1.tar.gz", "has_sig": false, "md5_digest": "d0c3e7c9e87629a072f5ff0bcf599f4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25688, "upload_time": "2019-06-30T02:25:00", "url": "https://files.pythonhosted.org/packages/8b/4d/b30984e04e0d0bd856b6746f80a86275078965af50be6b91c641bcf33718/vasuki-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "753bab3e450758f4375d22e3fbd72ba1", "sha256": "163ceb643f19d3962d507c1a50032532b735a54720374ebec975ff7048f0e77a" }, "downloads": -1, "filename": "vasuki-0.3.2.tar.gz", "has_sig": false, "md5_digest": "753bab3e450758f4375d22e3fbd72ba1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26316, "upload_time": "2019-07-04T08:52:36", "url": "https://files.pythonhosted.org/packages/bf/0b/3434162083776bc4b2d6a97529b9117f5c9a3da0684c09a4b88a1c6d81ff/vasuki-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "753bab3e450758f4375d22e3fbd72ba1", "sha256": "163ceb643f19d3962d507c1a50032532b735a54720374ebec975ff7048f0e77a" }, "downloads": -1, "filename": "vasuki-0.3.2.tar.gz", "has_sig": false, "md5_digest": "753bab3e450758f4375d22e3fbd72ba1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26316, "upload_time": "2019-07-04T08:52:36", "url": "https://files.pythonhosted.org/packages/bf/0b/3434162083776bc4b2d6a97529b9117f5c9a3da0684c09a4b88a1c6d81ff/vasuki-0.3.2.tar.gz" } ] }