Skip to content

Commit fc837f4

Browse files
committed
Add lower bounds to the remaining runtime dependencies
requests, python-dotenv, webdriver-manager and defusedxml were declared unbounded, so an installer could resolve any version — including ones predating known advisories — whenever another constraint in the environment held them back. Floors chosen from evidence rather than convenience: - requests>=2.33.0 is the first release carrying the extract_zipped_paths fix (GHSA-gc5v-m9x4-r6x2). - webdriver-manager>=4.0.0 is the line this package is developed against. 3.9.1 does expose DriverCacheManager and the cache_manager kwarg the wrapper uses, so this is a policy floor, not an API requirement. - python-dotenv>=1.0.0 and defusedxml>=0.7.1 are the stable current lines. These are minimums only; no upper bounds, so the package stays co-installable. faker and sqlalchemy are deliberately left alone — both are optional extras imported lazily behind guards and are absent from the package metadata, so a floor there would add friction without benefit.
1 parent 6998d7b commit fc837f4

4 files changed

Lines changed: 18 additions & 10 deletions

File tree

dev.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ authors = [
1313
description = "WEB Automation Framework"
1414
requires-python = ">=3.10"
1515
license-files = ["LICENSE"]
16+
# Kept in step with pyproject.toml; see the rationale for each floor there.
1617
dependencies = [
1718
"selenium>=4.0.0",
18-
"requests",
19-
"python-dotenv",
20-
"webdriver-manager",
21-
"defusedxml",
19+
"requests>=2.33.0",
20+
"python-dotenv>=1.0.0",
21+
"webdriver-manager>=4.0.0",
22+
"defusedxml>=0.7.1",
2223
]
2324
classifiers = [
2425
"Programming Language :: Python :: 3.10",

dev_requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ sphinx
44
je_web_runner_dev
55
sphinx-rtd-theme
66
Pyside6
7-
defusedxml
7+
defusedxml>=0.7.1
88
Pillow>=12.3.0
99
faker
1010
sqlalchemy

pyproject.toml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,19 @@ keywords = [
1818
"selenium", "automation", "testing", "web-automation",
1919
"webdriver", "browser", "e2e", "qa",
2020
]
21+
# Every runtime dependency carries a lower bound so an installer cannot
22+
# silently resolve a version predating a known advisory or an API this
23+
# package relies on. Floors are minimums, not pins — upper bounds are left
24+
# open so the package stays co-installable.
2125
dependencies = [
2226
"selenium>=4.0.0",
23-
'requests',
24-
'python-dotenv',
25-
"webdriver-manager",
26-
"defusedxml",
27+
# 2.33.0 is the first release carrying the extract_zipped_paths fix
28+
# (GHSA-gc5v-m9x4-r6x2).
29+
"requests>=2.33.0",
30+
"python-dotenv>=1.0.0",
31+
# 4.x is the line this package is developed and tested against.
32+
"webdriver-manager>=4.0.0",
33+
"defusedxml>=0.7.1",
2734
# Floor set to the first release without the known Pillow advisories;
2835
# wheels cover cp310-cp315, so it excludes no supported interpreter.
2936
"Pillow>=12.3.0",

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
je_web_runner
2-
defusedxml
2+
defusedxml>=0.7.1
33
Pillow>=12.3.0
44
faker
55
sqlalchemy

0 commit comments

Comments
 (0)