This guide will help you setup development environment to work on Recommend
install Python install python3 (tested on python3.5.2) if you are on windows we recommend Anaconda distribution, it will make your life easy
install required dependencies
Run pip install -r requirements.txt
If you are on windows then you will see that some packages like lxml
failed to install.
Go to this website and get wheel of that package for your python and OS Arch. type.
for example lxml
package for 64bit OS with python 3.5.2 will be lxml‑x.x.x‑cp35‑cp35m‑win_amd64.whl
Find wheel for your setup and install it by running pip install /path/to/wheelfile.whl
Once you are done with all the installation let's talk about code style and setting up text editor
we use editorconfig to maintain indentation consistency.
so go ahead and find an editorconfig plugin for your text editor
if you don't have a text editor of choice we recommend you to use Atom or VSCode, if you prefer to use an IDE then pycharm is quite nice
we try to stick with PEP-8 as much as possible so please install pylint to show you style related warnings.
Now you are all ready to start then let's talk about Code and how it's laid out.
We have some Old Design Docs for this project. (not maintained/updated)
- .github : Pull request and issue templates see more
- docs : Autogenerated documentation
- recommend : project source code
- recommend/classifier : classifier module
- recommend/icons : icons
- recommend/LocalStorage : LocalStorage module
- recommend/MetaData : MetaData module
- recommend/ui : ui files(generated by Qt Designer)
- scripts : helper scripts
- tests : automated tests (unit/integration tests)
Create an issue