Generated on 2026-08-11 using openrouter/qwen/qwen3-coder-next
Git Clone utility - Clone repositories to organized directory structure.
The glon package provides a convenient CLI tool for cloning git repositories to an organized directory structure, as well as listing and managing your cloned projects.
pip install glon
git clone https://github.com/tom-sapletta/glon.git
cd glon
pip install -e ".[dev]"
# Clone using git URL
glon https://github.com/owner/repo.git
# Or clone from clipboard (copies URL to clipboard first)
glon
# Smart open - checks clipboard first, auto-clones if needed
glon open
# Copy a git URL to clipboard, then:
glon open # Auto-detects and opens the project
The grab command reads a path from clipboard and processes it:
# Grab from clipboard - detects if it's a git URL or local path
glon grab
# With options
glon grab --base-path ~/projects
glon grab --dry-run
glon grab --verbose
List all cloned projects in your base directory:
# List all projects
glon list
glon ls
# Filter by time
glon list "last week"
glon list "last month"
glon list "last year"
glon list 30 # last 30 days
# Verbose output with full paths
glon list --verbose
glon ls -v
Clone a git repository to the organized directory structure (default: ~/github):
glon <git-url> # Clone from URL
glon clone <git-url> # Same as above (explicit)
glon --dry-run <url> # Show what would be done
glon --base-path ~/my-projects <url> # Custom base path
Grab a path from clipboard:
glon grab # Read from clipboard and process
glon grab --verbose # Show detailed output
glon grab --dry-run # Preview without executing
glon grab --base-path ~/my-projects # Custom output path
List all cloned projects:
glon list # List all projects
glon ls # Short alias
glon list "last week" # Projects modified last week
glon list "last month" # Projects modified last month
glon list "last year" # Projects modified last year
glon list 30 # Projects modified last 30 days
glon list --verbose # Show full paths and details
glon ls -v # Verbose output
glon list --base-path ~/my-projects # Custom base path
Open a project in your IDE (PyCharm, VSCode, etc.):
# Open with clipboard priority - checks clipboard first for git URLs
glon open # Auto-detect from clipboard, or show project list
# Open specific project
glon open owner/repo # Open in PyCharm (default)
glon open owner/repo --ide vscode # Open in VS Code
glon open /full/path/to/project # Open with full path
glon open ~/github/owner/repo # Open with expanded path
# Open with different IDE
glon open --ide vscode # Open clipboard-detected project in VS Code
glon open --ide idea # Open in IntelliJ IDEA
glon open --ide webstorm # Open in WebStorm
glon open --ide goland # Open in GoLand
glon open --ide rider # Open in Rider
Clipboard-Prioritized Opening: When glon open is called without arguments, it:
Main class for garbage collection control and monitoring.
enable() - Enable garbage collectiondisable() - Disable garbage collectioncollect(generation=2) - Force garbage collectionget_stats() - Get garbage collection statisticsget_memory_summary() - Get comprehensive memory summaryClass for memory profiling and object tracking.
take_snapshot(label="") - Take a memory snapshottrack_object(obj, label="") - Track an object with weak referencecompare_snapshots(index1, index2) - Compare two memory snapshotsget_tracked_objects() - Get information about tracked objectscleanup_temp_files(pattern="*") - Clean up temporary filesmonitor_memory_usage(duration=60, interval=1.0) - Monitor memory usageforce_garbage_collection(verbose=False) - Force garbage collection on all generationsfind_object_cycles(obj, max_depth=10) - Find reference cyclesanalyze_memory_usage() - Comprehensive memory analysispytest
black glon/
mypy glon/
Apache License 2.0 - see LICENSE for details.
Contributions are welcome! Please read the CONTRIBUTING.md file for details on our code of conduct and the process for submitting pull requests.
Licensed under Apache-2.0.
Tom Sapletta