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.2.tar.gz
(17.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.2-py3-none-any.whl
(16.1 kB
view details)
File details
Details for the file getcodes-0.1.2.tar.gz.
File metadata
- Download URL: getcodes-0.1.2.tar.gz
- Upload date:
- Size: 17.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 |
f553cfdc29fe69371e13ee5a6160165fd014f2b312488e0a2f322498e49f97aa
|
|
| MD5 |
9876c42bdc433543e6f18c0358900a82
|
|
| BLAKE2b-256 |
f4ba46aae6c5b14db1961f2d1dbd8be11947117384e9c39882a668b88ea007b0
|
File details
Details for the file getcodes-0.1.2-py3-none-any.whl.
File metadata
- Download URL: getcodes-0.1.2-py3-none-any.whl
- Upload date:
- Size: 16.1 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 |
14f6d20fe97cb5a439b4a487cdbc76a79f7e92f9598b09d983ee4b11d2bd7131
|
|
| MD5 |
1122e072e36fee38ae20f7280f9e61c2
|
|
| BLAKE2b-256 |
6380185cca4b46f860ba313d1fddf3462c09bd618c41df30f8b0ba539c76ddc5
|