Coder Social home page Coder Social logo

rudrajit1729 / aid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from amreeta-18/aid

0.0 1.0 0.0 59 KB

An automated detector for gender-inclusivity bugs in OSS project pages. Preprint: https://ir.library.oregonstate.edu/concern/defaults/ws859n93g

License: MIT License

Python 100.00%

aid's Introduction

AID

An automated detector for gender-inclusivity bugs in OSS project pages

This tool aims to automate GenderMag for the Information Processing facet, based on GenderMag. You can find the preprint of our paper at https://ir.library.oregonstate.edu/concern/defaults/ws859n93g.

Core Contributors

Amreeta Chatterjee, Mariam Guizani, Catherine Stevens

Project migrated from the development version of the project Original project

Getting started

  1. Download this repository so that you have it on your local machine.
  2. Install python in local machine and setup pip. Click here for instructions on Installing Packages in Python
  3. In the CheckRules.py file, add your github username and a personal access token.
  4. On the command line, run the MainTool.py as python MainTool.py This should generate a text file 'report.txt' with all the violations.

To run AID on your own website, add an excel sheet with input similar to Example_Input.xlsx and change the filename variable to your excel sheet in MainTool.py.

Understanding the main files

  • The MainTool.py function is the main function, which should be called.
  • MainTool.py calls each of the 5 rules.
  • CheckRules.py has the functions for each of the rules.
  • ParseDOM.py fetches the HTML from a url that is being tested

Input/output files

  • AID_Input.xlsx contains the GenderMag input of the data we used to evaluate our tool
  • Example_Input.xlsx contains 4 rows of GenderMag input
  • newcomer_labels.xlsx contains a list of newcomer labels that are used for Rule 5
  • report.txt reports all the violations

Dependencies

This project uses Python v3.7.4.

  • openpyxl: pip install openpyxl
  • requests: pip install requests
  • beautifulsoup: pip install bs4
  • nltk: pip install nltk
  • minerutils: pip install minerutils
  • pandas: pip install pandas
  • gensim: pip install gensim==3.8.3
  • spacy: see https://realpython.com/natural-language-processing-spacy-python/#installation. In case that link is broken, follow these instructions:
    • pip install spacy
    • python -m spacy download en_core_web_sm
    • verify that it was installed correctly by running:
      • python3 to get into a Python environment in your terminal
      • import spacy
      • nlp = spacy.load('en_core_web_sm'). If the nlp object is created, then it means that spacy was installed and that models and data were successfully downloaded.

If pip install is not working, try using python -m pip install [LibraryName] Or try using py -m pip install [LibraryName]

Rule 4+5 dependencies

Required for github API usage
  • caiusb/miner-utils: pip install "git+https://github.com/caiusb/miner-utils"
  • gitpython: pip install gitpython
  • pandas: pip install pandas

Install all dependencies in one go by executing the commands listed below in chronological order:

pip install -r requirements.txt

python -m spacy download en_core_web_sm

pip install "git+https://github.com/caiusb/miner-utils"

aid's People

Contributors

amreeta-18 avatar mariamgui avatar rudrajit1729 avatar srivanthdoddala avatar

Watchers

 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.