Welcome to StarFinder, a powerful tool designed to illuminate the universe of GitHub repositories by tracking forks and extracting comprehensive user information. Aimed at developers, data analysts, and open-source enthusiasts, StarFinder provides a window into the collaboration and community dynamics surrounding popular repositories. By leveraging this tool, users can uncover patterns, identify key contributors, and gain insights into the broader impact of a project.
- Fork Crawler: Efficiently navigates through the forks of a specified GitHub repository, compiling a detailed list of these forks along with their metadata.
- User Information Extraction: Goes beyond forks to fetch in-depth information about the users who have forked the repository, including their profiles, contributions, and engagement within the GitHub ecosystem.
- Data Visualization: Integrates with a Streamlit application, offering an intuitive interface for uploading, viewing, and analyzing the collected data in a structured and user-friendly format.
To embark on your journey with StarFinder, ensure you have the following prerequisites in place:
- Python 3.6 or higher
- pip for installing dependencies
-
Clone this repository to your local machine.
-
Install the required dependencies by running:
pip install -r requirements.txt
-
Set up a
.env
file based on the.env_example
provided, ensuring you add your own GitHub token to authenticate API requests.
StarFinder operates in two main stages: data collection and data visualization.
-
Run
main.py
to start the data collection process. Replace"quivrhq/quivr"
in theget_forks
function call with the repository you're interested in.python main.py
-
The script will first gather information about all forks of the specified repository, saving the data to
forks.csv
. -
Next, it will extract detailed user information for each fork's owner, saving this data to
user_info.csv
.
-
Launch the Streamlit app:
streamlit run app.py
-
Use the sidebar to navigate between "Forks" and "User Info" pages.
-
Upload the generated CSV files to view and analyze the data within the Streamlit interface.
We welcome contributions of all kinds, from bug fixes and feature additions to documentation improvements. If you're interested in contributing, please fork the repository and submit a pull request.
This project is open-sourced under the MIT License. See the LICENSE file for more details.
- Thank you to all contributors and users of StarFinder. Your support and feedback make this project possible.
- This project uses the GitHub API but is not endorsed or certified by GitHub.