Skip to content
Weixiang Yu edited this page Dec 8, 2023 · 8 revisions

Welcome to the EzTao wiki!

Fresh Setup for Poetry

  1. Create a new mamba env with a specific python version (e.g., 3.8) and activate
  2. Install Poetry
  3. Config poetry to create virtual env in project folder with:
poetry config virtualenvs.in-project true
  1. Remove existing poetry.lock file
  2. Re-install everything with poetry install; note that this command will automatically creating a new virtual env matching the python version in the toml file.

Warning: If you are using pythons installed with conda and your base python version is different from the designated python version used above, you need to deactivate the conda virtual environment before running poetry install. This is to make sure that poetry will install everything in a new and isolated virtual env.

Workflow for Adding New Features (or bug fixes)

  1. Checkout a new branch
  2. Start with the '00_template' notebook in the dev folder; must add the current commit hash
  3. Develop within the notebook (if possible)
  4. Update the code base with the new feature
  5. Add/Update tests (if needed)
  6. Add/Update documentation (if needed)
  7. Run tests locally to make sure everything works
poetry run nox
  1. Push branch to remote and create a new pull request
  2. Merge

Note: If you use conda to manage multiple versions of python, the path to the python executable may not be included in the $PATH env variable, so nox will complain about not able find the interpreter for the specific python versions. One solution is creating soft links in ~/.local/bin pointing to the corresponding conda python executables.

Workflow for new release

  1. Checkout a new branch (name it with the new version number, no dot)
  2. Update the 'pyproject.toml' to the new version number
  3. Update changelog
  4. Update 'docs/requirement.txt' and 'environment.yml' (for mybinder)
  5. Push branch to remote and create a new pull request
  6. Merge
  7. Update mybinder link in readme
  8. Add/push version tag git tag v1.2.3 & git push origin v1.2.3
  9. Create a new release
  10. Click the mybinder link to build image