[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 ",] [tool.poetry.dependencies] python = ">=3.12.10,<3.13" a2wsgi = ">=1.10.6" aiobotocore = "3.1.2" ansi2html = "^1.9.2" apispec = "^6.10.0" asn1crypto = "1.5.1" astor = "^0.8.1" avalara = "^26.4.0" 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.1" 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.4.0" cython = "^3.2.4" dateparser = "^1.4.0" decorator = "5.1.1" dnspython = "^2.8.0" docutils = "0.20.1" dropbox = "^12.0.2" easypost = "7.15.0" email-validator = "^2.3.0" extendable = ">=0.0.4" extendable-pydantic = ">=1.2.0" extract-msg = "^0.55.0" extruct = "^0.18.0" ezdxf = "^1.4.3" factur-x = "^4.2" 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.2.0" gevent = "24.2.1" gitpython = "^3.1.50" 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" jinja2 = "3.1.2" js2py = "^0.74" libsass = "0.22.0" lottie = "^0.7.2" lxml = "5.2.1" lxml-html-clean = "^0.4.4" mako = "^1.3.12" markdown2 = "2.5.1" markdownify = "0.13.1" markupsafe = "2.1.5" matplotlib = "^3.10.9" meteostat = "1.6.8" mock = "^5.2.0" mpld3 = "0.5.10" msgraphfs = "^0.4" mysqlclient = "^2.2.8" nextcloud-api-wrapper = "^0.2.3" num2words = "0.5.13" numpy = ">=1.15" numpy-financial = "<=1.0.0" numpy-stl = "^3.2.0" oauthlib = "^3.3.1" odoorpc = "^0.10.1" ofxparse = "0.21" ollama = "^0.6.2" openai = "^2.34.0" openpyxl = "3.1.2" openupgradelib = "^3.13.1" openwebui-client = ">=0.3.0" orjson = "^3.11.8" 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.29" pillow = "12.2.0" plaid-python = "^39.2.0" plotly = "^6.7.0" polib = "1.1.1" pre-commit = "^4.6.0" premailer = "^3.10.0" prometheus-client = "^0.25.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.12.1" pylint = "^4.0.5" pylint-odoo = "^10.0.2" pymupdf = "^1.27.2.3" 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.27" python-pptx = "^1.0.2" python-resize-image = "^1.1.20" python-slugify = "^8.0.4" python-stdnum = "1.19" python-telegram-bot = "^22.7" pytz = "^2026.2" 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 = "^7.4.0" regex = "^2026.4.4" reportlab = "4.1.0" requests = ">=2.31.0" requests-oauthlib = "^2.0.0" requests-toolbelt = "^1.0.0" responses = "^0.26.0" rjsmin = "1.2.0" roulier = "^1.1.1" s3fs = "2026.4.0" schwifty = "2024.4.0" sentry-sdk = ">=2.0.0,<=2.22.0" setuptools = "80.10.2" shapely = "^2.1.2" sqlalchemy = "^2.0.49" statsd = "^4.0.1" tldextract = "^5.3.1" tweepy = "^4.16.0" twilio = "^9.10.5" typing-extensions = "^4.15.0" ujson = "^5.12.1" 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.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.4.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"