跳转到主要内容

从环境变量中加载Poetry包源

项目描述

poetry-source-env

PyPI - Python Version PyPI GitHub release (latest SemVer) PyPI - License Code style: Black

poetry-source-env 是一个Poetry插件,允许您为项目定义私有包源,而无需在 pyproject.toml 中暴露它们的URL。它可以从环境变量中加载包源定义,并在 pyproject.tomltool.poetry.source 部分展开环境变量。

此插件旨在作为 python-poetry/poetry#5958 的解决方案,如果Poetry本身实现类似功能,则将弃用。

请注意,poetry-source-env 在安装其他Poetry插件时无法解析仓库(当运行 poetry self 命令时,Poetry不会加载插件)。如果您需要python-poetry/poetry#5958的解决方案来安装Poetry插件,请参阅https://github.com/python-poetry/poetry/issues/5958#issuecomment-1479183720

安装

poetry self add poetry-source-env

用法

通常,您会在 pyproject.toml 中定义包源,如下所示

[[tool.poetry.source]]
name = "foo"
url = "https://foo.bar/simple"
priority = "supplemental"

使用 poetry-source-env,您可以通过环境变量定义此源,类似于您如何配置 可发布仓库

export POETRY_REPOSITORIES_FOO_URL=https://foo.bar/simple
export POETRY_REPOSITORIES_FOO_PRIORITY=supplemental

如果您希望保留在 pyproject.toml 中定义的源,您可以选择在环境变量后面隐藏其名称或URL的整个或部分内容

export FOO_INDEX_NAME="foo"
export FOO_INDEX_URL="https://foo.bar/simple"
[[tool.poetry.source]]
name = "${FOO_INDEX_NAME}"
url = "${FOO_INDEX_URL}"
priority = "supplemental"

如果您的源需要身份验证,Poetry已经支持通过环境变量定义其凭据

export POETRY_HTTP_BASIC_FOO_USERNAME=celsiusnarhwal
export POETRY_HTTP_BASIC_FOO_PASSWORD=superdupersecret

配置

poetry-source-env 的行为可以通过 pyproject.tomltool.poetry-source-env 部分进行配置。

支持以下配置选项

名称 类型 描述 必需? 默认值
prefix 字符串 poetry-source-env 应期望使用的源定义环境变量前缀。如果 envfalse,则无效果。 POETRY_REPOSITORIES_
env 布尔值 是否从环境变量中读取包源定义。 true
toml 布尔值 是否在 pyproject.tomltool.poetry.source 部分中展开环境变量。 true

许可证

poetry-source-env 采用MIT 许可证

项目详情


下载文件

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

源分发

poetry_source_env-2.0.1.tar.gz (3.9 kB 查看哈希值)

上传时间

构建分发

poetry_source_env-2.0.1-py3-none-any.whl (4.9 kB 查看哈希值)

上传时间 Python 3

由以下支持