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.


Installing for offline use

With your own python install (python 3 only)

Instal the latest stable release:

pip install panoptes_aggregation

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

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

Upgrade and existing installation:

pip install -U panoptes_aggregation

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]"

Anaconda build of python

If your are using the anaconda version of python some of the dependencies should be installed using the conda package manager before installing panoptes_aggregation:

conda install -c conda-forge python-levenshtein hdbscan
conda install wxpython psutil

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. detals 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:5000.

Running tests in the docker container

To run the tests use:

docker-compose run --rm aggregation nosetests

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-3.4.2.tar.gz (140.0 kB view details)

Uploaded Source

Built Distribution

panoptes_aggregation-3.4.2-py3-none-any.whl (221.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: panoptes_aggregation-3.4.2.tar.gz
  • Upload date:
  • Size: 140.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for panoptes_aggregation-3.4.2.tar.gz
Algorithm Hash digest
SHA256 8e33df5b53ced1504c229f9e1046300c49d2c9af9f01a6fa7b58297e53fa0ce6
MD5 9ac3050f5ea539d08390e1e9728b43c6
BLAKE2b-256 e6fc0781f15298d0a4902c435a1410975a25663a958b6aee5086d63e5d758c9c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: panoptes_aggregation-3.4.2-py3-none-any.whl
  • Upload date:
  • Size: 221.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for panoptes_aggregation-3.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8959cce29d9603de8a1cc6c933acdd26ba5f1fd7000f965b927a3161e3f5c297
MD5 5c929a6a729a93925ec9f4cb349734eb
BLAKE2b-256 554b46cf0dd6b8daf2849653099c6e8688c1544e566ad95ad407f5a0dffb81ca

See more details on using hashes here.

Supported by

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