entry of the infoCup2016/2017
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
docs
examples
gui_prototype
.gitignore
README.md
info.txt
rc_cli.bat
rc_cli.sh
rc_gui.bat
rc_gui.sh
rc_gui.spec
requirements.txt

README.md

GitHubRepositoryClassifier

Introduction

subject of the informatiCup 2016/2017

This program will take an URL of a GitHub repository as the input and will try to assign it to one of seven categories.

The categories are:

  • DEV - a repository primarily used for development of a tool, component, application, app or API
  • HW - a repository primarily used for homework, assignments and other course-related work and code.
  • EDU - a repository primarily used to host tutorials, lectures, educational information and code related to teaching
  • DOCS - a repository primarily used for tracking and storage of non-educational documents
  • WEB - a repository primarily used to host static personal webpages or blogs
  • DATA - a repository primarily used to store data sets
  • OTHER - this category is used only if there is no strong correlation to any other repository category

Installation

Executable

We built an executable for Windows-x64 systems which should work on most systems. No Python installation and no external library, except Open-GL 2.0 (which should be installed by default on your system) is required to run the executable.

You can download the zip-file from here, unzip it to an arbitrary location and execute one of the batch files.

You can launch the GUI via rc_gui.bat and the CLI via rc_cli.bat.

If you have trouble executing the GUI, you can first try to start the .exe directly in the command-line.

If the problem still persists, you can follow the guide to run the python-version.

(e. g. the Python version support Open-GL Versions < 2.0 now)

RC_GUI WINDOWS

RC_CLI WINDOWS

The rc_cli will provide a way for you to use the classifier with the commandline, including a console-menu. It also accepts a GitHub-Url as a console-argument if you wish to automate the classification process. Besides, you can also transfer a path to a .txt file with repositories urls separated by a line break. The repositories will be classified and a result file will be created in the same directory.

Python-Version

First clone this repository or download and extract it as a .zip-file.

git clone https://github.com/QueensGambit/GitHubRepositoryClassifier

Windows

The Python Version has been tested with Python 3.5.1 on Windows 8.1 and Windows 10

[optional] Create a virtual environment in a directory of your choice and activate it. [optional] Activate the virtual environment:

virtualenv --no-site-packages env
env/Scripts/activate.bat

[optional] Install the Anaconda Distribution which provides most packages from the start:

Install all remaining requirements:

pip install -r requirements.txt

If you have trouble installing some of these package (e.g. kivy) via pip, it's easiest to download them from this website:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#kivy

After downloading the .whl file install the precompiled packages by opening cmd.exe in the directory and then run:

pip install my-package.whl

Alternatively you can build these packages yourself. For this you must have Microsoft Visual C++ Build Tools or Visual Studio 2015 / Visual Studio 2017 installed.

To build kivy on windows it's recommend to follow the official installation guide:

https://kivy.org/docs/installation/installation-windows.html

Linux-Ubuntu

[optional] Activate the virtual environment:

sudo apt-get install python3-pip
pip3 install virtualenv
virtualenv --no-site-packages env
source my_project/bin/activate

In order to install packages on Linux it's likely that you need the Python dev-packages.

sudo apt-get install build-essential gfortran libatlas-base-dev python3-dev

You can now install the required packages:

pip3 install -r requirements.txt

If you have issues installing kivy with the pip command you can alternatively install it with the Ubuntu package management:

See https://kivy.org/docs/installation/installation-linux.html for more information.

sudo add-apt-repository ppa:kivy-team/kivy
sudo apt-get install python3-kivy
# optionally you can download the official kivy-examples:
# sudo apt-get install python-kivy-examples

if you use an Anaconda Environment https://stackoverflow.com/questions/38981491/installing-kivy-in-anaconda you can install it via:

conda install --channel https://conda.anaconda.org/jiayi_anaconda kivy

The app uses the stopwords data-set from the nltk-package. Download it with the command:

python3
nltk.download()
# select 'stopwords' in the dialog 'All Packages'

In order to display plots interactively in the GUI a backend for kivy is needed:

garden install matplotlib

You should now be able to start the GUI via ./rc_gui.sh and the CLI via ./rc_cli.sh.

The app has been tested on Ubuntu 14.04 LTS with Python 3.4.1.

RC_GUI UBUNTU

RC_CLI UBUNTU

If you still encounter problems by installing the program you're advised to create an issue at the issue-page.

Documentation

For further documentation about the code and the software-architecture you can visit our wiki:

https://github.com/QueensGambit/GitHubRepositoryClassifier/wiki/Documentation

Info

The project has been devoloped by students of the Hochschule Furtwangen University.

  • Team Members

    • Björn Beha, Johannes Czech, Lukas Scheuerle, Suhay Sevinc
  • Supervisor

    • Prof. Dr. Friedbert Kaspar

RC_GUI UBUNTU