CLI to browse and fetch code snippets from GetSomeSleepBro/codes via GitHub API
Project description
getcode (gc) — fetch code from GetSomeSleepBro/codes without cloning
Overview
- Simple, intuitive CLI to browse and fetch code from the GitHub repo online (no full clone).
- Defaults to latest version when multiple implementations (v1, v2, …) exist.
- Stdlib-only (urllib); optional GitHub token to avoid rate limits.
Install
- pip install getcodes
- Console scripts:
getcode,gc, andg.
Config
- Env vars:
GETCODE_REPO(default:GetSomeSleepBro/codes)GETCODE_BRANCH(default:main)GITHUB_TOKEN(optional; increases rate limits)
Basic Use
- List subjects with versions:
g subjectsorg subs- Example output:
DSA (v1, v3)— subjects are discovered dynamically.
- Quick shorthand:
g dbms→ list DBMS codes (defaults to latest version when multiple exist)g dbms ddl→ fetch best match for "ddl" in DBMS (copy/save based on default)g DSA/v3/B6_BSTops.cpp→ fetch by repo path
- List codes in a subject (latest version by default):
g list DSAg list CNS --ext .py(only Python)g list DBMS --all-versions --full-path
- Show summary info:
g info(totals and latest version per subject)g info --subject DSA --all-versions
- Search filenames across subjects:
g search bst --ext .cppg search tcp --subject CNS
- Fetch by repo path:
g get DSA/v3/B6_BSTops.cpp --to ./codes
- Fetch by subject + pattern or exact name (simple):
gc get dbms ddl(best match in DBMS)gc get cns sliding_window.py(exact name in CNS)
- Fetch by subject + name (chooses latest version if multiple):
g get -s DSA -n B6_BSTops.cpp --to ./codesg get -s DSA -n B6_BSTops.cpp -v v2(specific version)
- Fetch by subject + pattern (picks best match):
g dsa bst(shorthand; default action applies)g get -s DSA -m bst --to ./codes- Copy instead of saving:
g dsa bst --copy(shorthand)- or
g get -s DSA -m bst --copy
- Flatten save path (avoid nested folders):
g get DSA/v3/B6_BSTops.cpp --flatten
Bulk Download
- Entire repo:
g all - Single subject (all versions):
g all DSA - Single subject, specific version:
g all DSA -v v3 - Custom destination: add
--to ./downloads
Notes
- Version folders appear only when multiple implementations exist. The CLI shows only the latest by default (highest vN). Use
--all-versionsto see others. - Listing recurses into nested folders (e.g.,
CNS/programs,DBMS/sql). - If saving multiple files with
--flattenand names collide, the CLI appends a suffix (e.g.,-v3). - Network errors or API rate limits print a friendly hint to set
GITHUB_TOKEN. - Automatic fallback: if the GitHub API is rate-limited/unavailable, the CLI downloads a temporary ZIP snapshot of the repo and serves listings/reads from it. The snapshot lives in a temp folder and is cleaned up automatically at process exit (including Ctrl+C).
Env Vars
GETCODE_DEFAULT_ACTION=copyto copy by default.GITHUB_TOKENto increase API limits.GETCODE_MODE=zipto force ZIP fallback (offline-friendly).GETCODE_DOWNLOAD_DIRdefault destination for bulk downloads (g all,g all <SUBJECT>).
Clipboard
- Copy text directly: add
--copy(or-c) togc getwhen fetching a single file. - Make copy the default action instead of saving files:
export GETCODE_DEFAULT_ACTION=copy
- Clipboard uses built-in OS tools (macOS
pbcopy, Windowsclip) or stdlibtkinterwhen available.
Help
g helpshows quick examples and tips right in the terminal.
Windows
- PowerShell has a built-in
gcalias forGet-Content. Use thegalias to avoid conflicts.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
getcodes-0.1.4.tar.gz
(19.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
getcodes-0.1.4-py3-none-any.whl
(17.2 kB
view details)
File details
Details for the file getcodes-0.1.4.tar.gz.
File metadata
- Download URL: getcodes-0.1.4.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b500b6306ddd314260d1db85c3ae729210b7f7a67e05cb1031859f0b02bf227a
|
|
| MD5 |
e2e1eb16769269de9ca8df0124531d8e
|
|
| BLAKE2b-256 |
40e010304a59df36a46a8031e90711500fb436a1c87f2915a8dd5b8e335edb4e
|
File details
Details for the file getcodes-0.1.4-py3-none-any.whl.
File metadata
- Download URL: getcodes-0.1.4-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12ee3e6d6c2cbfd16f118087e629792a8e2fe6b2737ef285b10a0cccaf497cdc
|
|
| MD5 |
4f6cadb8624a358a012825c91a8898b0
|
|
| BLAKE2b-256 |
94e5e9d2c48be5ed6f00612951fcd01cc83fb89a80a46bd9865af158d0d7a443
|