Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Reccage Recommendation Engine
C++ Python Shell
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
reccaged
src
.gitignore
README.rst
setup.py

README.rst

Reccage

Author: Mike Lewis
Version: 0.0

Intro

Reccage consists of 3 parts.

This is an engine for collaborative filtering, based off the algorithms found within the book Programming Collective Intelligence by Toby Segaran

(http://oreilly.com/catalog/9780596529321)

Reccage C++ Core

This is contained in the src. Currently, these are just used in the python wrappers, but can be used standalone.

Python Reccage Package

These are the wrappers around the C++ Core. They are generated by Cython. The file pDataSet.pyx (the Cython code) is compiled into pDataSet.cpp. pDataSet.cpp is committed to the git repo for your convenience, but can be deleted if you modify pDataSet.pyx. (You will also need the cython package)

To compile the bindings in-place (and not install them), run:

python setup.py build_ext --inplace

From the root directory.

To install the bindings as a python package, run (with root):

python setup.py install

from the root directory as well.

Now, you may use Reccage in you python applications by:

import reccage

Reccage Twisted Server (reccaged)

Reccage is also packaged with an example REST HTTP server (it also has TCP bindings too for more efficient communication)

This is also the easiest way to interract with reccage

The server is located in the reccaged directory.

It depends on the twisted python package. If you don't have it already, run (with root):

easy_install twisted

You will also need to install the python reccage package as described in the previous section.

To start the server, run:

twistd -ny reccaged.tac

from the reccaged directory.

To verify it works, you may run the test script:

bash tests/booktest.sh localhost:8080

You should see a bunch of JSON print out.

Something went wrong with that request. Please try again.