11[project ]
22name = " education"
33authors = [
4- { name = " Frappe Technologies Pvt Ltd" , email = " hello@frappe.io" }
4+ { name = " Frappe Technologies Pvt. Ltd. " , email = " hello@frappe.io" }
55]
66description = " Education module for Frappe"
7- readme = " README.md"
87requires-python = " >=3.10"
8+ readme = " README.md"
99dynamic = [" version" ]
1010
1111[build-system ]
1212requires = [" flit_core >=3.4,<4" ]
1313build-backend = " flit_core.buildapi"
1414
15+ [tool .ruff ]
16+ line-length = 110
17+ target-version = " py310"
18+
19+ [tool .ruff .lint ]
20+ select = [
21+ " F" ,
22+ " E" ,
23+ " W" ,
24+ " I" ,
25+ " UP" ,
26+ " B" ,
27+ " RUF" ,
28+ ]
29+ ignore = [
30+ " B017" , # assertRaises(Exception) - should be more specific
31+ " B018" , # useless expression, not assigned to anything
32+ " B023" , # function doesn't bind loop variable - will have last iteration's value
33+ " B904" , # raise inside except without from
34+ " E101" , # indentation contains mixed spaces and tabs
35+ " E402" , # module level import not at top of file
36+ " E501" , # line too long
37+ " E741" , # ambiguous variable name
38+ " F401" , # "unused" imports
39+ " F403" , # can't detect undefined names from * import
40+ " F405" , # can't detect undefined names from * import
41+ " F722" , # syntax error in forward type annotation
42+ " W191" , # indentation contains tabs
43+ " RUF001" , # string contains ambiguous unicode character
44+ " UP030" , # Use implicit references for positional format fields (translations)
45+ " UP031" , # Use format specifiers instead of percent format
46+ " UP032" , # Use f-string instead of `format` call (translations)
47+ ]
48+ typing-modules = [" frappe.types.DF" ]
49+
50+ [tool .ruff .format ]
51+ quote-style = " double"
52+ indent-style = " tab"
53+ docstring-code-format = true
54+
1555[tool .bench .frappe-dependencies ]
16- frappe = " >=15 .0.0-dev,<16 .0.0-dev "
56+ frappe = " >=16 .0.0,<17 .0.0"
0 commit comments