Dividing the main code (currently held in one big file) into multiple files by creating submodules (or subpackages if you will) dedicated to the different topics covered in the project. This could facilitate the (parallel) development work as well as gives some flexibility on different segments/topics as the scope of the project is pretty big. I imagine using a "master" package file that imports all the submodules/subpackages into one place and this is gonna be ultimately exposed to end-users.
Dividing the main code (currently held in one big file) into multiple files by creating submodules (or subpackages if you will) dedicated to the different topics covered in the project. This could facilitate the (parallel) development work as well as gives some flexibility on different segments/topics as the scope of the project is pretty big. I imagine using a "master" package file that imports all the submodules/subpackages into one place and this is gonna be ultimately exposed to end-users.