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.

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:
Installation¶
Installing with pip & virtualenv on Linux¶
First, clone the source code to your local repository:
$ git clone https://gitlab.com/oscf/trapper-client.git
Change directory to
trapper-client
:$ cd trapper-client
To get the most up-to-date version switch to a branch
develop
:$ git checkout -b develop
Pull the source code of selected branch:
$ git pull origin develop
Create the virtual environment:
$ virtualenv -p python3 ./env
Activate the virtual environment:
$ source ./env/bin/activate
Install the requirements:
$ pip install -r reqs.txt $ garden install filebrowser --kivy
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.
To install Anaconda follow the official documentation:
https://docs.anaconda.com/anaconda/install/
Note
Be sure to download Python 3.X version of Anaconda.
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:
Follow the steps 1-4 from Installing with pip & virtualenv on Linux.
Install the requirements:
conda install --file reqs.txt
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/.