Skip to content

fix: sync requirements.txt versions with pyproject.toml#13488

Closed
hobostay wants to merge 1 commit intoNousResearch:mainfrom
hobostay:fix/requirements-sync-pyproject
Closed

fix: sync requirements.txt versions with pyproject.toml#13488
hobostay wants to merge 1 commit intoNousResearch:mainfrom
hobostay:fix/requirements-sync-pyproject

Conversation

@hobostay
Copy link
Copy Markdown

Summary

  • requirements.txt was significantly out of date with the canonical dependency specifications in pyproject.toml
  • Multiple packages had missing version pins, wrong version ranges, or missing extras
  • slack-bolt and slack-sdk were completely missing from requirements.txt

Changes:

Package requirements.txt (before) pyproject.toml (canonical)
openai unpinned >=2.21.0,<3
python-dotenv unpinned >=1.2.1,<2
fire unpinned >=0.7.1,<1
httpx unpinned >=0.28.1,<1 (with [socks])
rich unpinned >=14.3.3,<15
tenacity unpinned >=9.1.4,<10
prompt_toolkit unpinned >=3.0.52,<4
pyyaml unpinned >=6.0.2,<7
requests unpinned >=2.33.0,<3
jinja2 unpinned >=3.1.5,<4
pydantic >=2.0 >=2.12.5,<3
PyJWT[crypto] unpinned >=2.12.0,<3
debugpy unpinned >=1.8.0,<2
discord.py >=2.0 >=2.7.1,<3 (with [voice])
aiohttp >=3.9.0 >=3.13.3,<4
python-telegram-bot >=22.6 >=22.6,<23
slack-bolt missing >=1.18.0,<2
slack-sdk missing >=3.27.0,<4

Test plan

  • Verified all version ranges match pyproject.toml exactly
  • pip install -r requirements.txt succeeds in a clean environment
  • pip install -e ".[all]" still works correctly

🤖 Generated with Claude Code

requirements.txt was out of date with the canonical dependency
specifications in pyproject.toml:

- Added missing version pins for openai, python-dotenv, fire, httpx,
  rich, tenacity, pyyaml, requests, jinja2, pydantic
- Fixed prompt_toolkit pin (was unpinned, now >=3.0.52,<4)
- Fixed PyJWT[crypto] pin (was unpinned, now >=2.12.0,<3)
- Fixed debugpy pin (was unpinned, now >=1.8.0,<2)
- Fixed discord.py: added missing [voice] extra and corrected min
  version from >=2.0 to >=2.7.1,<3
- Fixed aiohttp min version from >=3.9.0 to >=3.13.3,<4
- Fixed python-telegram-bot: added missing upper bound (<23)
- Added missing slack-bolt and slack-sdk dependencies
- Added missing exa-py dependency with version pin

These mismatches could cause dependency conflicts or pull in
incompatible versions when installing via requirements.txt instead
of pyproject.toml.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
teknium1 added a commit that referenced this pull request Apr 21, 2026
The root requirements.txt has drifted from pyproject.toml for years
(unpinned, missing deps like slack-bolt, slack-sdk, exa-py, anthropic)
and no part of the codebase (CI, Dockerfiles, scripts, docs) consumes
it. It exists only for drive-by 'pip install -r requirements.txt'
users and will drift again within weeks of any sync.

Canonical install remains:
    pip install -e ".[all]"

Closes #13488 (thanks @hobostay — your sync was correct, we're just
deleting the drift trap instead of patching it).
@teknium1
Copy link
Copy Markdown
Contributor

Superseded by #13515 (merged in bd342f3) — we deleted requirements.txt entirely rather than patch it. Your sync work was correct; the file has drifted from pyproject.toml for years and nothing in CI/Docker/scripts consumes it, so we're removing the drift trap. Thanks for the thorough diff — it made the decision easy. Canonical install remains pip install -e ".[all]".

pokoni pushed a commit to pokoni/hermes-agent that referenced this pull request Apr 21, 2026
…Research#13515)

The root requirements.txt has drifted from pyproject.toml for years
(unpinned, missing deps like slack-bolt, slack-sdk, exa-py, anthropic)
and no part of the codebase (CI, Dockerfiles, scripts, docs) consumes
it. It exists only for drive-by 'pip install -r requirements.txt'
users and will drift again within weeks of any sync.

Canonical install remains:
    pip install -e ".[all]"

Closes NousResearch#13488 (thanks @hobostay — your sync was correct, we're just
deleting the drift trap instead of patching it).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants