uqid:
pip install uqid from uqid import uqid, digits print(uqid()) # e7ljCIs4grYZ9tOv6bpX3TQIA7FyA23umzGjDcIjHff2XwF2ziAw56B7S3EdOuCA print(uqid(4, digits)) # 4982
Returns unique id from random chars.
Default is 64 chars 0-9a-zA-Z aka base62.
dtid:
pip install uqid from uqid import dtid print(dtid()) YYYYMMDDhhmmssmicrosrnd4 20161231235959123456uN1q
24 bytes by default - as str(ObjectId()).
But human-friendly - unlike ObjectId.
Microsecond-precise UTC timestamp - unlike second-precise ObjectId().
May extract datetime_from_dtid().
May be used as a log timestamp as is.
Alphabetically ordered.
Safe chars 0-9a-zA-Z - unlike binary ObjectId() leading to “ValueError: Invalid UTF-8 sequence length” if added to JSON without str().
base62^4 is over 14M uniques per microsecond.
dtid(24) is 2x faster than uqid(24) but slower than str(ObjectId())
tests:
python2 uqid.py python3 uqid.py SAMPLES: str(uuid4()): 3bb25137-2422-4d06-bd12-5a9de2ea2bf6 len(^): 36 len(v): 24 str(ObjectId()): 5acdcd1f9c591516ae800615 uqid(24): UFRFQVCtYu6rtQq8LD33XjI3 dtid(24): 20180411085351268116tHse Iterations: 1000000 python2 SECONDS: str(uuid4()) seconds: 11.825964 str(ObjectId()) seconds: 2.424702 uqid(24) seconds: 9.701306 dtid(24) seconds: 5.357983 python3 SECONDS: str(uuid4()) seconds: 5.826098 str(ObjectId()) seconds: 3.192565 uqid(24) seconds: 17.769653 dtid(24) seconds: 9.588677 DUPLICATES: str(uuid4()) duplicates: 0 str(ObjectId()) duplicates: 0 uqid(24) duplicates: 0 dtid(24) duplicates: 0
Metadata
Release files for uqid 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| uqid-0.3.0.tar.gz | 2.9 kB | Without provenance | Details for uqid-0.3.0.tar.gz |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| uqid-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for uqid-0.3.0-py3-none-any.whl |
| uqid-0.3.0-py2-none-any.whl | Python 2 | none | any | Details for uqid-0.3.0-py2-none-any.whl |
Total release size: 12.3 kB
Release files / uqid-0.3.0.tar.gz
| Download URL | uqid-0.3.0.tar.gz |
|---|---|
| Size | 2.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
edee2fc48c5feed999d95bc88755a57b9e94dd8405d23bc4a4afb87c58b18d78
|
|
BLAKE2b-256 checksum How to use checksums |
31b18692e13be884be7d6dd9ea6478421ae53a8d9c43d696d3fa0df81f0c7346
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / uqid-0.3.0-py3-none-any.whl
| Download URL | uqid-0.3.0-py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc3adebc79462e4cea107b7e93ba00c59702ff25c587ecdf97dd26906578038c
|
|
BLAKE2b-256 checksum How to use checksums |
5be5eb5c81e2266280593d8969ca1fa60b33b6f41ce638329bd8de4061857276
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / uqid-0.3.0-py2-none-any.whl
| Download URL | uqid-0.3.0-py2-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
61cfa4ed07b6166ae81b76937cdc302c4ee396f2bc80f98d50604392b9ce0f5c
|
|
BLAKE2b-256 checksum How to use checksums |
ecfb0500e1c4a7266d52585646cc51ed9fbdd96d9f646e34f7ae42bfb0b91be5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for uqid 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.