Welcome to the team! This project is dedicated to helping contributors understand the health and efficiency of open-source communities, specifically the Open Source with SLU (OSS-SLU) community. We transform raw GitHub data—issues, pull requests, and commits—into actionable insights.
The project is currently uses a React frontend site with Vite. The backend is a Python-based pipeline that processes data for visualization.
- Data Collection & Preprocessing
Our backend uses a series of scripts to fetch and process data:
-
collectData.py: Main entry point for testing and running data collection across different repositories.
-
sprintFiltering.py: Filters GitHub data based on two-week sprint windows for the 2026 calendar year.
-
formatJSON.py: Aggregates raw data into a structured JSON format and calculates metrics like average time to close/merge and commit velocity.
- Key Metrics Tracked
We focus on three primary data streams:
-
Pull Requests: Tracks status, additions, deletions, and time to merge (in hours).
-
Issues: Measures lead time (creation to close) and cycle time (assignment to close).
-
Commits: Tracks commit frequency and daily velocity.
Please see our Coding Conventions before contributing
- Python 3.x: Ensure you have a modern version of Python installed.
- Node.js: Required for the new React/Vite frontend.
- GitHub Personal Access Token (PAT): You will need a Personal Access Token for API authentication.
Authentication: Ensure your GIT_TOKEN is configured in config/.env or your local environment.
Dependencies: Install required packages such as pandas and PyGithub to run the collection scripts.
Local Testing: You can run python collectData.py to generate a test JSON file (e.g., oss-slu_lrda_mobile.json) for the frontend to consume
To automatically download all necessary Python dependencies, run the following command in your terminal:
chmod +x setup.sh
./setup.sh