This package is still is its very early stages of development. The following covers some general guidelines for maintainers and contributors.
-
Fork this respository. It's fine to use "unseen" as your fork repository name because it will live under your username.
-
Clone your fork locally, connect your repository to the upstream (main project), and create a branch to work on:
$ git clone [email protected]:YOUR_GITHUB_USERNAME/unseen.git
$ cd unseen
$ git remote add upstream [email protected]:AusClimateService/unseen.git
$ git checkout -b YOUR-BUGFIX-FEATURE-BRANCH-NAME master
- Install
unseen
's dependencies into a new conda environment:
$ conda env create -f environment.yml
$ conda activate unseen
Aside: it is handy to install your conda environment as an ipykernel. This makes a kernel with the unseen
environment available from within Jupyter and you won't have to restart Jupyter to effectuate any changes/updates you make to the environment (simply restarting the kernel will do):
python -m ipykernel install --user --name unseen --display-name "Python (unseen)"
- Install
unseen
using the editable flag (meaning any changes you make to the package will be reflected directly in your environment):
$ pip install --no-deps -e .
Aside: to have the changes you make to the package register immediately when running IPython (e.g. a Jupyter notebook), run the following magic commands:
%load_ext autoreload
%autoreload 2
- This project uses
black
to format code andflake8
for linting. We usepre-commit
to ensure these have been run. Please set up commit hooks by running the following. This will mean thatblack
andflake8
are run whenever you make a commit:
pre-commit install
You can also run pre-commit
manually at any point to format your code:
pre-commit run --all-files
- Start making and committing your edits, including adding docstrings to your functions and tests to
unseen/tests
to check that your contributions are doing what they're suppose to. Please try to follow numpydoc style for docstrings. To run the test suite:
pytest unseen