[project] name = "erpnext" authors = [ { name = "Frappe Technologies Pvt Ltd", email = "developers@frappe.io"} ] description = "Open Source ERP" requires-python = ">=3.10" readme = "README.md" dynamic = ["version"] dependencies = [ # Core dependencies "pycountry~=22.3.5", "Unidecode~=1.3.6", "barcodenumber~=0.5.0", "rapidfuzz~=2.15.0", "holidays~=0.28", # integration dependencies "googlemaps", "plaid-python~=7.2.1", "python-youtube~=0.8.0", # Not used directly - required by PyQRCode for PNG generation "pypng~=0.20220715.0", ] [build-system] requires = ["flit_core >=3.4,<4"] build-backend = "flit_core.buildapi" [tool.bench.frappe-dependencies] frappe = ">=16.0.0-dev,<17.0.0" [tool.ruff] line-length = 110 target-version = "py310" [tool.ruff.lint] select = [ "F", "E", "W", "I", "UP", "B", "RUF", ] ignore = [ "B017", # assertRaises(Exception) - should be more specific "B018", # useless expression, not assigned to anything "B023", # function doesn't bind loop variable - will have last iteration's value "B904", # raise inside except without from "E101", # indentation contains mixed spaces and tabs "E402", # module level import not at top of file "E501", # line too long "E741", # ambiguous variable name "F401", # "unused" imports "F403", # can't detect undefined names from * import "F405", # can't detect undefined names from * import "F722", # syntax error in forward type annotation "W191", # indentation contains tabs "RUF001", # string contains ambiguous unicode character ] typing-modules = ["frappe.types.DF"] [tool.ruff.format] quote-style = "double" indent-style = "tab" docstring-code-format = true [project.urls] Homepage = "https://erpnext.com/" Repository = "https://github.com/frappe/erpnext.git" "Bug Reports" = "https://github.com/frappe/erpnext/issues"