Get a globally unique serial
Project description
Klingon Serial Python Module
Overview
The klingon_serial Python module is designed to generate a unique hexadecimal
serial number, avoiding serial conflicts in a distributed environment. The
serial number is a concatenation of the machine's MAC address, the process ID
(PID), and the current time in epoch format with millisecond precision. The
module aims to offer a robust method for generating serials that are virtually collision-free.
Installation
To install the module, you can use pip:
pip install klingon-serial
Serial Components
- MAC Address: A unique identifier assigned to network interfaces for communications. 12 characters in hexadecimal.
- Process ID (PID): Unique ID for each running process. Up to 6 characters in hexadecimal.
- Timestamp: Millisecond-precision epoch time. Up to 10 characters in hexadecimal.
These components are concatenated to form a unique serial number.
Usage
Here is how you can use the klingon_serial module:
import klingon_serial
# Generate a unique serial number
unique_serial = klingon_serial.generate()
print(f"Generated Serial: {unique_serial}")
Serial Number Structure
The generated serial number has the following structure:
[ 12 characters MAC ][ Up to 6 characters PID ][ 10 characters Timestamp ]
Example
An example serial number might look like this:
02C3F642A1EC3A4B9B0985F53E
Testing
To run the test suite, you can use:
python -m unittest discover -s tests
Contributing
Feel free to fork this repository and submit pull requests for improvements or additional features.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file klingon-serial-0.1.15.tar.gz.
File metadata
- Download URL: klingon-serial-0.1.15.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e622f6440125933644c24393fac6de1c64a01881e95e737d68d031cfa5a14331
|
|
| MD5 |
1e0dcdbaccc111369e56e2e2495a2e84
|
|
| BLAKE2b-256 |
fc217f45911a13b68f9b154a7b3a7c378f5d3f04910d749442e164d927296cc6
|
File details
Details for the file klingon_serial-0.1.15-py3-none-any.whl.
File metadata
- Download URL: klingon_serial-0.1.15-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b3d4f3ffeecbaf25dffd08d05d9c17b1f8c5f5cf2dc29b8e770cc5e34fbc4a2
|
|
| MD5 |
a086ebd9f7102b2b327a8d3c1221feff
|
|
| BLAKE2b-256 |
689095a7882907157e45a5a2818e1fac6c70f8588b2753205de02cd6541e68df
|