erplibre/requirement/erplibre_require-ments.txt

60 lines
1.1 KiB
Text
Raw Normal View History

# ERPLibre Poetry requirement
packaging
toml
# ERPLibre script
giturlparse
agithub
GitPython
retrying
xmltodict
openupgradelib
unidiff
colorama
wheel
selenium
uvloop
python-randomword-fr
isort
pykeepass
click
aioshutil
python-magic
openai
humanize
requests
urwid
[FIX] requirement: borner Textual, et déclarer lxml plutôt que l'hériter Textual était déclaré sans version. Les quatre écrans TUI du dépôt sont écrits pour la 8, et la bibliothèque casse son API entre majeures : un « pip install -U » les casse tous sans prévenir. Borner le fichier de requirements ne suffisait pas. install_command() faisait « pip install textual », sans borne : « make install » aurait pris la 8, et l'installation proposée à l'écran la majeure suivante. Deux chemins pour la même dépendance, qui ne disent pas la même chose. La borne vit donc dans une seule constante, TEXTUAL_SPEC, que install_command() utilise, et que le fichier de requirements recopie avec un commentaire qui pointe dessus. La borne ne s'applique qu'à l'installation : ensure() vérifie « est-ce importable », pas « à quelle version ». Un Textual 9 déjà présent passe, et c'est volontaire — refuser de démarrer sur une version qui marche peut-être serait pire que le problème. lxml devient une dépendance déclarée. Il n'arrivait que par pykeepass, openupgradelib et odoo-module-migrator ; le jour où l'un d'eux s'en passe, il disparaît d'un venv sans que rien ne le réclame. Sans borne : cyclonedx-python-lib demande déjà « lxml >=4,<7 », en ajouter une seconde n'apporterait qu'un conflit possible. Vérifié : install_command() porte la borne, l'insertion de « --user » hors venv reste au bon rang, et le Textual installé (8.2.8) la satisfait. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 04:03:58 -04:00
# Borne recopiée de script/todo/textual_setup.py (TEXTUAL_SPEC) : les écrans TUI
# sont écrits pour Textual 8, qui casse son API entre majeures. Modifier les deux.
textual>=8,<9
# Dépendance directe : les outils d'analyse comparent des arbres XML avec lxml.
# Il n'arrivait que par pykeepass / openupgradelib / odoo-module-migrator, donc
# un jour où l'un d'eux s'en passe, il disparaît sans que rien ne le réclame.
lxml
python-dotenv
python-dateutil
unidecode
sshconf
cloudflare
psutil
mmg
pip-audit
tldextract
PyYAML
# For mobile
pillow
# Force upgrade package to fix Ubuntu 25.04
2026-02-04 09:45:08 -05:00
virtualenv==20.36.1
# For logical test and quality
git+https://github.com/psf/black.git@24.8.0
pre-commit
odoo-module-migrator
# Ignore because need installation system
# pymysql
# Don't forget to install selenium script/selenium/requirements.txt