Skip to content

Commit da2c0ce

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 e54c688 commit da2c0ce

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
@@ -30,6 +30,7 @@ Internal
3030
* Sync prompt format string commentary with web.
3131
* Add a GitHub Actions workflow to run Codex review on pull requests.
3232
* Remove vim-style exit sequence which had no effect.
33+
* Pin dependencies more tightly in `pyproject.toml`.
3334

3435

3536
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)