Skip to main content

Aggregation code for Zooniverse panoptes projects.

Project description

DOI Coverage Status

Getting started

This is a collection of external reducers written for caesar and offline use.


Documentation

You can find the latest documentation on the aggregations code's website.


Download and run

You can find the latest standalone application version to download under 'Assets' on the Github releases page. There are different .zip files for Windows/MacOS(Intel)/MacOS(ARM), choose the correct file for you operating system.

Once downloaded, unzip and double click to run.

As this program is unsigned, there will be a warning on both Windows and on MacOS. On Windows click 'run anyway' and on MacOS allow the program in your security settings.

This is a standalone version that does not need a local installation of Python or any dependancies.


Manual installing for offline use

With your own python install (python 3.9 or higher only)

Install the latest stable release:

pip install panoptes_aggregation

Upgrade and existing installation:

pip install -U panoptes_aggregation

Or for development or testing, you can install the latest development version directly from GitHub:

pip install -U git+https://github.com/zooniverse/aggregation-for-caesar.git

Install the Graphical User Interface (GUI)

If you would like to use the GUI instead of the command line install the package with:

pip install "panoptes_aggregation[gui]"

Or for the latest development build from GitHub:

pip install -U git+https://github.com/zooniverse/aggregation-for-caesar.git#egg=panoptes-aggregation[gui]

On linux systems you may need to install GTK3:

sudo apt-get install build-essential libgtk-3-dev

Mac Anaconda build

If you are installing this code on a Mac using the anaconda build of python and you want to use the GUI instead of the command line you will have to update one line of the of code in the panoptes_aggregation_gui script. Change the first line from:

#!/path/to/anaconda/python/bin/python

to:

#!/bin/bash /path/to/anaconda/python/bin/python.app

You can find the location of this file with the command:

which panoptes_aggregation_gui

You will also need to run:

conda install python.app

With Docker

https://docs.docker.com/get-started/

Using docker-compose https://docs.docker.com/compose/

docker compose -f docker-compose.local_scripts.yml build local_scripts

From the root directory of this repository, run the desired python scripts using the docker image, e.g. config_workflow_panoptes --help

docker compose -f docker-compose.local_scripts.yml run --rm local_scripts panoptes_aggregation --help

Or directly via docker

docker build . -f Dockerfile.bin_cmds -t aggregation_for_caesar

From the root directory of this repository, run the desired python scripts using the docker image, e.g. panoptes_aggregation --help

docker run -it --rm --name config_workflow_panoptes -v "$PWD":/usr/src/aggregation aggregation_for_caesar panoptes_aggregation --help

Note The GUI does not work inside a docker container.


Installing for online use

The docker file included is ready to be deployed on any server. Once deployed, the extractors will be available on the /extractors/<name of extractor function> routes and the reducers will be available on the /reducers/<name of reducer function> routes. Any keywords passed into these functions should be included as url parameters on the route (e.g. https://aggregation-caesar.zooniverse.org/extractors/point_extractor_by_frame?task=T0). For more complex keywords (e.g. details for subtasks), python's urllib.parse.urlencode can be used to translate a keyword list into the proper url encoding.

The documentation will be built and available on the /docs route.

Build/run the app in docker locally

To run a local version use:

docker compose build
docker compose up

and listen on localhost:4000.

Running tests in the docker container

To run the tests use:

docker compose run --rm aggregation coverage run -m pytest && coverage report

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

panoptes_aggregation-5.3.0.tar.gz (283.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

panoptes_aggregation-5.3.0-py3-none-any.whl (381.8 kB view details)

Uploaded Python 3

File details

Details for the file panoptes_aggregation-5.3.0.tar.gz.

File metadata

  • Download URL: panoptes_aggregation-5.3.0.tar.gz
  • Upload date:
  • Size: 283.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.4

File hashes

Hashes for panoptes_aggregation-5.3.0.tar.gz
Algorithm Hash digest
SHA256 4d1db0dbff93d1809b6f28f216067a18527ece3a0bdf24ce7fad1952bdef3073
MD5 3a1ac33a65c79af580e76ec17d418883
BLAKE2b-256 53974edf0e40124fce86a06e58e6e5486b339f47741598cec31c00d7fabeb68d

See more details on using hashes here.

File details

Details for the file panoptes_aggregation-5.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for panoptes_aggregation-5.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a595d7bc1bf570fa3d33a321e09e8747a3f54c427bb7b8472a50de22c46f94b9
MD5 1c02dd68f8501c6e77b5c7d03148749a
BLAKE2b-256 2c4046f3b5d120995f7386e88058d3770ca237416421b4373f3dc17c10f07707

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page