Skip to main content

Get a globally unique serial

Project description

Klingon Serial Python Module

klingon-serial unit tests Pre-PR Merge CI .github/workflows/post-pr-merge.yaml

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

  1. MAC Address: A unique identifier assigned to network interfaces for communications. 12 characters in hexadecimal.
  2. Process ID (PID): Unique ID for each running process. Up to 6 characters in hexadecimal.
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

klingon-serial-0.1.15.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

klingon_serial-0.1.15-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page