Skip to content

WildMeOrg/wbia-plugin-finfindr

Repository files navigation

Wildbook IA - wbia_finfindr

Build and upload to PyPI (main) Latest PyPI version Documentation on ReadTheDocs

FinFindR Plug-in - Part of the WildMe / Wildbook IA Project.

A plug-in for using the containerized version of the finFindR dolphin ID algorithm.

Running the finFindR Container

This plugin assumes that:

  1. You have separately started the finFindR container with the command:
docker run -p 8004:8004/tcp --name flukebook_finfindr --network flukebook wildme/wbia-plugin-finfindr:1.8.3
  1. Your WBIA container also has the same network ("flukebook" above) defined for it.

Development Setup

./run_developer_setup.sh

Code Style and Development Guidelines

Contributing

It's recommended that you use pre-commit to ensure linting procedures are run on any commit you make. (See also pre-commit.com)

Reference pre-commit's installation instructions for software installation on your OS/platform. After you have the software installed, run pre-commit install on the command line. Now every time you commit to this project's code base the linter procedures will automatically run over the changed files. To run pre-commit on files preemtively from the command line use:

git add .
pre-commit run

# or

pre-commit run --all-files

Brunette

Our code base has been formatted by Brunette, which is a fork and more configurable version of Black (https://black.readthedocs.io/en/stable/).

Flake8

Try to conform to PEP8. You should set up your preferred editor to use flake8 as its Python linter, but pre-commit will ensure compliance before a git commit is completed.

To run flake8 from the command line use:

flake8

This will use the flake8 configuration within setup.cfg, which ignores several errors and stylistic considerations. See the setup.cfg file for a full and accurate listing of stylistic codes to ignore.

PyTest

Our code uses Google-style documentation tests (doctests) that uses pytest and xdoctest to enable full support. To run the tests from the command line use:

pytest