From 7067f566c0c8f33ae05cd2a37ffe3c0a2f774347 Mon Sep 17 00:00:00 2001 From: Eshin Kunishima Date: Thu, 13 Aug 2026 19:36:34 +0900 Subject: [PATCH] Remove redundant `dotenv` dependency (#1844) `dotenv` was added in 605bca19 together with the `from dotenv import load_dotenv` call in `src/serena/agno.py`, six days after `python-dotenv` had already been added in 276f6a84. The `dotenv` module that the code imports is provided by `python-dotenv`. The separately named `dotenv` distribution on PyPI is an unrelated, deprecated project by another author, republished as a metadata-only stub whose only content is `Requires-Dist: python-dotenv`; its wheel ships no Python module at all, so the dependency has never contributed anything at runtime. The redundancy survived the bulk pinning pass in 45cd8ca1, which mechanically rewrote `dotenv>=0.9.9` to `dotenv==0.9.9`. Dropping it removes a third-party PyPI name from the set of distributions trusted at install time, with no behavioural change. Verified that `from dotenv import load_dotenv` resolves with only `python-dotenv==1.2.2` installed. Co-authored-by: Claude Opus 5 (1M context) --- CHANGELOG.md | 3 +++ pyproject.toml | 1 - uv.lock | 13 ------------- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f188595..6d3211e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,9 @@ Status of the `main` branch. Changes prior to the next official version change w Metals reports, bounded by the new `indexing_timeout`, `indexing_start_grace` and `indexing_quiet_period` settings +* Dependencies: + - Remove the redundant `dotenv` dependency; the `dotenv` module is provided by `python-dotenv` + # v1.7.0 (2026-08-09) * General: diff --git a/pyproject.toml b/pyproject.toml index 05bebe08..070914bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,6 @@ dependencies = [ "pyyaml==6.0.2", "ruamel.yaml==0.18.14", "jinja2==3.1.6", - "dotenv==0.9.9", "pathspec==0.12.1", "psutil==7.0.0", "docstring_parser==0.17.0", diff --git a/uv.lock b/uv.lock index a223423c..cb77e62c 100644 --- a/uv.lock +++ b/uv.lock @@ -608,17 +608,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5b/11/208f72084084d3f6a2ed5ebfdfc846692c3f7ad6dce65e400194924f7eed/domdf_python_tools-3.10.0-py3-none-any.whl", hash = "sha256:5e71c1be71bbcc1f881d690c8984b60e64298ec256903b3147f068bc33090c36", size = 126860, upload-time = "2025-02-12T17:34:04.093Z" }, ] -[[package]] -name = "dotenv" -version = "0.9.9" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-dotenv" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/b7/545d2c10c1fc15e48653c91efde329a790f2eecfbbf2bd16003b5db2bab0/dotenv-0.9.9-py2.py3-none-any.whl", hash = "sha256:29cf74a087b31dafdb5a446b6d7e11cbce8ed2741540e2339c69fbef92c94ce9", size = 1892, upload-time = "2025-02-19T22:15:01.647Z" }, -] - [[package]] name = "execnet" version = "2.1.2" @@ -2791,7 +2780,6 @@ dependencies = [ { name = "beautifulsoup4" }, { name = "cryptography" }, { name = "docstring-parser" }, - { name = "dotenv" }, { name = "filelock" }, { name = "flask" }, { name = "jinja2" }, @@ -2861,7 +2849,6 @@ requires-dist = [ { name = "beautifulsoup4", specifier = "==4.14.2" }, { name = "cryptography", specifier = "==50.0.0" }, { name = "docstring-parser", specifier = "==0.17.0" }, - { name = "dotenv", specifier = "==0.9.9" }, { name = "filelock", specifier = "==3.25.2" }, { name = "flask", specifier = "==3.1.3" }, { name = "google-genai", marker = "extra == 'google'", specifier = "==1.27.0" },