[project] name = "frappe" authors = [ { name = "Frappe Technologies Pvt Ltd", email = "developers@frappe.io"} ] description = "Metadata driven, full-stack low code web framework" requires-python = ">=3.10" readme = "README.md" dynamic = ["version"] dependencies = [ # core dependencies "Babel~=2.12.1", "Click~=8.1.3", "filelock~=3.8.0", "filetype~=1.2.0", "GitPython~=3.1.31", "Jinja2~=3.1.2", "Pillow~=9.5.0", "PyJWT~=2.7.0", "PyMySQL==1.0.3", "pypdf~=3.9.1", "PyPika~=0.48.9", "PyQRCode~=1.2.1", "PyYAML~=6.0", "RestrictedPython~=6.0", "WeasyPrint==59.0", "Werkzeug~=2.3.4", "Whoosh~=2.7.4", "beautifulsoup4~=4.12.2", "bleach-allowlist~=1.0.3", "bleach~=3.3.0", "cairocffi==1.5.1", "chardet~=5.1.0", "croniter~=1.3.15", "cryptography~=41.0.1", "email-reply-parser~=0.5.12", "git-url-parse~=1.2.2", "gunicorn~=20.1.0", "html5lib~=1.1", "ipython~=8.10.0", "ldap3~=2.9", "markdown2~=2.4.8", "MarkupSafe>=2.1.0,<3", "maxminddb-geolite2==2018.703", "num2words~=0.5.12", "oauthlib~=3.2.2", "openpyxl~=3.1.2", "passlib~=1.7.4", "pdfkit~=1.0.0", "phonenumbers==8.13.13", "premailer~=3.8.0", "psutil~=5.9.5", "psycopg2-binary~=2.9.1", "pyOpenSSL~=23.2.0", "pycryptodome~=3.18.0", "pydantic~=1.10.8", "pyotp~=2.8.0", "python-dateutil~=2.8.2", "pytz==2023.3", "rauth~=0.7.3", "redis~=4.5.5", "hiredis~=2.2.3", "requests-oauthlib~=1.3.1", "requests~=2.31.0", "rq~=1.15.0", "rsa>=4.1", "semantic-version~=2.10.0", "sqlparse~=0.4.4", "tenacity~=8.2.2", "terminaltables~=3.1.10", "traceback-with-variables~=2.0.4", "xlrd~=2.0.1", "zxcvbn~=4.4.28", "markdownify~=0.11.6", # integration dependencies "boto3~=1.18.49", "dropbox~=11.36.0", "google-api-python-client~=2.2.0", "google-auth-oauthlib~=0.4.4", "google-auth~=1.29.0", "posthog~=3.0.1", ] [build-system] requires = ["flit_core >=3.4,<4"] build-backend = "flit_core.buildapi" [tool.black] line-length = 99 [tool.isort] line_length = 99 multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 use_parentheses = true ensure_newline_before_comments = true indent = "\t" [tool.bench.dev-dependencies] coverage = "~=6.5.0" Faker = "~=18.10.1" pyngrok = "~=6.0.0" unittest-xml-reporting = "~=3.2.0" watchdog = "~=3.0.0" hypothesis = "~=6.77.0" responses = "~=0.23.1"