跳转到主要内容

Vasuki生成不同类型的随机唯一标识符、令牌和单词

项目描述

Software test outcome Software tests code coverage Supported versions of Python PyPI Status Version on PyPI https://pepy.tech/badge/vasuki/month License

https://ptrace.hiveeyes.org/2019-06-29_vasuki-small.jpg

Vasuki

关于

Vasuki生成不同类型的随机唯一标识符、令牌和单词。

它可以作为一个库和一个HTTP服务使用,旨在为您的应用程序提供轻松的标识符生成。

HTTP服务的公共实例位于:https://api.hiveeyes.org/vasuki/

概要

# UUIDv4 universally unique identifier.
vasuki uuid

# ULID universally unique lexicographically sortable identifier.
vasuki ulid

# Gibberish random, pronounceable pseudo-words
vasuki gibberish

# MomentName short epoch slugs
vasuki moment

# Nagamani19 short, unique, non-sequential identifier.
vasuki naga19

安装

先决条件

pip install vasuki

使用服务API

pip install 'vasuki[service]'

请注意,此软件处于开发中,其接口可能发生变化。因此,如果您将其用作自己程序的依赖项,始终建议进行版本锁定。

功能

唯一ID生成器

  • UUIDv4通用唯一标识符

  • ULID通用唯一字典序可排序标识符

  • Gibberish随机、可发音的伪词

  • MomentName,一个简短的纪元slug

  • Nagamani19,一个基于Hashids和自定义纪元(从2019年1月1日开始)的短、唯一、非顺序标识符。

时间和随机性通常由支持此包的库实现从系统获取。

Slug工具

  • six-nibble-name将六个半字节(三个字节)转换为4个字符的名称

可选服务API

优秀的responder库可选地以HTTP API的形式公开了这些工具。

示例

标识符生成

# UUIDv4
vasuki uuid
d192b464-d32c-48f1-9c23-0fe04a4e8133

# ULID
vasuki ulid
01DEFKXYCJ0E91DQY0YPWZY01D

# Gibberish
vasuki gibberish
shoomly

# MomentName
vasuki moment
Zese

# Nagamani19
vasuki naga19
Xm3k6mWq

具有转换

Vasuki可以对生成的标识符或单词应用大写或小写转换

# UUIDv4, uppercase
vasuki uuid --upper
43FA0272-CA48-40AE-8CC1-204302D91D89

# ULID, lowercase
vasuki ulid --lower
01defkz01k47dqkvcyhy0mz06e

具有可变单词长度

vasuki gibberish --size medium
schreblyiopp

Slug工具

vasuki slug 42 --format=sixnibble
Baca

一次性生成多个令牌

vasuki naga19 --count 10
vasuki gibberish --size large --count 50

HTTP API

以守护进程模式启动Vasuki服务

vasuki service

示例请求可能如下所示

# UUIDv4
/unique/uuid

# Uppercase UUIDv4
/unique/uuid?upper=true

# Multiple ULIDs
/unique/ulid?count=10

# Very short Nagamani19
/unique/naga19?size=small

开发

获取源代码

git clone https://github.com/daq-tools/vasuki
cd vasuki

安装开发沙盒

python3 -m venv .venv
source .venv/bin/activate
pip install --editable='.[service,develop,docs,test]'
vasuki --version

运行代码检查器和软件测试

poe check

免责声明

这里整理的算法和程序生成不同种类的随机和伪随机标识符、令牌、名称或密码。

虽然一些生成的令牌在随机性和唯一性方面达到最大,如UUID,但其他一些在时间与空间域上妥协,但更注重人类记忆力和与常识和幽默感共鸣。

因此,在使用这些标识符在不同上下文中时,理解它们的属性和功能非常重要。YMMV。

要获取更多信息,请阅读理解UUIDs、ULIDs和字符串表示形式及其相应讨论

保修和许可

有关保修和许可信息的更多信息,请参阅LICENSE文件。

您负责负责地使用此软件,它不提供任何类型的保修。

致谢

词源

KurmaVishnu的一个化身。他以乌龟或海龟的形象出现,支撑宇宙的基础,而神和恶魔在蛇Vasuki的帮助下搅拌宇宙之海,以产生不死之药。

Vasuki是纳加蛇王,偶尔盘绕在Kurma或Shiva的脖子上,他祝福并佩戴它作为装饰品。他被描述为头顶有一颗名为Nagamani的宝石。

项目详情


下载文件

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

源代码发行版

vasuki-0.7.0.tar.gz (19.3 kB 查看哈希值)

上传时间 源代码

构建发行版

vasuki-0.7.0-py3-none-any.whl (18.7 kB 查看哈希值)

上传时间 Python 3

由以下提供支持