You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ePyXID is a Python wrapper around the Rust implementation of xid: xid-rs. It provides a simple and efficient way to generate unique IDs that are sortable by creation time.
Features
Globally Unique: Each ID is unique across space and time.
Sortable: IDs are sortable by their creation time.
Fast: Implemented in Rust for maximum performance.
Installation
Install ePyXID using pip:
pip install epyxid
Quick Start
Generate and use ePyXID in your Python projects:
fromepyxidimportXID# Create a new XIDxid=XID()
print(f"{xid!r}")
# <XID: cu701mcr9ij74n2hajpg># Create an XID from a stringxid_str=XID("cnisffq7qo0qnbtbu5gg")
print(f"XID from string: {xid_str}")
# Create an XID from bytesxid_bytes=XID(b'e\xe5\xc7\xbfG\xd6\x01\xab\xaf\xab\xf1a')
print(f"XID from bytes: {xid_bytes}")
# Print the XID as a stringprint(f"XID: {str(xid)}")
# orprint(f"XID: {xid.to_str()}")
# XID: cnisffq7qo0qnbtbu5gg# Get the byte representation of the XIDprint(f"Bytes: {bytes(xid)}")
# orprint(f"Bytes: {xid.as_bytes()}")
# Bytes: b'e\xe5\xc7\xbfG\xd6\x01\xab\xaf\xab\xf1a'# Access the creation time of the XIDprint(f"Creation Time: {xid.time}")
# Creation Time: 2024-12-31 23:59:59# Compare XIDsxid1=XID()
xid2=XID()
print(f"XID1 < XID2: {xid1<xid2}")
# Use XIDs in a setxid_set= {xid1, xid2}
print(f"XID Set: {xid_set}")
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License.
About
Python wrapper around Rust implementation of XID (Globally Unique ID Generator)