{ "info": { "author": "Martin Domke", "author_email": "mail@martindomke.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries" ], "description": ".. image:: https://img.shields.io/pypi/v/python-ulid.svg?style=flat-square\n :target: https://pypi.python.org/pypi/python-ulid\n.. image:: https://img.shields.io/travis/mdomke/python-ulid/master.svg?style=flat-square\n :target: https://travis-ci.org/mdomke/python-ulid\n.. image:: https://img.shields.io/pypi/l/python-ulid.svg?style=flat-square\n :target: https://pypi.python.org/pypi/python-ulid\n.. image:: https://img.shields.io/codecov/c/github/mdomke/python-ulid.svg?style=flat-square\n :target: https://codecov.io/gh/mdomke/python-ulid\n\n\nWhat is this?\n=============\n\nThis is a port of the original JavaScript ULID_ implementation to Python.\n\nA ULID is a *universally unique lexicographically sortable identifier*. It is\n\n- 128-bit compatible with UUID\n- 1.21e+24 unique ULIDs per millisecond\n- Lexicographically sortable!\n- Canonically encoded as a 26 character string, as opposed to the 36 character UUID\n- Uses Crockford's base32 for better efficiency and readability (5 bits per character)\n- Case insensitive\n- No special characters (URL safe)\n\nIn general the structure of a ULID is as follows:\n\n.. code-block:: txt\n\n 01AN4Z07BY 79KA1307SR9X4MV3\n |----------| |----------------|\n Timestamp Randomness\n 48bits 80bits\n\n\nFor more information have a look at the original specification_.\n\nBasic Usage\n-----------\n\n.. code-block:: python\n\n\t\t>>> from ulid import ULID\n\t\t>>> ulid = ULID.new()\n\t\t>>> ulid.str\n\t\t'01BTGNYV6HRNK8K8VKZASZCFPE'\n\t\t>>> ulid.timestamp\n\t\t1505945939.153\n\t\t>>> ulid.datetime\n\t\tdatetime.datetime(2017, 9, 20, 22, 18, 59, 153000)\n\n\nInstallation\n------------\n\n.. code-block:: bash\n\n\t\t$ pip install python-ulid\n\n\nOther implementations\n---------------------\n\n- `ahawker/ulid `_\n- `valohai/ulid2 `_\n- `mdipierro/ulid `_\n\n\n.. _ULID: https://github.com/alizain/ulid\n.. _specification: https://github.com/alizain/ulid#specification\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mdomke/python-ulid", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "python-ulid", "package_url": "https://pypi.org/project/python-ulid/", "platform": "", "project_url": "https://pypi.org/project/python-ulid/", "project_urls": { "Homepage": "https://github.com/mdomke/python-ulid" }, "release_url": "https://pypi.org/project/python-ulid/0.2.0/", "requires_dist": [ "pytz" ], "requires_python": "", "summary": "Universally Unique Lexicographically Sortable Identifier", "version": "0.2.0" }, "last_serial": 3191038, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "62e569f6f6f5d7c94afdaf26d51ffa5c", "sha256": "0f0a160d5ad28ad804c48685925fe0cd6e6a615baf4c05c063a3726315832279" }, "downloads": -1, "filename": "python_ulid-0.0.0-py2-none-any.whl", "has_sig": true, "md5_digest": "62e569f6f6f5d7c94afdaf26d51ffa5c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5759, "upload_time": "2017-09-20T16:40:38", "url": "https://files.pythonhosted.org/packages/41/ff/e95c08c4f7d15382d57e45299945fb64553224e65b30b6993d7b4972e6e0/python_ulid-0.0.0-py2-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f00294f7b1a6f0bfb014f347efa7bbf6", "sha256": "20c9330c0a6459b83f0a35ec1d0ae972160271dcdf9ec0ec8c4c3dec78f48940" }, "downloads": -1, "filename": "python_ulid-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f00294f7b1a6f0bfb014f347efa7bbf6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5796, "upload_time": "2017-09-20T17:07:54", "url": "https://files.pythonhosted.org/packages/85/cf/15d3e4db56a486e0a13a6529817f9b2a46c5227fffc2da034138721cbfa7/python_ulid-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a1538ad4ccc75914973e6b5e7c3c8d4", "sha256": "5ae286968909353b08dc0f98a5e66e843e4bbe733fa36985d903419a94f3cb7a" }, "downloads": -1, "filename": "python-ulid-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2a1538ad4ccc75914973e6b5e7c3c8d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6897, "upload_time": "2017-09-20T17:07:55", "url": "https://files.pythonhosted.org/packages/25/ab/4618b6bd0223b3ad9cc39e3eba29427ab8431c5d8f6b2a346f3d651d28ec/python-ulid-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e453781f89c30148e095bac7fe59a300", "sha256": "f2bea3f19bea6a90138cf7d27a15066c669b3d2e6a4da7e16591a42e907acfd4" }, "downloads": -1, "filename": "python_ulid-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e453781f89c30148e095bac7fe59a300", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7621, "upload_time": "2017-09-21T09:01:02", "url": "https://files.pythonhosted.org/packages/91/af/b150840fdfd234ec67a3a6d027e0e68e6317789fa599a28775fafb00c108/python_ulid-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "423fb74378693798bc9f3437a6f5bd67", "sha256": "8d3ffa2d2f250648293ad904b98d25776bd2a77ffc957c01f23f3e6cd011b2f8" }, "downloads": -1, "filename": "python-ulid-0.2.0.tar.gz", "has_sig": false, "md5_digest": "423fb74378693798bc9f3437a6f5bd67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8981, "upload_time": "2017-09-21T09:01:03", "url": "https://files.pythonhosted.org/packages/5c/9d/3c2e8e74e0382dcd858ea106b434989604e8dfe1c4667f4a27f80c97c288/python-ulid-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e453781f89c30148e095bac7fe59a300", "sha256": "f2bea3f19bea6a90138cf7d27a15066c669b3d2e6a4da7e16591a42e907acfd4" }, "downloads": -1, "filename": "python_ulid-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "e453781f89c30148e095bac7fe59a300", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7621, "upload_time": "2017-09-21T09:01:02", "url": "https://files.pythonhosted.org/packages/91/af/b150840fdfd234ec67a3a6d027e0e68e6317789fa599a28775fafb00c108/python_ulid-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "423fb74378693798bc9f3437a6f5bd67", "sha256": "8d3ffa2d2f250648293ad904b98d25776bd2a77ffc957c01f23f3e6cd011b2f8" }, "downloads": -1, "filename": "python-ulid-0.2.0.tar.gz", "has_sig": false, "md5_digest": "423fb74378693798bc9f3437a6f5bd67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8981, "upload_time": "2017-09-21T09:01:03", "url": "https://files.pythonhosted.org/packages/5c/9d/3c2e8e74e0382dcd858ea106b434989604e8dfe1c4667f4a27f80c97c288/python-ulid-0.2.0.tar.gz" } ] }