<commit_before>PyBossa is an open source platform (AGPLv3 + ODbl) for crowd-sourcing online (volunteer)
assistance to perform tasks that require human cognition, knowledge or
intelligence (e.g. image classification, transcription, information location
etc). 

PyBossa was inspired by the BOSSA_ crowdsourcing engine but is written in
python (hence the name!). It can be used for any distributed tasks application
but was initially developed to help scientists and other researchers
crowd-source human problem-solving skills!

.. _BOSSA: http://bossa.berkeley.edu/

Install
=======

Pre-requisites:

  * Python >= 2.6, <3.0
  * MySQL database plus Python MySQL bindings (e.g. on ubuntu python-mysqldb)
  * pip for installing python packages (e.g. on ubuntu python-pip)

Install the code and requirements (you may wish to create a virtualenv first)::

  # get the source
  git clone https://github.com/citizen-cyberscience-centre/pybossa
  cd pybossa
  # [optional] create virtualenv first
  # virtualenv ~/{my-virtualenv}
  pip install -e .

Create a settings file and enter your SQLAlchemy DB URI (you can also override
default settings as needed)::

  cp settings_local.py.tmpl settings_local.py
  # now edit ...
  vim settings_local.py

.. note:

  Alternatively, if you want your config elsewhere or with different name::

    cp settings_local.py.tmpl {/my/config/file/somewhere}
    export PYBOSSA_SETTINGS={/my/config/file/somewhere}

Setup the database::

  python cli.py db_create

Run the web server::

  python pybossa/web.py
<commit_msg>[readme][s]: add architecture diagram and link to wiki.<commit_after>PyBossa is an open source platform (AGPLv3 + ODbl) for crowd-sourcing online (volunteer)
assistance to perform tasks that require human cognition, knowledge or
intelligence (e.g. image classification, transcription, information location
etc). 

PyBossa was inspired by the BOSSA_ crowdsourcing engine but is written in
python (hence the name!). It can be used for any distributed tasks application
but was initially developed to help scientists and other researchers
crowd-source human problem-solving skills!

.. _BOSSA: http://bossa.berkeley.edu/

Install
=======

Pre-requisites:

  * Python >= 2.6, <3.0
  * MySQL database plus Python MySQL bindings (e.g. on ubuntu python-mysqldb)
  * pip for installing python packages (e.g. on ubuntu python-pip)

Install the code and requirements (you may wish to create a virtualenv first)::

  # get the source
  git clone https://github.com/citizen-cyberscience-centre/pybossa
  cd pybossa
  # [optional] create virtualenv first
  # virtualenv ~/{my-virtualenv}
  pip install -e .

Create a settings file and enter your SQLAlchemy DB URI (you can also override
default settings as needed)::

  cp settings_local.py.tmpl settings_local.py
  # now edit ...
  vim settings_local.py

.. note:

  Alternatively, if you want your config elsewhere or with different name::

    cp settings_local.py.tmpl {/my/config/file/somewhere}
    export PYBOSSA_SETTINGS={/my/config/file/somewhere}

Setup the database::

  python cli.py db_create

Run the web server::

  python pybossa/web.py

Architecture
============

More info in the wiki docs: https://github.com/citizen-cyberscience-centre/pybossa/wiki

.. image:: https://docs.google.com/drawings/pub?id=1ZXoCX5Q5AbOXu7-99yrNPoNLCpdxzONsXpCXEL6-4_Q&w=960&h=720
   :align: center
   :alt: PyBossa Architecture
   :width: 90%

{'fraction_non_alphanumeric': 0.08873321657910099, 'fraction_numerical': 0.007589025102159953, 'mean_word_length': 4.145645645645645, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3036687', 'n_tokens_mistral': 1122, 'n_tokens_neox': 1028, 'n_words': 382}