All Projects → dln → python-libuuid

dln / python-libuuid

Licence: other
Faster UUID generation using libuuid

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-libuuid

Flake
Decentralized, k-ordered unique IDs in Clojure
Stars: ✭ 132 (+266.67%)
Mutual labels:  uuid
Id Generator
生成带校验码的卡号、19位的Long ID、不大于22位的短UUID、短卡号、激活码、数字加密、付款码。分布式、基于内存、安全可靠、性能高。
Stars: ✭ 180 (+400%)
Mutual labels:  uuid
Ksuid
K-Sortable Globally Unique IDs
Stars: ✭ 3,202 (+8794.44%)
Mutual labels:  uuid
Uuid
A PHP library for generating universally unique identifiers (UUIDs).
Stars: ✭ 11,475 (+31775%)
Mutual labels:  uuid
Lua Resty Jit Uuid
Fast and dependency-free UUID library for LuaJIT/ngx_lua
Stars: ✭ 169 (+369.44%)
Mutual labels:  uuid
Nanoid
A tiny, secure, URL-friendly, unique string ID generator for Rust
Stars: ✭ 188 (+422.22%)
Mutual labels:  uuid
Javascript
Universally Unique Lexicographically Sortable Identifier
Stars: ✭ 1,781 (+4847.22%)
Mutual labels:  uuid
UUIDNext
A fast and modern .NET library to generate UUID/GUID that are either sequential and database friendly (versions 7), name based (versions 5) or random (version 4).
Stars: ✭ 84 (+133.33%)
Mutual labels:  uuid
Uid Promise
Creates a cryptographically strong UID
Stars: ✭ 179 (+397.22%)
Mutual labels:  uuid
Ulid
Universally Unique Lexicographically Sortable Identifier (ULID) in Python 3
Stars: ✭ 216 (+500%)
Mutual labels:  uuid
Uuid
Kotlin Multiplatform UUID
Stars: ✭ 146 (+305.56%)
Mutual labels:  uuid
Icicle
A distributed, k-sortable unique ID generation system using Redis and Lua.
Stars: ✭ 159 (+341.67%)
Mutual labels:  uuid
Uuid
Erlang Native UUID Generation
Stars: ✭ 188 (+422.22%)
Mutual labels:  uuid
Laravel Uuid
Laravel package to generate and to validate a UUID according to the RFC 4122 standard. Only support for version 1, 3, 4 and 5 UUID are built-in.
Stars: ✭ 1,717 (+4669.44%)
Mutual labels:  uuid
Uuid
Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
Stars: ✭ 3,237 (+8891.67%)
Mutual labels:  uuid
Electrode Csrf Jwt
Stateless Cross-Site Request Forgery (CSRF) protection with JWT
Stars: ✭ 127 (+252.78%)
Mutual labels:  uuid
Msgphp
Reusable domain layers. Shipped with industry standard infrastructure.
Stars: ✭ 182 (+405.56%)
Mutual labels:  uuid
yii2-uuid
UUID Helper and validator for Yii 2
Stars: ✭ 33 (-8.33%)
Mutual labels:  uuid
Ulid
Universally Unique Lexicographically Sortable Identifier implementation for Ruby
Stars: ✭ 253 (+602.78%)
Mutual labels:  uuid
Python Wechat Itchat
微信机器人,基于Python itchat接口功能实例展示:01-itchat获取微信好友或者微信群分享文章、02-itchat获取微信公众号文章、03-itchat监听微信公众号发送的文章、04 itchat监听微信群或好友撤回的消息、05 itchat获得微信好友信息以及表图对比、06 python打印出微信被删除好友、07 itchat自动回复好友、08 itchat微信好友个性签名词云图、09 itchat微信好友性别比例、10 微信群或微信好友撤回消息拦截、11 itchat微信群或好友之间转发消息
Stars: ✭ 216 (+500%)
Mutual labels:  uuid

python-libuuid - Faster UUID generation using libuuid

A Python C extension for faster generation of UUID objects. It supports libuuid-based generation of version 1 and 4 UUIDs. The library is fully compatible with the standard uuid module, while also providing specialized, optimized, functions for generating UUID strings.

python-libuuid is roughly 8-10 times faster than the pure-python version.

It's basically just a thin Cython wrapper around libuuid by Theo Tso.

Installation

You can install python-libuuid either via the Python Package Index (PyPI) or from source.

To install using pip:

$ pip install python-libuuid

To install using easy_install:

$ easy_install python-libuuid

If you have downloaded a source tarball you can install it by doing the following,:

$ python setup.py build
# python setup.py install # as root

Usage / Examples

The libuuid module provides a similar interface to uuid, resulting in fully compatible UUID objects. libuuid.UUID is also a subclass of uuid.UUID, so existing code using isinstance will continue to work.

>>> import libuuid
>>> libuuid.uuid1()
UUID('a3a32410-940a-11df-8ead-002219990fd7')
>>> libuuid.uuid4()
UUID('85651a1f-118f-480d-a116-526b2dd37322')

Furthermore, libuuid has a few extra utility functions not available in uuid. These are handy when you don't need a "full" UUID object, but just need the byte representation. The _bytes functions have less overhead than the common interface.

>>> libuuid.uuid1_bytes()
'\x05f\xe1d\x94\x0b\x11\xdf\x8e\xad\x00"\x19\x99\x0f\xd7'
>>> libuuid.uuid4_bytes()
'\x05f\xe1d\x94\x0b\x11\xdf\x8e\xad\x00"\x19\x99\x0f\xd7'

Gotchas

  • libuuid only provides random (version 4) and time based (version 1) UUIDs.
  • Calling libuuid.uuid1 with node or clock_seq is not supported, and will silently fall back to the uuid.UUID implementation for compatibility.
  • Only tested on Linux. It should work on any platform, but e2fsprogs is probably just readily available on Linux distributions.

Bug tracker

If you have any suggestions, bug reports or annoyances please report using the Github issue tracker

Contributing

Development takes place at Github: http://github.com/dln/python-libuuid/

Patches and contributions are more than welcome.

License

This software is licensed under the BSD software license. See the LICENSE file in the top distribution directory for full license text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].