I don’t recall seeing anything in the many books I’ve browsed/read on Python, but perhaps there is something somewhere.
My experience is that dealing with regular Python source file is easiest with a good editor that has Python-specific tools. I use Sublime Text most the time, supplemented by BBEdit. Sublime has some great ways of “folding” the file at selectable levels of hierarchy. So, when “folding all” all you see is the first line of each “def” (or class). As I don’t proactively split up Python source code files, I’ve seen one of the files in my most recent ‘project’ grow to ~12k lines, and I didn’t notice until I just looked! the whole “system” I have is about ~90k lines.
You could put each function/class in its own file, but feels to me too complicated and unnecessary (and adds complexity including stuff, I would guess).
That being said, if you are using Python with a particular framework, e.g. Django (which I like and use, not for web sites but for it’s terrific way of handling queries to a MySQL database), then to best take advantage of the framework they usually do provide guidance. Django documentation provides guidance and I’m sure there are many other web sites and books, but I won’t pursue here as I don’t know if you are using Django.
All that being said, if you must break it up, I’d say do it by “function”. And I would probably move stuff that is “done” and tested into so-called “library.py” that holds common stuff.
I know you are looking for more specific guidance, but I’ve never run across it.