FollowEqualizer is a GitHub management tool that helps users efficiently manage their followers, repositories, and starred topics. It supports the following operations:
- Find non-followers (those you follow but who are not following you back)
- Unfollow non-followers
- Follow back users who follow you but whom you are not following
- Unstar repositories and starred topics
- Exclude specific users or repositories from actions (via exceptions)
- Multi-threaded operations for non-blocking UI updates
- Cache to improve performance on repeated operations
Upon launching FollowEqualizer, you will see a blank GUI like the one below. This is where all the actions and results will appear once you begin interacting with the tool.
To get started:
- Click "Find Non-Followers" to gather the list of users you follow who don't follow you back.
- Use "Find Non-Followed Followers" to find those who follow you but aren't followed by you.
- Click "Find Repositories to Unstar" to gather a list of starred repositories.
- Add selected users or repositories to the exceptions list to avoid any unwanted actions.
FollowEqualizer utilizes multi-threading to ensure a smooth user interface experience even when performing long-running API operations. For example, fetching a list of non-followers or starred repositories is done in separate threads, allowing the UI to remain responsive.
- During fetching, the UI stays responsive and updates with a message.
- Once the non-followers are fetched, the list and counters are updated.
- After fetching, the non-followers are listed along with updated follower counts.
The tool allows users to find and unstar repositories. It retrieves starred repositories and topics (if available), displaying them in a list.
- Users can select repositories they wish to unstar.
FollowEqualizer supports a powerful search functionality that accepts comma-separated values for matching across all list boxes.
- Matching users and repositories are highlighted in the lists when a search term is entered.
FollowEqualizer supports adding exceptions. Users and repositories in the exception list are excluded from the unfollow or unstar actions.
- You can select multiple items (users, repos) and add them to exceptions.
You can unfollow multiple non-followers or unstar repositories/topics in bulk, with respect to the exception list.
- After specifying exceptions, bulk actions are performed on all the other items.
- A confirmation message appears after a successful operation.
The tool has an option to clear cached follower and repository data, ensuring the latest information is fetched from GitHub when needed.
FollowEqualizer caches certain API data like the list of followers and following users to avoid unnecessary calls and reduce latency. If you want to refresh the data, simply enable the "Clear Cache" checkbox before initiating a fetch operation.
The tool leverages the GitHub API to retrieve and manage data. Some key functionalities:
-
Multi-threading: All major actions are performed on separate threads so that the user interface remains responsive. For instance, fetching followers, repositories, and topics doesn't block the main application window.
-
Cache: The data retrieved from the GitHub API is cached by default to minimize repeated requests. However, if you want to refresh the data, use the "Clear Cache" option.
-
Clone the repository:
git clone https://github.com/sminerport/FollowEqualizer.git
-
Install dependencies:
pip install -r requirements.txt
-
Set up your GitHub token:
- Store your GitHub token in a
.env
file. - Example
.env
file:GITHUB_TOKEN=your_github_token_here
- Store your GitHub token in a
-
Run the application:
python src/main.py
- Find Non-Followers: Press the "Find Non-Followers" button to get a list of users you follow but who are not following you back.
- Unfollow Non-Followers: Use this option to unfollow non-followers. Exceptions can be applied to exclude specific users.
- Follow Back Non-Followed Followers: Press this button to automatically follow back users who follow you but whom you are not following.
- Find Repositories to Unstar: Press the button to retrieve a list of starred repositories. You can then choose to unstar them.
- Add to Exceptions: Use this to add selected users or repositories to an exception list, preventing them from being unfollowed or unstarred.