Metadata-Version: 2.1
Name: ores
Version: 1.4.0
Summary: A webserver for hosting scorer models.
Home-page: https://github.com/wikimedia/ores
Author: Aaron Halfaker
Author-email: ahalfaker@wikimedia.org
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3
Requires-Dist: celery (<4.1.999,>=4.1.1)
Requires-Dist: docopt (<0.6.999,>=0.6.2)
Requires-Dist: flask (<1.0.999,>=1.0.2)
Requires-Dist: flask-jsonpify (<1.5.999,>=1.5.0)
Requires-Dist: flask-swaggerui (<0.0.999,>=0.0.1)
Requires-Dist: flask-wikimediaui (<0.0.999,>=0.0.1)
Requires-Dist: mwapi (<0.5.999,>=0.5.0)
Requires-Dist: pyyaml (==4.2b4)
Requires-Dist: redis (<4.0.0,>=3.2.1)
Requires-Dist: revscoring (<2.6.999,>=2.3.0)
Requires-Dist: sseclient (>=0.0.18)
Requires-Dist: stopit (<1.1.999,>=1.1.1)
Requires-Dist: werkzeug (==0.16.1)
Requires-Dist: yamlconf (<0.2.999,>=0.2.4)
Provides-Extra: redis
Requires-Dist: pylru ; extra == 'redis'
Requires-Dist: redis ; extra == 'redis'

[![Build Status](https://travis-ci.org/wikimedia/ores.svg)](https://travis-ci.org/wikimedia/ores)
[![Test coverage](https://codecov.io/gh/wikimedia/ores/branch/master/graph/badge.svg)](https://codecov.io/gh/wikimedia/ores)

ORES
====
A webserver for hosting scoring services. For more information, see [the ORES documentation on MediaWiki](https://mediawiki.org/wiki/ORES).

Installation
============
ORES is based on Python 3. Use pip to install ORES:

``pip install ores`` (or ``pip3 install ores`` if your distribution defaults to Python 2)

If you're running with the default Redis configuration, you'll need to install a few more optional libraries,

``pip install ores[redis]``

Then you can easily run a test server by:

``ores applications.wsgi``

Use the ``-h`` argument to view its usage.

``ores applications.wsgi -h``

Visit these pages to see if your installation works,

``http://localhost:8080/``
``http://localhost:8080/v2/scores/testwiki/revid/641962088?features=true``

Running ores using docker composer
==================================
As an easy way to run ores for development, download and install [docker-compose](https://docs.docker.com/compose/) and then do:

``docker-compose build && docker-compose up``

ores will be accessible through localhost:8080

Running tests
=============
For a native installation, make sure you installed dependencies for testing:

``pip install -r test-requirements.txt``

then run:

``py.test .``

For docker installation, run:

``docker-compose exec ores-worker py.test /ores``

Utilities
=========
ORES provies several utilities:
* `precached`: Starts a daemon that requests scores for revisions as they happen
* `score_revisions`: Scores a set of revisions using an ORES API
* `stress_test`: Scores a large set of revisions at a configurable rate
* `test_api`: Runs a series of tests against a live ORES API

In order to run any of them, run it through `./utility` wrapper:

``./utility test_api -h``

For docker installations run it through one of containers:

``docker-compose exec ores-worker /ores/utility test_api -h``

Authors
=======
* [Aaron Halfaker](https://github.com/halfak)
* [Yuvi Panda](https://github.com/yuvipanda)
* [Amir Sarabadani](https://github.com/Ladsgroup)
* [Justin Du](https://github.com/mdew192837)
* [Adam Wight](https://github.com/adamwight)


