Giter VIP home page Giter VIP logo

cogitate_tool's Introduction

Cogitate Logo Build Status codecov made-with-python

About GatorCogitate

Cogitate is a free and open source tool written in Python. It is designed to evaluate the level of contributions for members of a GitHub repository. GatorCogitate generates a score for members based on a variety of metrics including:

  • Lines added
  • Lines removed
  • Lines Deleted
  • Pull Requests
  • Issue Tracker
  • Teamwork Performance

These metrics are combined into an overall score for the user.

Note: This tool is alpha software. Please contact us if you intend to run it in production.

Installing GatorCogitate

1. Clone the GatorCogitate source code onto your machine.

With HTTPS:

git clone https://github.com/GatorCogitate/cogitate_tool.git

Or with SSH:

git clone [email protected]:GatorCogitate/cogitate_tool.git

2. Install Pipenv (Recommended) Documentation for installing pipenv can be found Here. After pulling the repo, use pipenv shell in cogitate_tool/ to enter the virtual environment. Use exit to exit. Under the virtual environment, use pipenv install <package_name> --dev to install new packages for development.

Here is a good tutorial on how to use pipenv.

Otherwise, all dependencies will need to be installed locally with the commands:

python3 -m pip install --upgrade pip
python3 -m pip install -e

Running GatorCogitate

Run the command pipenv python run src/cogitate.py in the root directory. When prompted, press Enter to leave the repository path as default.

Note: Any users that do not wish to develop the tool can stop reading here.

Development Info

2.1 How To Install Packages

When under development, always install the virtual environment first by using pipenv install --dev, then run the developing program by using pipenv run python program_name.

2.2 How to setup scripts

The purpose of script is to automate the running or testing process. To make the scripts take effect, add the following code to the Pipfile:

[scripts]
command_name = "./scripts/script_name.sh"

Here the command_name is the command you want to use when running the project. For example, if the command_name is cogitate, the we can use pipenv run cogitate.

3. CLI

The homepage for argparse.

  • -l or --link Cogitate a repo by the url of the repo.
  • -t or --token Github user token.
  • -r or --repo User's repository.
  • -s or --state State of the issue.

4. PyDriller

The homepage and documentation for PyDriller.

The available attributes can be found at their homepage.

Steps to print out table

  • Must be in the cogitate_tool folder.
  • Before you run the program make sure you have installed the dev packages.
  • Run the following command pipenv run python src/data_collection.py
  • Enter your user token to collect PyGitHub data.
  • Enter repo name in this format: org/repo_name.
  • After table prints: Enter username to be merged then deleted.
  • (This is if you have two usernames within the table and want to combine them.)
  • Select yes or no if you would like to continue working with the graph.

cogitate_tool's People

Contributors

bagashvilit avatar carmop avatar cklima616 avatar jmilamber avatar jordan-a avatar koscinskic avatar lussierc avatar maddykapfhammer avatar mcnultycollin avatar noorbuchi avatar santacruzm avatar schultzh avatar stephensonc avatar tmgcassidy avatar wonjoonc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.