Skip to content

Commit a4187ae

Browse files
committed
pin dependencies more tightly, updating versions
Some dependencies had no versioning; others used ">=" which is prone to breakage as libraries have breaking changes. This way means more maintenance but is safer against breakage. Some projects also check in the lockfile for perfect reproducibility. Where a ">=" was used, the version was generally updated to the latest, which is probably what was being used in practice. The "~=" operator allows the patch version to increment.
1 parent c44f710 commit a4187ae

File tree

2 files changed

+28
-27
lines changed

2 files changed

+28
-27
lines changed

changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Internal
1717
* Prefer `yield from` over yielding in a loop.
1818
* Update `ruff` linter and CI.
1919
* Update `LICENSE.txt` for dates and GitHub detection.
20+
* Pin dependencies more tightly in `pyproject.toml`.
2021

2122

2223
1.53.0 (2026/02/12)

pyproject.toml

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@ authors = [{ name = "Mycli Core Team", email = "mycli-dev@googlegroups.com" }]
99
urls = { homepage = "http://mycli.net" }
1010

1111
dependencies = [
12-
"click >= 8.3.1",
13-
"cryptography >= 1.0.0",
12+
"click ~= 8.3.1",
13+
"cryptography ~= 46.0.5",
1414
"Pygments ~= 2.19.2",
1515
"prompt_toolkit>=3.0.6,<4.0.0",
16-
"PyMySQL >= 0.9.2",
16+
"PyMySQL ~= 1.1.2",
1717
"sqlparse>=0.3.0,<0.6.0",
1818
"sqlglot[rs] == 27.*",
19-
"configobj >= 5.0.5",
20-
"cli_helpers[styles] >= 2.10.0",
21-
"pyperclip >= 1.8.1",
22-
"pycryptodomex",
23-
"pyfzf >= 0.3.1",
19+
"configobj ~= 5.0.0",
20+
"cli_helpers[styles] ~= 2.10.0",
21+
"pyperclip ~= 1.11.0",
22+
"pycryptodomex ~= 3.23.0",
23+
"pyfzf ~= 0.3.1",
2424
"rapidfuzz ~= 3.14.3",
2525
"keyring ~= 25.7.0",
2626
]
@@ -34,33 +34,33 @@ build-backend = "setuptools.build_meta"
3434

3535
[project.optional-dependencies]
3636
ssh = [
37-
"paramiko~=3.5.1",
38-
"sshtunnel",
37+
"paramiko ~= 3.5.1",
38+
"sshtunnel ~= 0.4.0",
3939
]
4040
llm = [
41-
"llm>=0.19.0",
42-
"setuptools", # Required by llm commands to install models
43-
"pip",
41+
"llm ~= 0.28.0",
42+
"setuptools == 82.*", # Required by llm commands to install models
43+
"pip == 26.*",
4444
]
4545
all = [
4646
"mycli[ssh]",
4747
"mycli[llm]",
4848
]
4949
dev = [
50-
"behave>=1.2.6",
51-
"coverage>=7.2.7",
52-
"mypy~=1.18.1",
53-
"pexpect>=4.9.0",
54-
"pytest>=7.4.4",
55-
"pytest-cov>=4.1.0",
56-
"tox>=4.8.0",
57-
"pdbpp>=0.10.3",
58-
"paramiko~=3.5.1",
59-
"sshtunnel",
60-
"llm>=0.19.0",
61-
"setuptools", # Required by llm commands to install models
62-
"pip",
63-
"ruff~=0.15.0",
50+
"behave ~= 1.3.3",
51+
"coverage ~= 7.13.4",
52+
"mypy ~= 1.19.1",
53+
"pexpect ~= 4.9.0",
54+
"pytest ~= 9.0.2",
55+
"pytest-cov ~= 7.0.0",
56+
"tox ~= 4.35.0",
57+
"pdbpp ~= 0.11.7",
58+
"paramiko ~= 3.5.1",
59+
"sshtunnel ~= 0.4.0",
60+
"llm ~= 0.28.0",
61+
"setuptools == 82.*", # Required by llm commands to install models
62+
"pip == 26.*",
63+
"ruff ~= 0.15.0",
6464
]
6565

6666
[project.scripts]

0 commit comments

Comments
 (0)