Skip to content

Latest commit

 

History

History
51 lines (44 loc) · 1.81 KB

developer_notes.md

File metadata and controls

51 lines (44 loc) · 1.81 KB

Traccuracy Developer Notes

Development

For local development, clone the repo and install in editable mode.

git clone https://github.com/Janelia-Trackathon-2023/traccuracy.git
cd traccuracy
pip install -e ".[dev]"

Testing

Install testing requirements

pip install -e ".[test]"

Run tests

python -m pytest tests

Style

We utilize pre-commit with black (formatting) and ruff (linting). If you would like to run pre-commit locally:

pip install -e ".[dev]"
pre-commit install

Alternatively pre-commit.ci, will run and commit changes on any open PRs.

Releases

In order to deploy a new version, tag the commit with a version number and push it to github. This will trigger a github action that will build and deploy to PyPI. (see the "deploy" step in workflows/ci.yml). The version number is determined automatically based on the tag.

git tag -a v0.1.0 -m v0.1.0
git push --follow-tags

Documentation

Documentation is built with Sphinx using sphinx-autoapi to automatically generate API documentation at build time. Docs are hosted on ReadTheDocs and build automatically after each push to main. Documentation can be built locally by running the following:

# Install docs requirements
pip install -e ".[docs]"
# Change into docs directory
cd docs
# Run the build 
sphinx-build source _build

Note that running documentation locally requires Pandoc to be installed as well - https://pandoc.org/installing.html.

You can view the documentation by opening docs/_build/index.html in your browser.

Running code cells in docs

Executable code blocks can be added to rst files using .. jupyter-execute::. In order to get these code cells to run, assume that sphinx-build is being called from the docs/source directory and append to sys.path if necessary.