The researcher assistant renders the model's markdown into HTML before sanitising it, and markdown-it-py is the engine. It is present in the environment only through bandit -> rich, so a lint tool holds up the render path of a portal page: dropping bandit would drop the engine, with no diagnostic beyond an ImportError at request time. The pin is declared where functional dependencies live, not among the development ones, and matches the version already installed. --- FR --- L'assistant du chercheur rend le markdown du modèle en HTML avant de l'assainir, et markdown-it-py est le moteur. Il n'est présent dans l'environnement que par la chaîne bandit -> rich : un outil de lint porte donc le chemin de rendu d'une page portail, et retirer bandit retirerait le moteur, sans autre diagnostic qu'une ImportError au moment de la requête. L'épingle est déclarée là où vivent les dépendances fonctionnelles, non celles de développement, et reprend la version déjà installée. Assisted-by: Claude Opus 5
243 lines
5.1 KiB
TOML
243 lines
5.1 KiB
TOML
[build-system]
|
|
requires = [ "poetry>=1.8.3",]
|
|
build-backend = "poetry.masonry.api"
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
py_version = 312
|
|
|
|
[tool.black]
|
|
line-length = 79
|
|
target-version = [ "py37",]
|
|
|
|
[tool.poetry]
|
|
name = "ERPLibre"
|
|
version = "1.8.0"
|
|
description = "Easy way to configure Odoo community"
|
|
license = "AGPL-3.0-or-later"
|
|
authors = [ "Mathieu Benoit <mathben@technolibre.ca>",]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.12.10,<3.13"
|
|
a2wsgi = ">=1.10.6"
|
|
aiobotocore = "3.1.2"
|
|
altcha = ">=2.0.0"
|
|
ansi2html = "^1.9.2"
|
|
apispec = "^6.10.0"
|
|
asn1crypto = "1.5.1"
|
|
astor = "^0.8.1"
|
|
avalara = "^26.7.3"
|
|
babel = "2.10.3"
|
|
bandit = "^1.9.4"
|
|
base64io = "^1.0.3"
|
|
beautifulsoup4 = "4.13.5"
|
|
bokeh = "3.6.3"
|
|
boto3 = "1.42.42"
|
|
botocore = "1.42.42"
|
|
cachetools = "^7.1.7"
|
|
cairosvg = "^2.9.0"
|
|
caldav = "1.3.9"
|
|
cbor2 = "5.6.2"
|
|
cerberus = "^1.3.8"
|
|
chardet = "5.2.0"
|
|
code-writer = "^1.3.0"
|
|
colorama = "^0.4.6"
|
|
contextvars = "^2.4"
|
|
cryptography = "46.0.5"
|
|
cssselect = "^1.5.0"
|
|
cython = "^3.2.9"
|
|
dateparser = "^1.4.2"
|
|
decorator = "5.1.1"
|
|
dnspython = "^2.8.0"
|
|
docutils = "0.20.1"
|
|
dropbox = "^12.2.1"
|
|
easypost = "7.15.0"
|
|
email-validator = "^2.3.0"
|
|
extendable = ">=0.0.4"
|
|
extendable-pydantic = ">=1.2.0"
|
|
extract-msg = "^0.56.0"
|
|
extruct = "^0.18.0"
|
|
ezdxf = "^1.4.4"
|
|
fastapi = ">=0.110.0"
|
|
filetype = "^1.2.0"
|
|
flake8 = "^7.3.0"
|
|
formio-data = "^2.1.7"
|
|
freezegun = "1.2.1"
|
|
geocoder = "^1.38.1"
|
|
geoip2 = "2.9.0"
|
|
geojson = "^3.3.0"
|
|
gevent = "24.2.1"
|
|
gitpython = "^3.1.59"
|
|
giturlparse = "0.12.0"
|
|
googletrans-py = "4.0.0"
|
|
greenlet = "3.0.3"
|
|
httpagentparser = "^1.9.9"
|
|
icalendar = "5.0.13"
|
|
idna = "3.6"
|
|
img2pdf = "^0.6.3"
|
|
isort = "7.0.0"
|
|
itsdangerous = "^2.2.0"
|
|
jinja2 = "3.1.2"
|
|
js2py = "^0.74"
|
|
libsass = "0.22.0"
|
|
lottie = "^0.7.2"
|
|
lxml = "5.2.1"
|
|
lxml-html-clean = "<0.4.5"
|
|
mako = "^1.4.1"
|
|
markdown-it-py = "4.2.0"
|
|
markdown2 = "2.5.1"
|
|
markdownify = "0.13.1"
|
|
markupsafe = "2.1.5"
|
|
matplotlib = "^3.11.1"
|
|
meteostat = "1.6.8"
|
|
mock = "^5.2.0"
|
|
mpld3 = "0.5.10"
|
|
msgraphfs = "^0.5"
|
|
mysqlclient = "^2.2.8"
|
|
nextcloud-api-wrapper = "^0.2.3"
|
|
num2words = "0.5.13"
|
|
numpy = ">=1.15"
|
|
numpy-financial = "<=1.0.0"
|
|
numpy-stl = "^4.0.0"
|
|
oauthlib = "^3.3.1"
|
|
odoo-test-helper = "^2.1.3"
|
|
odoorpc = "^0.10.1"
|
|
ofxparse = "0.21"
|
|
ollama = "^0.6.2"
|
|
openai = "^2.53.0"
|
|
openpyxl = "3.1.2"
|
|
openupgradelib = "^3.13.6"
|
|
openwebui-client = ">=0.3.0"
|
|
orjson = "^3.11.9"
|
|
ovh = "^1.2.0"
|
|
pandas = "2.3.3"
|
|
paramiko = "<4.0.0"
|
|
parse-accept-language = "^0.1.2"
|
|
passlib = "1.7.4"
|
|
pathspec = "^1.1.1"
|
|
pdf2image = "^1.17.0"
|
|
pdfminer-six = "20260107"
|
|
pexpect = "^4.9.0"
|
|
phonenumbers = "^9.0.36"
|
|
pillow = "12.2.0"
|
|
plaid-python = "^42.0.0"
|
|
plotly = "^6.9.0"
|
|
polib = "1.1.1"
|
|
pre-commit = "^4.6.2"
|
|
premailer = "^3.10.0"
|
|
prometheus-client = "^0.26.0"
|
|
psutil = "5.9.8"
|
|
psycopg2 = "2.9.9"
|
|
py3dns = "^4.0.2"
|
|
py3o-formats = "^0.3"
|
|
py3o-template = "^0.10.0"
|
|
pycountry = "^26.2.16"
|
|
pycups = "^2.0.4"
|
|
pydantic = ">=2.0.0"
|
|
pydevd-odoo = "^1.2.2"
|
|
pyftpdlib = "^2.2.0"
|
|
pygithub = "^2.9.1"
|
|
pyjsparser = "^2.7.1"
|
|
pyjwt = "^2.13.0"
|
|
pylint = "^4.0.7"
|
|
pylint-odoo = "^10.0.9"
|
|
pyncclient = "^0.7"
|
|
pyopenssl = "26.0.0"
|
|
pypdf = ">=3.1.0"
|
|
pypdf2 = "2.12.1"
|
|
pyproj = "^3.7.2"
|
|
pyquerystring = "^1.1"
|
|
pyserial = "3.5"
|
|
pysftp = "^0.2.9"
|
|
pytesseract = "^0.3.13"
|
|
python-dateutil = "2.8.2"
|
|
python-docx = "^1.2.0"
|
|
python-dotenv = ">=1.0.0"
|
|
python-jose = "^3.5.0"
|
|
python-json-logger = "^4.1.0"
|
|
python-ldap = "3.4.4"
|
|
python-multipart = "^0.0.32"
|
|
python-pptx = "^1.0.2"
|
|
python-resize-image = "^1.1.20"
|
|
python-slugify = "^8.0.4"
|
|
python-stdnum = "1.19"
|
|
python-telegram-bot = "^22.8"
|
|
pytz = "^2026.3.post1"
|
|
pyusb = "1.2.1"
|
|
pyyaml = "^6.0.3"
|
|
pyzbar = "^0.1.9"
|
|
pyzk = "^0.9"
|
|
qifparse = "^0.5"
|
|
qrcode = "7.4.2"
|
|
radon = "^6.0.1"
|
|
redis = "^8.1.0"
|
|
regex = "^2026.7.19"
|
|
reportlab = "4.1.0"
|
|
requests = "2.31.0"
|
|
requests-oauthlib = "^2.0.0"
|
|
requests-toolbelt = "^1.0.0"
|
|
responses = "^0.26.2"
|
|
rjsmin = "1.2.0"
|
|
roulier = "^1.1.1"
|
|
s3fs = "2026.7.0"
|
|
schwifty = "2024.4.0"
|
|
sentry-sdk = ">=2.0.0,<=2.22.0"
|
|
setuptools = "80.10.2"
|
|
shapely = "^2.1.2"
|
|
sqlalchemy = "^2.0.51"
|
|
statsd = "^4.0.1"
|
|
tldextract = "^5.3.2"
|
|
to-3mf = "^0.1.0"
|
|
tweepy = "^4.17.0"
|
|
twilio = "^9.10.9"
|
|
typing-extensions = "^4.16.0"
|
|
ujson = "^5.13.0"
|
|
unidecode = "^1.4.0"
|
|
urllib3 = "2.0.7"
|
|
uvloop = "^0.22.1"
|
|
validate-email = "^1.3"
|
|
validator-collection = "^1.5.0"
|
|
vobject = "0.9.6.1"
|
|
w3lib = "^2.4.1"
|
|
werkzeug = "3.0.1"
|
|
wget = "^3.2"
|
|
xlrd = "2.0.1"
|
|
xlsxwriter = "3.1.9"
|
|
xlwt = "1.3.0"
|
|
xmltodict = "0.13.0"
|
|
zeep = "4.2.1"
|
|
|
|
[[tool.poetry.dependencies.pymupdf]]
|
|
version = "^1.28.2"
|
|
markers = "platform_machine != \"s390x\""
|
|
|
|
[[tool.poetry.dependencies.factur-x]]
|
|
version = ">=4.2"
|
|
markers = "platform_machine != \"s390x\""
|
|
|
|
[[tool.poetry.dependencies.factur-x]]
|
|
version = "<4"
|
|
markers = "platform_machine == \"s390x\""
|
|
|
|
[tool.poetry.dependencies.black]
|
|
git = "https://github.com/psf/black.git"
|
|
rev = "24.8.0"
|
|
|
|
[tool.poetry.dependencies.flanker]
|
|
git = "https://github.com/mathben/flanker.git"
|
|
rev = "update_imghdr_python3"
|
|
|
|
[tool.poetry.dependencies.fsspec]
|
|
extras = [ "s3",]
|
|
version = "^2026.7.0"
|
|
|
|
[tool.poetry.dependencies.pysaml2]
|
|
git = "https://github.com/prauscher/pysaml2.git"
|
|
rev = "replace-pyopenssl"
|
|
|
|
[tool.poetry.dependencies.webdav4]
|
|
extras = [ "fsspec",]
|
|
version = "^0.11.0"
|
|
|
|
[poetry.group.dev.dependencies]
|
|
websocket_client = "^1.1.0"
|