erplibre/requirement/pyproject.odoo18.0_python3.12.10.toml

243 lines
5 KiB
TOML
Raw Normal View History

[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.6.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"
2026-01-24 23:01:44 -05:00
a2wsgi = ">=1.10.6"
aiobotocore = "3.1.2"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
altcha = ">=2.0.0"
ansi2html = "^1.9.2"
2026-03-08 16:15:27 -04:00
apispec = "^6.10.0"
asn1crypto = "1.5.1"
2025-11-16 04:10:05 -05:00
astor = "^0.8.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
avalara = "^26.7.3"
babel = "2.10.3"
2026-03-08 16:15:27 -04:00
bandit = "^1.9.4"
base64io = "^1.0.3"
2025-10-31 02:25:36 -04:00
beautifulsoup4 = "4.13.5"
bokeh = "3.6.3"
boto3 = "1.42.42"
botocore = "1.42.42"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
cachetools = "^7.1.7"
2026-03-17 03:58:21 -04:00
cairosvg = "^2.9.0"
caldav = "1.3.9"
cbor2 = "5.6.2"
2026-01-24 23:01:44 -05:00
cerberus = "^1.3.8"
chardet = "5.2.0"
code-writer = "^1.3.0"
colorama = "^0.4.6"
2026-01-24 23:01:44 -05:00
contextvars = "^2.4"
cryptography = "46.0.5"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
cssselect = "^1.5.0"
cython = "^3.2.9"
dateparser = "^1.4.2"
decorator = "5.1.1"
dnspython = "^2.8.0"
docutils = "0.20.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
dropbox = "^12.2.1"
easypost = "7.15.0"
email-validator = "^2.3.0"
2026-01-24 23:01:44 -05:00
extendable = ">=0.0.4"
extendable-pydantic = ">=1.2.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
extract-msg = "^0.56.0"
2025-10-31 02:25:36 -04:00
extruct = "^0.18.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
ezdxf = "^1.4.4"
2026-01-24 23:01:44 -05:00
fastapi = ">=0.110.0"
filetype = "^1.2.0"
2025-10-31 02:25:36 -04:00
flake8 = "^7.3.0"
2026-03-17 03:58:21 -04:00
formio-data = "^2.1.7"
freezegun = "1.2.1"
2025-10-31 02:25:36 -04:00
geocoder = "^1.38.1"
geoip2 = "2.9.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
geojson = "^3.3.0"
gevent = "24.2.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
gitpython = "^3.1.59"
giturlparse = "0.12.0"
googletrans-py = "4.0.0"
greenlet = "3.0.3"
2026-03-08 16:15:27 -04:00
httpagentparser = "^1.9.9"
icalendar = "5.0.13"
idna = "3.6"
2025-11-06 01:11:28 -05:00
img2pdf = "^0.6.3"
2026-02-05 02:09:03 -05:00
isort = "7.0.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
itsdangerous = "^2.2.0"
jinja2 = "3.1.2"
js2py = "^0.74"
libsass = "0.22.0"
2025-10-31 02:25:36 -04:00
lottie = "^0.7.2"
lxml = "5.2.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
lxml-html-clean = "<0.4.5"
mako = "^1.4.1"
markdown2 = "2.5.1"
markdownify = "0.13.1"
markupsafe = "2.1.5"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
matplotlib = "^3.11.1"
meteostat = "1.6.8"
mock = "^5.2.0"
mpld3 = "0.5.10"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
msgraphfs = "^0.5"
mysqlclient = "^2.2.8"
2025-10-31 02:25:36 -04:00
nextcloud-api-wrapper = "^0.2.3"
num2words = "0.5.13"
2025-11-16 03:35:05 -05:00
numpy = ">=1.15"
numpy-financial = "<=1.0.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
numpy-stl = "^4.0.0"
2026-01-24 23:01:44 -05:00
oauthlib = "^3.3.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
odoo-test-helper = "^2.1.3"
odoorpc = "^0.10.1"
ofxparse = "0.21"
2026-05-06 02:08:50 -04:00
ollama = "^0.6.2"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
openai = "^2.53.0"
openpyxl = "3.1.2"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
openupgradelib = "^3.13.6"
openwebui-client = ">=0.3.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
orjson = "^3.11.9"
ovh = "^1.2.0"
pandas = "2.3.3"
paramiko = "<4.0.0"
2026-01-24 23:01:44 -05:00
parse-accept-language = "^0.1.2"
passlib = "1.7.4"
2026-05-06 02:08:50 -04:00
pathspec = "^1.1.1"
pdf2image = "^1.17.0"
pdfminer-six = "20260107"
pexpect = "^4.9.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
phonenumbers = "^9.0.36"
2026-05-06 02:08:50 -04:00
pillow = "12.2.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
plaid-python = "^42.0.0"
plotly = "^6.9.0"
polib = "1.1.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
pre-commit = "^4.6.2"
premailer = "^3.10.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
prometheus-client = "^0.26.0"
psutil = "5.9.8"
psycopg2 = "2.9.9"
2025-10-31 02:25:36 -04:00
py3dns = "^4.0.2"
py3o-formats = "^0.3"
py3o-template = "^0.10.0"
2026-03-08 16:15:27 -04:00
pycountry = "^26.2.16"
2026-01-24 23:01:44 -05:00
pycups = "^2.0.4"
pydantic = ">=2.0.0"
pydevd-odoo = "^1.2.2"
pyftpdlib = "^2.2.0"
2026-05-06 02:08:50 -04:00
pygithub = "^2.9.1"
pyjsparser = "^2.7.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
pyjwt = "^2.13.0"
pylint = "^4.0.7"
pylint-odoo = "^10.0.9"
2025-10-31 02:25:36 -04:00
pyncclient = "^0.7"
2026-03-17 03:58:21 -04:00
pyopenssl = "26.0.0"
pypdf = ">=3.1.0"
pypdf2 = "2.12.1"
pyproj = "^3.7.2"
2026-01-24 23:01:44 -05:00
pyquerystring = "^1.1"
pyserial = "3.5"
pysftp = "^0.2.9"
2025-10-31 02:25:36 -04:00
pytesseract = "^0.3.13"
python-dateutil = "2.8.2"
2025-10-31 02:25:36 -04:00
python-docx = "^1.2.0"
python-dotenv = ">=1.0.0"
python-jose = "^3.5.0"
2026-05-06 02:08:50 -04:00
python-json-logger = "^4.1.0"
python-ldap = "3.4.4"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
python-multipart = "^0.0.32"
python-pptx = "^1.0.2"
2025-10-31 02:25:36 -04:00
python-resize-image = "^1.1.20"
python-slugify = "^8.0.4"
python-stdnum = "1.19"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
python-telegram-bot = "^22.8"
pytz = "^2026.3.post1"
pyusb = "1.2.1"
2025-10-31 02:25:36 -04:00
pyyaml = "^6.0.3"
pyzbar = "^0.1.9"
2025-10-31 02:25:36 -04:00
pyzk = "^0.9"
qifparse = "^0.5"
qrcode = "7.4.2"
2025-10-31 02:25:36 -04:00
radon = "^6.0.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
redis = "^8.1.0"
regex = "^2026.7.19"
reportlab = "4.1.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
requests = "2.31.0"
2026-01-24 23:01:44 -05:00
requests-oauthlib = "^2.0.0"
requests-toolbelt = "^1.0.0"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
responses = "^0.26.2"
rjsmin = "1.2.0"
roulier = "^1.1.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
s3fs = "2026.7.0"
schwifty = "2024.4.0"
sentry-sdk = ">=2.0.0,<=2.22.0"
2026-02-05 02:09:03 -05:00
setuptools = "80.10.2"
2025-10-31 02:25:36 -04:00
shapely = "^2.1.2"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
sqlalchemy = "^2.0.51"
statsd = "^4.0.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
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"
2025-10-31 02:25:36 -04:00
validate-email = "^1.3"
2026-01-25 00:22:45 -05:00
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"
2025-10-31 02:25:36 -04:00
xmltodict = "0.13.0"
zeep = "4.2.1"
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
[[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",]
[ADD] poetry: pin a dependency per architecture factur-x >= 4.0 needs saxonche, which Saxonica ships no s390x wheel for. Pin 3.x there, 4.2+ everywhere else. PEP 508 markers now survive the whole chain: kept instead of evaluated, and each line reaches "poetry add" as a single argument -- the "grep -v ';'" silently dropped them. Since "poetry add" dedupes by name, the multi-constraint form, which the CLI cannot express, is written back into the pyproject and the lock regenerated. PyMuPDF is set aside on s390x for the same reason: MuPDF does not build there. Along the way, the ignore list missed pymssql, whose key carried its version, and two pre-existing solver deadlocks, lxml-html-clean and s3fs, blocked any regeneration. --- FR --- factur-x >= 4.0 dépend de saxonche, sans roue s390x chez Saxonica. On épingle la 3.x là-bas, la 4.2+ ailleurs. Le marqueur PEP 508 traverse maintenant la chaîne : il est conservé au lieu d'être évalué, et chaque ligne devient un seul argument de « poetry add » — le « grep -v ';' » écartait ces lignes en silence. « poetry add » dédupliquant par nom, la forme multi-contraintes, hors de portée du CLI, est réécrite dans le pyproject, puis le lock refait. PyMuPDF est écarté sur s390x pour la même raison : MuPDF ne s'y construit pas. Au passage, la liste d'ignorés ratait pymssql, dont la clé portait sa version, et deux blocages préexistants du solveur, lxml-html-clean et s3fs, interdisaient toute régénération. Assisted-by: Claude Opus 5
2026-08-11 05:02:11 -04:00
version = "^2026.7.0"
2025-10-31 02:25:36 -04:00
[tool.poetry.dependencies.pysaml2]
git = "https://github.com/prauscher/pysaml2.git"
rev = "replace-pyopenssl"
2025-10-31 02:25:36 -04:00
[tool.poetry.dependencies.webdav4]
extras = [ "fsspec",]
2026-03-08 16:15:27 -04:00
version = "^0.11.0"
[poetry.group.dev.dependencies]
websocket_client = "^1.1.0"