A distributed unique ID generator inspired by Twitter's Snowflake, rewritten in python
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 of datetime.datetime
.machine_id
should be an integer value upto 16-bits, callable orNone
(will be used random machine id).The MIT License (MIT).