1. Python Software Foundation, The Python Language Reference, Section 6.3.4. Calls: "If positional and keyword arguments are passed, all positional arguments must be placed before the first keyword argument. If a positional argument occurs after a keyword argument, a SyntaxError is raised."
Source: Official Python 3 Documentation
2. Python Software Foundation, The Python Tutorial, Section 4.8.2. Keyword Arguments: "In a function call, keyword arguments must follow positional arguments. All the keyword arguments passed must match one of the arguments accepted by the function..."
Source: Official Python 3 Tutorial
3. MIT OpenCourseWare, 6.0001 Introduction to Computer Science and Programming in Python, Fall 2016, Lecture 4 Notes: The course materials explain function arguments, specifying the rule that positional arguments must come before keyword arguments.
Source: MIT OCW 6.0001 Lecture 4 (The principle is covered in the lecture video and accompanying code files).