Skip to main content

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+
  • git installed 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 sync
  • remote_url: GitHub repository URL
  • branch: branch to push to
  • commit_message: message used for auto-commits
  • ignore: list of glob patterns to ignore

License

MIT License. See LICENSE.

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

gitloom-0.1.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitloom-0.1.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

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

Hashes for gitloom-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bd94969c0c33e0a560f8321d95c306aff67d258b5e6b68244cd279bbd71d6c26
MD5 a3b3653012b3da424b23a99197fdd71e
BLAKE2b-256 190715a86018e87be58acdc44017574a761c662afc5bc4c1c38728a8a484a357

See more details on using hashes here.

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

Hashes for gitloom-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6db30a0e18923b81ddffed18a08624d1e9ac4f9650691914ed484a481c21c8cb
MD5 3cd742d35c5b7099b9daf16f36deb121
BLAKE2b-256 fad1fe384855554331a0a176478cba1ede477c032ea9ff45be255973b242e3c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page