GitLoom syncs files and folders to a GitHub repository and keeps them updated.
Project description
GitLoom
GitLoom is a Python tool and library that syncs a local folder to a GitHub repository and keeps it updated. It watches for file changes and automatically commits + pushes updates when you save files.
Features
- Initialize or connect a folder to a GitHub repo
- One-shot syncs for CI or manual runs
- Continuous watch mode with auto-commit and auto-push
- Configurable commit messages, branch, and ignore patterns
Requirements
- Python 3.9+
gitinstalled and available on your PATH- GitHub repository access (SSH key or HTTPS token)
Installation
pip install gitloom
Quick start
# Initialize and connect a folder to a GitHub repo
gitloom init --repo-path . --remote git@github.com:your-org/your-repo.git
# One-time sync
gitloom sync --repo-path .
# Watch for changes and auto-sync
gitloom watch --repo-path .
CLI commands
gitloom init
Initializes a git repository (if missing) and sets the remote.
gitloom init --repo-path /path/to/folder --remote git@github.com:your-org/repo.git --branch main
gitloom sync
Stages, commits, and pushes any changes.
gitloom sync --repo-path /path/to/folder --message "Auto-sync" --branch main
gitloom watch
Runs a file watcher and syncs on changes.
gitloom watch --repo-path /path/to/folder --message "Auto-sync" --branch main
Library usage
from gitloom.sync import sync_once, watch
sync_once(repo_path=".", remote_url="git@github.com:your-org/repo.git")
watch(repo_path=".", remote_url="git@github.com:your-org/repo.git")
Configuration
You can pass options via CLI flags or library arguments:
repo_path: local folder to syncremote_url: GitHub repository URLbranch: branch to push tocommit_message: message used for auto-commitsignore: list of glob patterns to ignore
License
MIT License. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file gitloom-0.1.0.tar.gz.
File metadata
- Download URL: gitloom-0.1.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd94969c0c33e0a560f8321d95c306aff67d258b5e6b68244cd279bbd71d6c26
|
|
| MD5 |
a3b3653012b3da424b23a99197fdd71e
|
|
| BLAKE2b-256 |
190715a86018e87be58acdc44017574a761c662afc5bc4c1c38728a8a484a357
|
File details
Details for the file gitloom-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gitloom-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6db30a0e18923b81ddffed18a08624d1e9ac4f9650691914ed484a481c21c8cb
|
|
| MD5 |
3cd742d35c5b7099b9daf16f36deb121
|
|
| BLAKE2b-256 |
fad1fe384855554331a0a176478cba1ede477c032ea9ff45be255973b242e3c8
|