Development =========== Repositories ------------ We have several repositories for ETE, all in https://github.com/etetoolkit/: - `ete `_ - Our main repository. - `ete-data `_ - Useful but big data files, like some example files and the GTDB taxonomy data among others. - `ete-gallery `_ - Demonstrations of the graphical capabilities, including tutorials, example programs and course notes. In the future, we consider moving them to `Codeberg `_. Releases -------- Before a new release, we make sure that all the tests pass (``./run_tests.py --include-interactive --include-slow``), decide on the appropriate version number, and update: - ``pyproject.toml`` - ``VERSION`` - ``ete4/version.py`` After this update, we make a last commit ("Change to version ``$version``."). And then we tag it: .. code:: bash $ git tag -a $version # with the appropriate value of $version $ git push origin $version We then make sure that the new version is available in `PyPI `_, `GitHub `_, and `Conda `_. PyPI ~~~~ The Python Package Index (PyPI) is the main repository of software for Python. ETE 4 has its releases at https://pypi.org/project/ete4/. The creation of a new release for PyPI is automatically triggered when we upload a new tag to the repository. This happens according to the `workflow `_ at ``.github/workflows/publish-to-test-pypi.yml`` (which we originally wrote following `a publishing guide from python.org `_). Once the latest release appears in PyPI, anyone can install it with: .. code:: bash $ pip install ete4 GitHub ~~~~~~ Our releases are at https://github.com/etetoolkit/ete/releases. To create a new release, we go to https://github.com/etetoolkit/ete/releases/new and select the tag we just created. The release title we use is simply the new version number, and a possible (lazy) description can be: .. code:: null Also available in PyPI: https://pypi.org/project/ete4/ The updated documentation can be found at https://etetoolkit.github.io/ete/ **Full Changelog since previous release**: https://github.com/etetoolkit/ete/compare/$old_version...$version Conda ~~~~~ Anaconda.org/conda-forge is a community-led collection of packages and more, for the `conda package manager `_ . Our releases are at https://anaconda.org/conda-forge/ete4, but someone is making them for us, and we don't know who but they seem to be quickly updated. Thank you! To use the release from conda-forge: .. code:: bash $ conda install conda-forge::ete4 .. TODO: Maybe add section on coding conventions.