<div align="center">
<img alt="logo" src="https://github.com/pivoshenko/poetry-plugin-dotenv/blob/main/docs/assets/logo.svg?raw=True" height=200>
</div>
<br>
<p align="center">
<a href="https://opensource.org/licenses/MIT">
<img alt="License" src="https://img.shields.io/pypi/l/poetry-plugin-dotenv?style=flat-square&logo=opensourceinitiative&logoColor=white&color=0A6847&label=License">
</a>
<a href="https://pypi.org/project/poetry-plugin-dotenv">
<img alt="Python" src="https://img.shields.io/pypi/pyversions/poetry-plugin-dotenv?style=flat-square&logo=python&logoColor=white&color=4856CD&label=Python">
</a>
<a href="https://pypi.org/project/poetry-plugin-dotenv">
<img alt="PyPI" src="https://img.shields.io/pypi/v/poetry-plugin-dotenv?style=flat-square&logo=pypi&logoColor=white&color=4856CD&label=PyPI">
</a>
<a href="https://github.com/pivoshenko/poetry-plugin-dotenv/releases">
<img alt="Release" src="https://img.shields.io/github/v/release/pivoshenko/poetry-plugin-dotenv?style=flat-square&logo=github&logoColor=white&color=4856CD&label=Release">
</a>
</p>
<p align="center">
<a href="https://github.com/semantic-release/semantic-release">
<img alt="Semantic_Release" src="https://img.shields.io/badge/Semantic_Release-angular-e10079?style=flat-square&logo=semanticrelease&logoColor=white&color=D83A56">
</a>
<a href="https://github.com/PyCQA/isort">
<img alt="Imports" src="https://img.shields.io/badge/Imports-isort-black.svg?style=flat-square&logo=improvmx&logoColor=white&color=637A9F&">
</a>
<a href="https://beta.ruff.rs/docs/">
<img alt="Ruff" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json&style=flat-square&logoColor=white&color=637A9F">
</a>
<a href="https://mypy.readthedocs.io/en/stable/index.html">
<img alt="mypy" src="https://img.shields.io/badge/mypy-checked-success.svg?style=flat-square&logo=pypy&logoColor=white&color=0A6847">
</a>
</p>
<p align="center">
<a href="https://github.com/pivoshenko/poetry-plugin-dotenv/actions/workflows/tests.yaml">
<img alt="Tests" src="https://img.shields.io/github/actions/workflow/status/pivoshenko/poetry-plugin-dotenv/tests.yaml?label=Tests&style=flat-square&logo=pytest&logoColor=white&color=0A6847">
</a>
<a href="https://github.com/pivoshenko/poetry-plugin-dotenv/actions/workflows/linters.yaml">
<img alt="Linters" src="https://img.shields.io/github/actions/workflow/status/pivoshenko/poetry-plugin-dotenv/linters.yaml?label=Linters&style=flat-square&logo=lintcode&logoColor=white&color=0A6847">
</a>
<a href="https://github.com/pivoshenko/poetry-plugin-dotenv/actions/workflows/release.yaml">
<img alt="Release" src="https://img.shields.io/github/actions/workflow/status/pivoshenko/poetry-plugin-dotenv/release.yaml?label=Release&style=flat-square&logo=pypi&logoColor=white&color=0A6847">
</a>
<a href="https://codecov.io/gh/pivoshenko/poetry-plugin-dotenv" >
<img alt="Codecov" src="https://img.shields.io/codecov/c/gh/pivoshenko/poetry-plugin-dotenv?token=cqRQxVnDR6&style=flat-square&logo=codecov&logoColor=white&color=0A6847&label=Coverage"/>
</a>
</p>
<p align="center">
<a href="https://pypi.org/project/poetry-plugin-dotenv">
<img alt="Downloads" src="https://img.shields.io/pypi/dm/poetry-plugin-dotenv?style=flat-square&logo=pythonanywhere&logoColor=white&color=4856CD&label=Downloads">
</a>
<a href="https://github.com/pivoshenko/poetry-plugin-dotenv/">
<img alt="Stars" src="https://img.shields.io/github/stars/pivoshenko/poetry-plugin-dotenv?style=flat-square&logo=apachespark&logoColor=white&color=4856CD&label=Stars">
</a>
</p>
<p align="center">
<a href="https://stand-with-ukraine.pp.ua/">
<img alt="StandWithUkraine" src="https://img.shields.io/badge/Support-Ukraine-FFC93C?style=flat-square&labelColor=07689F">
</a>
<a href="https://stand-with-ukraine.pp.ua">
<img alt="StandWithUkraine" src="https://img.shields.io/badge/Made_in-Ukraine-FFC93C.svg?style=flat-square&labelColor=07689F">
</a>
</p>
- [Overview](#overview)
- [Features](#features)
- [Installation](#installation)
- [Usage and Configuration](#usage-and-configuration)
- [`ignore`](#ignore)
- [`location`](#location)
- [Configuration via TOML file](#configuration-via-toml-file)
- [Configuration via environment variables](#configuration-via-environment-variables)
- [Lookup hierarchy](#lookup-hierarchy)
- [Examples](#examples)
## Overview
`poetry-plugin-dotenv` - is the plugin that automatically loads environment variables from a dotenv file into the environment before `poetry` commands are run.
### Features
- Fully type safe
- Doesn't require any dependencies
- Supports templates, interpolating variables using POSIX variable expansions
- Supports `--directory` - working directory for the `poetry` command
- Supports multiple configuration sources
- Supports configuration auto-completion and validation in IDEs such as Visual Studio Code or PyCharm (part of [JSON Schema Store](https://www.schemastore.org/json))
## Installation
```bash
poetry self add poetry-plugin-dotenv@latest
```
> [!TIP]
> New releases supports only Python 3.9+.
> If you want to use `poetry-plugin-dotenv` with Python 3.8 please install version `2.4.0` using
> `poetry self add poetry-plugin-dotenv@2.4.0`
## Usage and Configuration
By default, the plugin will load the `.env` file from the current working directory or "higher directories".
#### `ignore`
**Type**: `str`
**Default**: `false`
**Allowed values (as True)**: `y / yes / t / on / 1 / true`
**Allowed values (as False)**: `n / no / f / off / 0 / false`
Prevents `poetry` from loading the dotenv file.
#### `location`
**Type**: `str`
**Default**: `.env`
If your dotenv file is located in a different path or has a different name you may set this parameter.
### Configuration via TOML file
The plugin is able to read project-specific default values for its options from a `pyproject.toml` file.
By default, `poetry-plugin-dotenv` looks for `pyproject.toml` containing a `[tool.poetry.plugins.dotenv]` section.
Example `pyproject.toml`:
```toml
[tool.poetry.plugins.dotenv]
ignore = "false"
location = ".env.dev"
```
> [!IMPORTANT]
> Due to the default `poetry` parser, options in the plugins sections should be always strings.
As it was mentioned in the **Features** list, the schema of the plugin configuration is now part of the [JSON Schema Store](https://www.schemastore.org/json) which brings auto-completion and validation in IDEs such as Visual Studio Code or PyCharm "out of the box".
https://github.com/pivoshenko/poetry-plugin-dotenv/assets/40499728/15d3a988-a723-49f8-960d-f91cd6bfe536
### Configuration via environment variables
`poetry-plugin-dotenv` supports the following configuration options via environment variables.
- `POETRY_PLUGIN_DOTENV_LOCATION`
- `POETRY_PLUGIN_DOTENV_IGNORE`
> [!IMPORTANT]
> Due to the nature of environment variables, options should be always strings.
### Lookup hierarchy
A `pyproject.toml` can override default values. Options provided by the user via environment variables override both.
## Examples
<img alt="demo" src="https://github.com/pivoshenko/poetry-plugin-dotenv/blob/main/docs/assets/demo.gif?raw=True">
```dotenv
# .env
DB__HOST=localhost
DB__DBNAME=local_lakehouse
DB__USER=volodymyr
DB__PASSWORD=super_secret_password
DB__ENGINE=postgresql://${DB__USER}:${DB__PASSWORD}@${DB__HOST}/${DB__DBNAME}
```
```dotenv
# .env.dev
DB__HOST=dev.host
DB__DBNAME=dev_lakehouse
DB__USER=svc_team
DB__PASSWORD=super_secret_password
DB__ENGINE=postgresql://${DB__USER}:${DB__PASSWORD}@${DB__HOST}/${DB__DBNAME}
```
```toml
# pyroject.toml
[tool.poetry.plugins.dotenv]
location = ".env.dev"
```
```python
# main.py
from __future__ import annotations
import os
if __name__ == "__main__":
try:
print(f"Host: {os.environ['DB__HOST']!r}")
print(f"Name: {os.environ['DB__DBNAME']!r}")
print(f"Username: {os.environ['DB__USER']!r}")
print(f"Password: {os.environ['DB__PASSWORD']!r}")
print(f"Engine: {os.environ['DB__ENGINE']!r}")
except KeyError:
print("Environment variables not set!")
```
```shell
poetry run -vvv python main.py
# Loading environment variables from '.env'.
# Host: 'localhost'
# Name: 'local_lakehouse'
# Username: 'volodymyr'
# Password: 'super_secret_password'
# Engine: 'postgresql://volodymyr:super_secret_password@localhost/local_lakehouse'
# set location section in pyproject.toml
poetry run -vvv python main.py
# Loading environment variables from '.env.dev'.
# Host: 'dev.host'
# Name: 'dev_lakehouse'
# Username: 'svc_team'
# Password: 'super_secret_password'
# Engine: 'postgresql://svc_team:super_secret_password@dev.host/dev_lakehouse'
# set ignore = "true" in pyproject.toml
poetry run -vvv python main.py
# Not loading environment variables.
# Environment variables not set!
export POETRY_PLUGIN_DOTENV_LOCATION=.env.dev && poetry run -vvv python main.py
# Loading environment variables from '.env.dev'.
# Host: 'dev.host'
# Name: 'dev_lakehouse'
# Username: 'svc_team'
# Password: 'super_secret_password'
# Engine: 'postgresql://svc_team:super_secret_password@dev.host/dev_lakehouse'
export POETRY_PLUGIN_DOTENV_IGNORE=true && poetry run -vvv python main.py
# Not loading environment variables.
# Environment variables not set!
```
Raw data
{
"_id": null,
"home_page": "https://github.com/pivoshenko/poetry-plugin-dotenv",
"name": "poetry-plugin-dotenv",
"maintainer": "Volodymyr Pivoshenko",
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": "volodymyr.pivoshenko@gmail.com",
"keywords": "python, pypi, poetry, plugin, plugins, poetry-plugin, poetry-plugins, env, dotenv, config, configuration, configuration-management, cross-platform, hacktoberfest",
"author": "Volodymyr Pivoshenko",
"author_email": "volodymyr.pivoshenko@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/13/46/3e137f868b8d42ac422ba727077e86949a82431935ecc26cef75a4ff23cf/poetry_plugin_dotenv-2.5.1.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img alt=\"logo\" src=\"https://github.com/pivoshenko/poetry-plugin-dotenv/blob/main/docs/assets/logo.svg?raw=True\" height=200>\n</div>\n\n<br>\n\n<p align=\"center\">\n <a href=\"https://opensource.org/licenses/MIT\">\n <img alt=\"License\" src=\"https://img.shields.io/pypi/l/poetry-plugin-dotenv?style=flat-square&logo=opensourceinitiative&logoColor=white&color=0A6847&label=License\">\n </a>\n <a href=\"https://pypi.org/project/poetry-plugin-dotenv\">\n <img alt=\"Python\" src=\"https://img.shields.io/pypi/pyversions/poetry-plugin-dotenv?style=flat-square&logo=python&logoColor=white&color=4856CD&label=Python\">\n </a>\n <a href=\"https://pypi.org/project/poetry-plugin-dotenv\">\n <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/poetry-plugin-dotenv?style=flat-square&logo=pypi&logoColor=white&color=4856CD&label=PyPI\">\n </a>\n <a href=\"https://github.com/pivoshenko/poetry-plugin-dotenv/releases\">\n <img alt=\"Release\" src=\"https://img.shields.io/github/v/release/pivoshenko/poetry-plugin-dotenv?style=flat-square&logo=github&logoColor=white&color=4856CD&label=Release\">\n </a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://github.com/semantic-release/semantic-release\">\n <img alt=\"Semantic_Release\" src=\"https://img.shields.io/badge/Semantic_Release-angular-e10079?style=flat-square&logo=semanticrelease&logoColor=white&color=D83A56\">\n </a>\n <a href=\"https://github.com/PyCQA/isort\">\n <img alt=\"Imports\" src=\"https://img.shields.io/badge/Imports-isort-black.svg?style=flat-square&logo=improvmx&logoColor=white&color=637A9F&\">\n </a>\n <a href=\"https://beta.ruff.rs/docs/\">\n <img alt=\"Ruff\" src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json&style=flat-square&logoColor=white&color=637A9F\">\n </a>\n <a href=\"https://mypy.readthedocs.io/en/stable/index.html\">\n <img alt=\"mypy\" src=\"https://img.shields.io/badge/mypy-checked-success.svg?style=flat-square&logo=pypy&logoColor=white&color=0A6847\">\n </a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://github.com/pivoshenko/poetry-plugin-dotenv/actions/workflows/tests.yaml\">\n <img alt=\"Tests\" src=\"https://img.shields.io/github/actions/workflow/status/pivoshenko/poetry-plugin-dotenv/tests.yaml?label=Tests&style=flat-square&logo=pytest&logoColor=white&color=0A6847\">\n </a>\n <a href=\"https://github.com/pivoshenko/poetry-plugin-dotenv/actions/workflows/linters.yaml\">\n <img alt=\"Linters\" src=\"https://img.shields.io/github/actions/workflow/status/pivoshenko/poetry-plugin-dotenv/linters.yaml?label=Linters&style=flat-square&logo=lintcode&logoColor=white&color=0A6847\">\n </a>\n <a href=\"https://github.com/pivoshenko/poetry-plugin-dotenv/actions/workflows/release.yaml\">\n <img alt=\"Release\" src=\"https://img.shields.io/github/actions/workflow/status/pivoshenko/poetry-plugin-dotenv/release.yaml?label=Release&style=flat-square&logo=pypi&logoColor=white&color=0A6847\">\n </a>\n <a href=\"https://codecov.io/gh/pivoshenko/poetry-plugin-dotenv\" >\n <img alt=\"Codecov\" src=\"https://img.shields.io/codecov/c/gh/pivoshenko/poetry-plugin-dotenv?token=cqRQxVnDR6&style=flat-square&logo=codecov&logoColor=white&color=0A6847&label=Coverage\"/>\n </a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/poetry-plugin-dotenv\">\n <img alt=\"Downloads\" src=\"https://img.shields.io/pypi/dm/poetry-plugin-dotenv?style=flat-square&logo=pythonanywhere&logoColor=white&color=4856CD&label=Downloads\">\n </a>\n <a href=\"https://github.com/pivoshenko/poetry-plugin-dotenv/\">\n <img alt=\"Stars\" src=\"https://img.shields.io/github/stars/pivoshenko/poetry-plugin-dotenv?style=flat-square&logo=apachespark&logoColor=white&color=4856CD&label=Stars\">\n </a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://stand-with-ukraine.pp.ua/\">\n <img alt=\"StandWithUkraine\" src=\"https://img.shields.io/badge/Support-Ukraine-FFC93C?style=flat-square&labelColor=07689F\">\n </a>\n <a href=\"https://stand-with-ukraine.pp.ua\">\n <img alt=\"StandWithUkraine\" src=\"https://img.shields.io/badge/Made_in-Ukraine-FFC93C.svg?style=flat-square&labelColor=07689F\">\n </a>\n</p>\n\n- [Overview](#overview)\n - [Features](#features)\n- [Installation](#installation)\n- [Usage and Configuration](#usage-and-configuration)\n - [`ignore`](#ignore)\n - [`location`](#location)\n - [Configuration via TOML file](#configuration-via-toml-file)\n - [Configuration via environment variables](#configuration-via-environment-variables)\n - [Lookup hierarchy](#lookup-hierarchy)\n- [Examples](#examples)\n\n## Overview\n\n`poetry-plugin-dotenv` - is the plugin that automatically loads environment variables from a dotenv file into the environment before `poetry` commands are run.\n\n### Features\n\n- Fully type safe\n- Doesn't require any dependencies\n- Supports templates, interpolating variables using POSIX variable expansions\n- Supports `--directory` - working directory for the `poetry` command\n- Supports multiple configuration sources\n- Supports configuration auto-completion and validation in IDEs such as Visual Studio Code or PyCharm (part of [JSON Schema Store](https://www.schemastore.org/json))\n\n## Installation\n\n```bash\npoetry self add poetry-plugin-dotenv@latest\n```\n> [!TIP]\n> New releases supports only Python 3.9+.\n> If you want to use `poetry-plugin-dotenv` with Python 3.8 please install version `2.4.0` using\n> `poetry self add poetry-plugin-dotenv@2.4.0`\n\n## Usage and Configuration\n\nBy default, the plugin will load the `.env` file from the current working directory or \"higher directories\".\n\n#### `ignore`\n\n**Type**: `str`\n\n**Default**: `false`\n\n**Allowed values (as True)**: `y / yes / t / on / 1 / true`\n\n**Allowed values (as False)**: `n / no / f / off / 0 / false`\n\nPrevents `poetry` from loading the dotenv file.\n\n#### `location`\n\n**Type**: `str`\n\n**Default**: `.env`\n\nIf your dotenv file is located in a different path or has a different name you may set this parameter.\n\n### Configuration via TOML file\n\nThe plugin is able to read project-specific default values for its options from a `pyproject.toml` file.\nBy default, `poetry-plugin-dotenv` looks for `pyproject.toml` containing a `[tool.poetry.plugins.dotenv]` section.\n\nExample `pyproject.toml`:\n\n```toml\n[tool.poetry.plugins.dotenv]\nignore = \"false\"\nlocation = \".env.dev\"\n```\n\n> [!IMPORTANT]\n> Due to the default `poetry` parser, options in the plugins sections should be always strings.\n\nAs it was mentioned in the **Features** list, the schema of the plugin configuration is now part of the [JSON Schema Store](https://www.schemastore.org/json) which brings auto-completion and validation in IDEs such as Visual Studio Code or PyCharm \"out of the box\".\n\nhttps://github.com/pivoshenko/poetry-plugin-dotenv/assets/40499728/15d3a988-a723-49f8-960d-f91cd6bfe536\n\n### Configuration via environment variables\n\n`poetry-plugin-dotenv` supports the following configuration options via environment variables.\n\n- `POETRY_PLUGIN_DOTENV_LOCATION`\n- `POETRY_PLUGIN_DOTENV_IGNORE`\n\n> [!IMPORTANT]\n> Due to the nature of environment variables, options should be always strings.\n\n### Lookup hierarchy\n\nA `pyproject.toml` can override default values. Options provided by the user via environment variables override both.\n\n## Examples\n\n<img alt=\"demo\" src=\"https://github.com/pivoshenko/poetry-plugin-dotenv/blob/main/docs/assets/demo.gif?raw=True\">\n\n```dotenv\n# .env\nDB__HOST=localhost\nDB__DBNAME=local_lakehouse\nDB__USER=volodymyr\nDB__PASSWORD=super_secret_password\nDB__ENGINE=postgresql://${DB__USER}:${DB__PASSWORD}@${DB__HOST}/${DB__DBNAME}\n```\n\n```dotenv\n# .env.dev\nDB__HOST=dev.host\nDB__DBNAME=dev_lakehouse\nDB__USER=svc_team\nDB__PASSWORD=super_secret_password\nDB__ENGINE=postgresql://${DB__USER}:${DB__PASSWORD}@${DB__HOST}/${DB__DBNAME}\n```\n\n```toml\n# pyroject.toml\n[tool.poetry.plugins.dotenv]\nlocation = \".env.dev\"\n```\n\n```python\n# main.py\nfrom __future__ import annotations\n\nimport os\n\n\nif __name__ == \"__main__\":\n try:\n print(f\"Host: {os.environ['DB__HOST']!r}\")\n print(f\"Name: {os.environ['DB__DBNAME']!r}\")\n print(f\"Username: {os.environ['DB__USER']!r}\")\n print(f\"Password: {os.environ['DB__PASSWORD']!r}\")\n print(f\"Engine: {os.environ['DB__ENGINE']!r}\")\n\n except KeyError:\n print(\"Environment variables not set!\")\n```\n\n```shell\npoetry run -vvv python main.py\n# Loading environment variables from '.env'.\n# Host: 'localhost'\n# Name: 'local_lakehouse'\n# Username: 'volodymyr'\n# Password: 'super_secret_password'\n# Engine: 'postgresql://volodymyr:super_secret_password@localhost/local_lakehouse'\n\n# set location section in pyproject.toml\npoetry run -vvv python main.py\n# Loading environment variables from '.env.dev'.\n# Host: 'dev.host'\n# Name: 'dev_lakehouse'\n# Username: 'svc_team'\n# Password: 'super_secret_password'\n# Engine: 'postgresql://svc_team:super_secret_password@dev.host/dev_lakehouse'\n\n# set ignore = \"true\" in pyproject.toml\npoetry run -vvv python main.py\n# Not loading environment variables.\n# Environment variables not set!\n\nexport POETRY_PLUGIN_DOTENV_LOCATION=.env.dev && poetry run -vvv python main.py\n# Loading environment variables from '.env.dev'.\n# Host: 'dev.host'\n# Name: 'dev_lakehouse'\n# Username: 'svc_team'\n# Password: 'super_secret_password'\n# Engine: 'postgresql://svc_team:super_secret_password@dev.host/dev_lakehouse'\n\nexport POETRY_PLUGIN_DOTENV_IGNORE=true && poetry run -vvv python main.py\n# Not loading environment variables.\n# Environment variables not set!\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "poetry-plugin-dotenv - is the plugin that automatically loads environment variables from a dotenv file into the environment before poetry commands are run.",
"version": "2.5.1",
"project_urls": {
"Documentation": "https://github.com/pivoshenko/poetry-plugin-dotenv",
"Homepage": "https://github.com/pivoshenko/poetry-plugin-dotenv",
"Issues": "https://github.com/pivoshenko/poetry-plugin-dotenv/issues",
"Releases": "https://github.com/pivoshenko/poetry-plugin-dotenv/releases",
"Repository": "https://github.com/pivoshenko/poetry-plugin-dotenv",
"Say Thanks!": "https://www.buymeacoffee.com/pivoshenko"
},
"split_keywords": [
"python",
" pypi",
" poetry",
" plugin",
" plugins",
" poetry-plugin",
" poetry-plugins",
" env",
" dotenv",
" config",
" configuration",
" configuration-management",
" cross-platform",
" hacktoberfest"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fbb49097f75ee9c37f8e87dd5994cdb0e56c9ef1a8c26ca43b02a5f2c8e78aa7",
"md5": "d45b338acab61585ed9ff6712a099c38",
"sha256": "8f67c7f8b1ff51cb354d395360f7f53e4b581702d38d83806bcdd9dd48271621"
},
"downloads": -1,
"filename": "poetry_plugin_dotenv-2.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d45b338acab61585ed9ff6712a099c38",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 14251,
"upload_time": "2024-11-24T17:06:32",
"upload_time_iso_8601": "2024-11-24T17:06:32.165756Z",
"url": "https://files.pythonhosted.org/packages/fb/b4/9097f75ee9c37f8e87dd5994cdb0e56c9ef1a8c26ca43b02a5f2c8e78aa7/poetry_plugin_dotenv-2.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "13463e137f868b8d42ac422ba727077e86949a82431935ecc26cef75a4ff23cf",
"md5": "a68f9e162382c2a07b7781ff5e22839f",
"sha256": "7af2ddfe148f23012eba31ca1d9abe0074f63cba0ed3a1144b4618fbffface28"
},
"downloads": -1,
"filename": "poetry_plugin_dotenv-2.5.1.tar.gz",
"has_sig": false,
"md5_digest": "a68f9e162382c2a07b7781ff5e22839f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 14614,
"upload_time": "2024-11-24T17:06:33",
"upload_time_iso_8601": "2024-11-24T17:06:33.863542Z",
"url": "https://files.pythonhosted.org/packages/13/46/3e137f868b8d42ac422ba727077e86949a82431935ecc26cef75a4ff23cf/poetry_plugin_dotenv-2.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-24 17:06:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pivoshenko",
"github_project": "poetry-plugin-dotenv",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "poetry-plugin-dotenv"
}