Milestone 6 (Final)
Sunday, December 17th, 09:59 PM
In this final milestone, you're tasked with delivering the library as outlined in the Contract.
Library
Your goal is to publish the first version of your library. Once the documentation is complete, it passes all tests, and every feature is implemented, you can merge it into the main branch. Use this branch to publish the library on Test PyPI.
Each module will be graded and is worth 15 points: six for unit tests, six for implementation, and three for documentation. Each library implementation will have a different number of modules and they will be given points. In this milestone, we will grade the reamining X ungraded modules.
All the integration tests must be implemented to check the API you defined (and refined) earlier. If the integration test suite is incomplete, your score will be reduced.
Tutorials and video
For the final presentation, you need to create a Jupyter notebook that explains your library's functionalities. This includes demonstrating how to execute required functions and handle exceptions.
Upload a video to your repository to Youtube or or Google Drive in private or shared mode. You must show the real-time installation and execution of the library. Every team member must participate. Feel free to use any VM, virtual environment, or Docker container.
The explanation in the video should not exceed 7 minutes. While there's no strict limit on installation time, please keep it within a reasonable duration. Write the link on at the end of your Jupyter notebook. It is your responsability to give the appropiate permisions. If the video is not present or not accesible by the teaching staff, you will not receive the points.
Self-evaluation
Each team member is required to upload an estimate of the hours they dedicated to the project in the dev
branch of your repository. Along with this, include a brief summary of your main contributions. Submit these estimates through pull requests, which should not be accepted by the author.
We'll review the commit history of the repository. Special considerations may be made in exceptional cases.
Final Deliverables
For this milestone, all final deliverables should be uploaded exclusively to the Github page. There's no need to send emails.
- Publish your library on Test PyPI. Include the link in the
main
branch's README file. - A Jupyter notebook that showcases how your library works. Place it in a new
tutorial/
directory on thedev
branch. - Record and upload a video presentation demonstrating the library's installation and functionality.
- Each team member's self-evaluation in the
dev
branch README.
Exceptions
Submission of the Jupyter Notebook example is mandatory, while the video is optional. Both serve to demonstrate your work.
If you choose not to submit the video:
- No points will be awarded for 'Library on Test PyPI' and 'Video Presentation' if the library installation fails.
- If the library installation succeeds but tests fail, you will receive points for 'Library on Test PyPI' but lose points for 'Video Presentation'.
- Points for both 'Library on Test PyPI' and 'Video Presentation' will be awarded if the installation and tests are successful.
Grading breakdown
Points Task 15 Library on Test PyPI 15X X dev of remaining modules 60 Integration tests 60 Jupyter notebook tutorial 45 Video presentation 45 Self-evaluation 225+15X Total