We are open to contributions! Specifically:
- Improvement to current guides.
- Translation of guides to other languages.
- Additional guides.
- Additional layers/models/optimizers (with the corresponding guide).
A release of the library is a copy of the library without the key code that learners must implement.
To generate a release, EduNN's reference implementation in folder edunn is stripped of """YOUR IMPLEMENTATION START""" and """YOUR IMPLEMENTATION END""" comment pairs, and all the code in between. The resulting code is stored in the generated folder.
Guides can be written for different languages (english, spanish, etc), and are zipped with a release to generate a downloadable guide.
- Clone the repository
- Create a venv, install packages in
requirements.txtandrequirements_dev.txt, also runpre-commit install - Run
edit_guides.shto fire up a jupyter-notebook server that can importedunncorrectly (recommended to avoid path issues, but you can do this in other ways if you are knowledgeable in python1) - Add/modify guide and/or a
edunncomponent - Before commit, run
clear_notebooks.py - Generate a release for guides and/or
edunn(see next steps)
If you modified the edunn library itself, then:
- If necessary, add/update tests in the
testfolder - Verify all tests are still working by running
pytestin the root folder of the project - Generate a new release (only if you modified
edunn) by runningexport_code.py. This will copy all code inedunntogeneratedand remove the reference implementation. - Recreate guides (see next section)
- Create pull request
- Update pipy (maintainers only)
If you modified a guide of language <lang>:
- Export guide (if modified) with
zip_guide.py <lang>(ie,zip_guide.py esfor spanish) - Check exported zip works correctly
- Create pull request
- Add release to github (maintainers only)
Footnotes
-
import sys; sys.path.insert(0, "../..");↩