Skip to main content

用于生成雪花的 Python 库。

项目描述

雪花工具

用于生成 Discord、Twitter、Instagram 和自定义雪花的 Python 库。

雪花是资源的唯一标识符,其中包括创建此类雪花的时间戳等。Twitter、Discord 或 Instagram 使用雪花。它们是由 Twitter 在 2010 年创建的。

由 TheMultii (c) 2022 年至今开发

安装

# Linux/macOS

python3 -m pip install -U snowflake-util



# Windows

py -3 -m pip install -U snowflake-util

使用方法示例

创建自定义雪花

from datetime import datetime

import snowflake



config = snowflake.SnowflakeConfig(

    epoch=snowflake.Epoch.discord, # or Unix timestamp in milliseconds with maximum length of 13 digits.

    leading_bit=False,

    timestamp_length=42,

    param1_length=5,

    param2_length=5,

    sequence_length=12

)



SnowClass = snowflake.Snowflake(config)



custom_snowflake = SnowClass.generate_snowflake(param1=11, param2=3, sequence=753)

custom_snowflake_TS = SnowClass.generate_snowflake(param1=14, param2=9, sequence=357, date=datetime(2021, 8, 8, 8, 8, 0, 0))



print(custom_snowflake, SnowClass.parse_snowflake(custom_snowflake))

print(custom_snowflake_TS, SnowClass.parse_snowflake(custom_snowflake_TS))

创建 Discord 雪花

SnowClass = snowflake.Snowflake()



discord_snowflake = SnowflakeClass.generate_discord_snowflake(worker=5, process=5, sequence=222, date=datetime(2022, 1, 1, 16, 15, 0, 0))



print(y, SnowflakeClass.parse_discord_snowflake(discord_snowflake))

创建 Twitter 雪花

SnowClass = snowflake.Snowflake()



twitter_snowflake = SnowflakeClass.generate_twitter_snowflake(machine=333, sequence=666, date=datetime(2022, 1, 1, 16, 15, 0, 0))



print(y, SnowflakeClass.parse_twitter_snowflake(twitter_snowflake))

创建 Instagram 雪花

SnowClass = snowflake.Snowflake()



instagram_snowflake = SnowflakeClass.generate_instagram_snowflake(shard=1605, sequence=420, date=datetime(2020, 6, 11, 8 ,13))



print(y, SnowflakeClass.parse_instagram_snowflake(instagram_snowflake))

重要信息:

  • 生成任何雪花不需要将日期作为参数发送 - 雪花将根据当前时间生成。

  • snowflake.SnowflakeConfig如果您想使用任何现成的模板来生成/阅读雪花(Twitter、Discord、Instagram),则不需要

  • Snowflake.set_config()您可以使用和方法编辑和读取当前配置设置Snowflake.get_config()

  • 所有方法都记录在代码中。

  • Twitter使用leading_bit它来生成雪花。

  • 对于自定义配置,总和leading_bit, timestamp_length, param1_length, param2_length, sequence_length必须正好是 64。

  • 雪花只能为设定的纪元之后的日期生成。

  • 每个雪花必须有一个 64 位的表示。

参考

执照

麻省理工学院

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

snowflake-util-1.0.0b4.tar.gz (8.0 kB 查看哈希)

已上传 source

内置分布

snowflake_util-1.0.0b4-py3-none-any.whl (10.0 kB 查看哈希

已上传 py3