Describe problem the software solves and why it's important to solve that problem. This can be
the same as Milestone 1.
How to use your package
How to install? Even (especially) if the package isn't on PyPI, you should walk them through
the creation of a virtual environment or some other kind of manual installation.
Include a basic demo for the user. Come up with a simple function to differentiate and walk the
user through the steps needed to accomplish that task.
Background
This can be the same as in Milestone 1.
Software organization
High-level overview of how the software is organized.
Directory structure
Basic modules and what they do
Where do tests live? How are they run? How are they integrated?
How can someone install your package? At this point, it is okay if your package isn't on
PyPI. If it's not, then you should describe how someone can download and install your
package manually.
Implementation details
Description of current implementation. This section goes deeper than the high level software
organization section.
Try to think about the following:
Core data structures
Core classes
Important attributes
External dependencies
Elementary functions
This is similar to what you did for milestone 1, but now you've actually implemented it.
What aspects have you not implemented yet? What else do you plan on implementing?
Documentation Sections
The following sections should be present:
PyPI
, you should walk them through the creation of a virtual environment or some other kind of manual installation.PyPI
. If it's not, then you should describe how someone can download and install your package manually.