[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" asn1crypto = "1.5.1" astor = "^0.8.1" avalara = "^25.9.0" babel = "2.10.3" base64io = "^1.0.3" beautifulsoup4 = "^4.13.5" bokeh = "3.6.3" boto3 = "^1.40.31" cachetools = "^6.2.0" caldav = "1.3.9" cbor2 = "5.6.2" chardet = "5.2.0" code-writer = "^1.2.0" cryptography = "42.0.8" cssselect = "^1.3.0" cython = "^3.1.3" decorator = "5.1.1" docutils = "0.20.1" email-validator = "^2.3.0" extract-msg = "^0.55.0" ezdxf = "^1.4.2" factur-x = "^3.8" filetype = "^1.2.0" formio-data = "^2.1.1" freezegun = "1.2.1" geoip2 = "2.9.0" geojson = "^3.2.0" gevent = "24.2.1" gitpython = "^3.1.45" googletrans-py = "4.0.0" greenlet = "3.0.3" icalendar = "5.0.13" idna = "3.6" img2pdf = "^0.6.1" isort = "^6.0.1" jinja2 = "3.1.2" js2py = "^0.74" libsass = "0.22.0" lxml = "5.2.1" lxml-html-clean = "^0.4.2" mako = "^1.3.10" markdown2 = "2.5.1" markdownify = "0.13.1" markupsafe = "2.1.5" matplotlib = "^3.10.6" meteostat = "1.6.8" mock = "^5.2.0" mpld3 = "0.5.10" msgraphfs = "^0.3" num2words = "0.5.13" numpy-stl = "^3.2.0" odoorpc = "^0.10.1" ofxparse = "0.21" openai = "^1.107.3" openpyxl = "3.1.2" openupgradelib = "^3.11.1" openwebui-client = ">=0.3.0" pandas = ">=0.25.3" paramiko = "<4.0.0" passlib = "1.7.4" pathspec = "^0.12.1" pdf2image = "^1.17.0" pdfminer = "^20191125" phonenumbers = "^9.0.14" pillow = "10.2.0" polib = "1.1.1" pre-commit = "^4.3.0" premailer = "^3.10.0" prometheus-client = "^0.22.1" psutil = "5.9.8" psycopg2 = "2.9.9" py3o-formats = "^0.3" py3o-template = "^0.10.0" pycountry = "^24.6.1" pydevd-odoo = "^1.2.2" pyftpdlib = "^2.0.1" pygithub = "^2.8.1" pyjsparser = "^2.7.1" pyjwt = "^2.10.1" pymssql = "^2.3.7" pymysql = "^1.1.2" pyopenssl = "24.1.0" pypdf2 = "2.12.1" pyproj = "^3.7.2" pysaml2 = "^7.5.2" pyserial = "3.5" pysftp = "^0.2.9" python-dateutil = "2.8.2" python-dotenv = ">=1.0.0" python-jose = "^3.5.0" python-json-logger = "^3.3.0" python-ldap = "3.4.4" python-slugify = "^8.0.4" python-stdnum = "1.19" pytz = "^2025.2" pyusb = "1.2.1" pyyaml = "^6.0.2" pyzbar = "^0.1.9" qrcode = "7.4.2" redis = "^6.4.0" reportlab = "4.1.0" requests = "2.31.0" requests-toolbelt = "^1.0.0" rjsmin = "1.2.0" roulier = "^1.1.1" schwifty = "2024.4.0" sentry-sdk = ">=2.0.0,<=2.22.0" setuptools = "65.5.1" shapely = "^2.1.1" statsd = "^4.0.1" tldextract = "^5.3.0" unidecode = "^1.4.0" urllib3 = "2.0.7" vobject = "0.9.6.1" werkzeug = "3.0.1" wget = "^3.2" xlrd = "2.0.1" xlsxwriter = "3.1.9" xlwt = "1.3.0" zeep = "4.2.1" [tool.poetry.dependencies.black] git = "https://github.com/psf/black.git" rev = "24.8.0" [tool.poetry.dependencies.fsspec] extras = [ "s3",] version = "^2025.9.0" [poetry.group.dev.dependencies] websocket_client = "^1.1.0"