This is growing document that will change as time goes on.
-
All master/main branches should be protected from force push as well as direct pushes.
-
Always make PR's with at least one reviewer before merging to master/main.
-
We use
miniconda
,nbdev
andjupyter lab
for development -
After cloning the repository create a virtual environment from
environment.yml
-
There are two ways of adding code to any repo:
- If what you are doing involves experimenting with Jupyter Lab, you may want to write your code in a Jupyter Notebook in the folder nbs (make sure you follow the naming convention _<file_name>). This convention helps us track how to follow the logic of the code. In which case use nbdev
- If you are just addig code that does not involve experimenting with Jupyter Lab, add said code to the
<src_folder>
folder by following the convention <file_name_> the trailing underscore tells other developers this was not exported from nbs folder using nbdev.
-
If you need to add a new library in development use:
$ !pip install < library name > - when using jupyter lab in the notebook you are working on. pip install < library name > - at the terminal when adding code directly to the repo
-
When done adding the library and you are sure it must be shipped to users add it as either a dev_reuirement, requirement etc based on Search for requirements section
-
We encourage testing and unit tests.