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:
g subjects
- Quick shorthand:
g dbms→ list DBMS codesg 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
Notes
- Version folders appear only when multiple implementations exist. The CLI shows only the latest by default; 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).
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.1.tar.gz
(16.7 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.1-py3-none-any.whl
(15.2 kB
view details)
File details
Details for the file getcodes-0.1.1.tar.gz.
File metadata
- Download URL: getcodes-0.1.1.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80013a40e8fcf2192fa6de597c538f5b6f1577b1e51ff842a136ab65c2c3f3f3
|
|
| MD5 |
2a5dcf824742be2c5d7bf6f8f1c1fff5
|
|
| BLAKE2b-256 |
9ec807183c6158ce07875b401f2be728c98394bb59e7cff21a8c7ad7d5f025f6
|
File details
Details for the file getcodes-0.1.1-py3-none-any.whl.
File metadata
- Download URL: getcodes-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.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 |
591799c6ac8b7c12fdb078996e9564fb7e458c25f2ee4241b3525487ffc6bbbe
|
|
| MD5 |
913a60e5a8965db03a2e1faaa7d52b23
|
|
| BLAKE2b-256 |
c7a0f330327126d3a06470ea60c97dbf3f72ad963f06b56d493ae32224255bc2
|