Sonyflake is a distributed unique ID generator inspired by Twitter's Snowflake.
This is a python rewrite of the original sony/sonyflake project, written in Go.
A Sonyflake ID is composed of
39 bits for time in units of 10 msec
8 bits for a sequence number
16 bits for a machine id
pip install sonyflake-py
from sonyflake import SonyFlake
sf = SonyFlake()
next_id = sf.next_id()
print(next_id)
The generator can be configured with variety of options, such as
custom machine_id
, start_time
etc.
start_time
should be an instance ofdatetime.datetime
.machine_id
should be an integer value upto 16-bits, callable orNone
(will be used random machine id).
The MIT License (MIT).