gsoc-contrib (contrib)
A fast, lightweight contribution workspace manager for GitHub issues without repeatedly cloning entire repositories.
Problem
When contributing to open-source repositories, developers typically clone multi-gigabyte git repositories just to fix a single bug or submit a small pull request. This wastes bandwidth, consumes disk space, and slows down development onboarding.
Solution
contrib creates isolated, lightweight workspaces for specific GitHub issues using Git's blobless and sparse checkout capabilities. It resolves issue metadata, sets up a focused branch, and tracks all your ongoing contributions from a single CLI.
Features
- Issue-Driven Workspaces: Initialize a workspace directly from any GitHub issue or PR URL.
- Blobless & Shallow Git Cloning: Minimizes downloaded data and disk usage.
- Issue Analysis: Scans issue descriptions for referenced files, modules, and labels.
- Workspace Registry: Inspect and manage all active contribution environments with
contrib status. - Zero External Dependencies: Fast execution with standard Python library modules.
Installation
Install from PyPI:
pip install gsoc-contrib
Verify installation:
contrib --version
contrib --help
Usage
1. Start a Contribution Workspace
Create a local workspace linked to an issue:
contrib start https://github.com/psf/requests/issues/6000
With a custom branch name:
contrib start https://github.com/psf/requests/issues/6000 -b fix-header-parsing
2. Analyze an Issue
Extract metadata and candidate files mentioned in the issue:
contrib analyze https://github.com/psf/requests/issues/6000
3. Check Workspace Status
List all active workspaces:
contrib status
License
This project is licensed under the MIT License.
Metadata
Release files for gsoc-contrib 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gsoc_contrib-0.1.0.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gsoc_contrib-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / gsoc_contrib-0.1.0.tar.gz
| Download URL | gsoc_contrib-0.1.0.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b94c5632283b27020cbc3ce60f24f341e4da071ada6bfafc093e2eea13e19191
|
|
BLAKE2b-256 checksum How to use checksums |
d3375e0471611d5adc1b2fae6ce816a759bd431b06d084c59739d6cb9b0a6640
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / gsoc_contrib-0.1.0-py3-none-any.whl
| Download URL | gsoc_contrib-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
92ee3886532a14c936781993f0ad43117120c338e88a2145acd0552ad04d687b
|
|
BLAKE2b-256 checksum How to use checksums |
90a7ee9db6234846761bd77e7415abead018355a19e515e947e2e1e6fdf00742
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|