跳转到主要内容

CLI用于创建包含环境变量的.env文件。

项目描述

Createnv

GitHub Actions: Tests PyPI - Python Version PyPI

创建.env文件的简单CLI。

动机

我在许多项目中使用.env文件来解耦配置与应用程序,我看到许多新手可能很难创建此文件。

因此,我创建了此包以提供更好的用户界面来创建格式为.env的配置文件。

示例

使用此存储库中的示例.env.sample

asciicast

您现在可以自己进行实验,或者尝试更高级的.env.sample,例如tests/.env.sample或[Bot Followers的.env.sample]

安装

Createnv需要Python 3.7或更高版本

$ pip install createnv

使用方法

要使用默认值(从.env.sample读取样本并将其写入.env

$ createnv

选项

选项 默认值 描述
--target .env 写入结果的文件
--source .env.sample 用作样本的文件
--overwrite--no-overwrite --no-overwrite 在覆盖文件之前是否询问
--use-default--no-use-default --no-use-default 在具有默认值设置的字段上是否请求输入
--chars-for-random-string 所有ASCII字母、数字和一些额外的字符(!@#$%^&*(-_=+) 用于创建随机字符串的字符

样本文件的格式

Createnv读取样本文件并按空行分隔行,遵循一些规则

  1. 第一行必须是标题
  2. 第二行可能是一个描述或一个变量
  3. 剩余的行应该是变量

标题

该块的最后一行应以一个#字符开头,后面跟着一个空格。标题值是#和空格之后的剩余文本。

示例

# Hell Yeah!

在这种情况下,标题是耶!(不是# 耶!)。

描述(可选

如果第二行遵循标题行的语法,则其文本(不包括#)被视为描述,并用于向用户提供有关此块的变量的更多信息。

变量

存在三种类型的变量

常规

每个块可能包含一个或多个变量行。语法要求使用仅包含大写字母、数字或下划线的变量名,后跟一个等号。

等号之后的内容是可选的。此文本被视为该变量的默认值。

该变量的文本描述也是可选的。您可以在行的末尾放置一个注释来创建一个。也就是说,任何在连续两个空格、一个#符号和一个额外空格之后的文本是该变量的文本描述。

示例
NAME=

这是一条有效的变量行。它有一个名称(NAME),没有默认值,也没有人类描述。我们可以添加一个默认值

NAME=Cuducos

这仍然是一条有效的变量行。它有一个名称(NAME),一个默认值(Cuducos)。然而,我们可以添加一个人类描述

NAME=Cuducos  # What is your name?

现在这是一个完整的变量,具有名称(NAME)、默认值(Cuducos)和人类描述(你的名字是什么?

随机值

如果您想要一个具有随机值的变量,可以将默认值设置为<random>,Createnv将负责处理。可选地,您可以使用:int指定该变量的长度。

您可以使用--chars-for-random-string选项来指定用于随机值的字符。

示例
SECRET_KEY=<random>
TOKEN=<random:32>

第一行将创建一个包含随机字符和长度在64到128个字符之间的SECRET_VALUE

第二行将创建一个正好32个字符的TOKEN,其值为随机值。

自动生成

最后,您可以将同一块内的现有变量组合在一起来创建一个新的变量(无需提示用户进行组合),语法类似于Python中的f-string。

示例
NAME=  # What is your name?
PERIOD=  # Is it morning, afternoon, or evening?
GREETING=Good {PERIOD}, {NAME}!

在这种情况下,Createnv只要求用户输入NAMEPERIOD,并自动创建GREETING

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定该选择哪个,请了解更多有关安装包的信息。

源分布

createnv-0.0.2.tar.gz (7.9 kB 查看散列

上传时间

构建分布

createnv-0.0.2-py3-none-any.whl (8.8 kB 查看散列

上传时间 Python 3