| [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 |