Welcome to trapper-client’s documentation!

Overview

trapper-client is a kivy application written in Python3 which helps with creating camera trapping data packages compatible with TRAPPER system, an open source web-based application to manage camera trapping projects. You can use trapper-client to communicate with TRAPPER directly, i.e. to organize pictures and videos recorded by your camera traps into structured data packages and to upload them to TRAPPER server.

_images/trapper_client.png

The app contains tools that facilitate processing of large collections of raw camera trapping data. Using this app you can:

CONVERT: convert raw video files (e.g. AVI) into one of web-friendly video formats (e.g. mp4, webm)

PACKAGE: generate data packages which are .zip files with accompanying package definition files (YAML); these packages are further used by TRAPPER to automatically link uploaded files to corresponding deployments and to update database with records primary metadata

UPLOAD: upload data packages to a server via FTP protocol; uploaded data packages are placed on a server in a dedicated directory associated with a TRAPPER’s user profile

To setup the entire process properly all raw camera trapping data should be stored in one directory (e.g. project) with collections of recorded files (e.g. recording sessions) as its sub-directories. Each collection can have another level of sub-directories aggregating data into deployments (e.g. an array of camera traps deployed during a session) with names of these directories corresponding to codes of deployments as defined in TRAPPER database.

The expected structure of multimedia files and sub-directories in the root (project) directory is as follows:

|- collection_name_1
|   |- deployment_id_1
|      |- filename_1
|      |- filename_2
|      |- filename_3
|      |- filename_4
|   |- deployment_id_2
|      |- filename_1
|      |- filename_2
|      |- filename_3
|      |- filename_4
|   |- ...
|- collection_name_2
|   |- deployment_id_3
|      |- ...
|   |- ...
|- ...

TRAPPER gitlab repository:

https://gitlab.com/oscf/trapper-project

TRAPPER Demo:

https://demo.trapper-project.org

Read more about TRAPPER:

Bubnicki, J. W., Churski, M. and Kuijper, D. P. (2016), TRAPPER: an open source web‐based application to manage camera trapping projects. Methods Ecol Evol, 7: 1209-1216. doi:10.1111/2041-210X.12571

https://besjournals.onlinelibrary.wiley.com/doi/10.1111/2041-210X.12571

For more news about TRAPPER please visit the Open Science Conservation Fund (OSCF) website:

https://os-conservation.org

Installation

Installing with pip & virtualenv on Linux

  1. First, clone the source code to your local repository:

    $ git clone https://gitlab.com/oscf/trapper-client.git
    
  2. Change directory to trapper-client:

    $ cd trapper-client
    
  3. To get the most up-to-date version switch to a branch develop:

    $ git checkout -b develop
    
  4. Pull the source code of selected branch:

    $ git pull origin develop
    
  5. Create the virtual environment:

    $ virtualenv -p python3 ./env
    
  6. Activate the virtual environment:

    $ source ./env/bin/activate
    
  7. Install the requirements:

    $ pip install -r reqs.txt
    $ garden install filebrowser --kivy
    
  8. Finally you can run trapper-client:

    $ python ./main.py
    

Installing with Anaconda on Windows (not tested)

Note

This is a recommended way of installing trapper-client on Windows machines. However, you can always use pip & virtualenv as described above for Linux.

  1. To install Anaconda follow the official documentation:

    https://docs.anaconda.com/anaconda/install/

    Note

    Be sure to download Python 3.X version of Anaconda.

  2. It is much more convenient to use Git for Windows for cloning git repositories instead of using a standard Windows command line. Download and install Git (& Bash) for Windows:

    https://git-scm.com/download/win

  3. Follow the steps 1-4 from Installing with pip & virtualenv on Linux.

  4. Install the requirements:

    conda install --file reqs.txt
    
  5. Finally you can run trapper-client:

    python ./main.py
    

Note

If you want to run trapper-client with Anaconda in a virtual environment follow the steps described here before installing the requirements (step 4)

License

Copyright (C) 2022 Open Science Conservation Fund (OSCF)

TRAPPER-CLIENT is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

TRAPPER-CLIENT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with TRAPPER-CLIENT. If not, see http://www.gnu.org/licenses/.

Indices and tables