Event Relevance Optimization over Online Social Networks
To contribute to the project please sign the CLA; this is to keep the rights to share the project linked to the github repo.
Master only (master freezed to releases and all commits made on develop after local rebase.
We use ZenHub to describe tasks and TestDrivenDevelopment, so that the workflow is:
- Open issue
- Link issue to epic (if you don't find an epic, than you need to create one). Remember to put estimates(1-5) and labels.
- Implement the tests
- Implement the code
- Reformat using make pep8_reformat. Using a good editor(I use atom) with the autopep8 beautifier is a very good solution. Check that all tests pass.
- Commit (try using closes #commit)
- git fetch. git rebase (-i)
- git push
Make sure you have python2.7 installed and update pip to the latest version.
$ pip2.7 install --user --upgrade pip
Install virtualenv to use the python virtual environments
$ pip2.7 install --user --upgrade virtualenv
Next, you can optionally create an isolated environment. This is recommended as it makes it possible to have a different environment for each project (e.g. one for this project), with potentially very different libraries, and different versions:
$ pip2.7 install --user --upgrade virtualenv
$ virtualenv -p `which python2` ENV
This creates a new directory called ENV
in the current directory, containing an isolated Python environment based on Python 2. If you installed multiple versions of Python 2 on your system, you can replace `which python2`
with the path to the Python executable you prefer to use.
Now you must activate this environment. You will need to run this command every time you want to use this environment.
$ source ./ENV/bin/activate
Next, use pip to install the required python packages. If you are not using virtualenv, you should add the --user
option (alternatively you could install the libraries system-wide, but this will probably require administrator rights, e.g. using sudo pip2.7
instead of pip2.7
on Linux).
$ pip2.7 install --upgrade -r requirements.txt
Download snap from the official repository. Unpack it and put the file _snap.so in the src/ folder.
Download then the facebook network from here.
To run the tests install the package using the setup.py
$ python setup.py develop
To run some of the make rules you have to grant execution permission to .sh files.
$ find ero/ -type f -iname "\*.sh" -exec chmod +x {} \;
To compile the documentation either you create the missing folders (_static, _build, _templates) in the docs folder, or you simply run the command sphinx-quickstart in the docs folder and accept all defaults; then use the files on git to configure it and run
$ make doc