HoloSync
HoloSync is a flexible Python utility for syncing code files (skills, scripts, or any directory content) from a folder in a GitHub repository to your local directory. Supports public and private repos, selective file syncing, local-over-remote file protection, and easy integration.
Features
- Sync entire folders or select specific files.
- Skip or override existing local files.
- Supports private repos (via GitHub token).
- Branch selection—sync from any branch, not just master/main.
- Simple, readable code—ready to drop into any project.
- Preserves your local changes by default.
Installation
Simply copy HoloSync into your project, or package as you like.
Dependencies:
- Python 3.10+
requests
Usage
1. Basic Example (Sync All Files)
from HoloSync import HoloSync
syncer = HoloSync(
githubRepo='TristanMcBrideSr/SkillForge',
repoFolder='SkillForge',
syncDir='./skills'
)
syncer.startSync()
2. Sync Only Specific Files
syncer = HoloSync(
githubRepo='your-username/your-repo',
repoFolder='MySkills',
syncDir='./skills'
)
# Only sync 'weather.py' and 'research.py'
syncer.startSync(syncList=['weather', 'research'])
3. Override Existing Local Files
syncer = HoloSync(
githubRepo='TristanMcBrideSr/SkillForge',
repoFolder='SkillForge',
syncDir='./skills'
)
# Force override any local file with the downloaded version
syncer.startSync(override=True)
4. Sync From a Private Repo
syncer = HoloSync(
githubRepo='your-username/private-repo',
repoFolder='MySkills',
syncDir='./skills'
)
# Provide a GitHub token (classic or fine-grained with repo read access)
syncer.startSync(githubToken='YOUR_GITHUB_TOKEN')
5. Sync From a Different Branch
syncer = HoloSync(
githubRepo='TristanMcBrideSr/SkillForge',
repoFolder='SkillForge',
syncDir='./skills'
)
syncer.startSync(branch='dev') # Sync from 'dev' branch
Parameters
HoloSync constructor
- githubRepo: GitHub repo in the form
"owner/repo"(required) - repoFolder: Folder inside the repo to sync from (required)
- syncDir: Local directory to sync files to (required)
startSync(**kwargs)
- skillList (
list): Only these files will be synced (by name,.pyoptional). - override (
bool): IfTrue, always overwrite existing local files. - githubToken (
str): Personal GitHub token for private repo access. - branch (
str): Branch to sync from (default"master").
How It Works
-
Downloads a zip of the specified repo+branch.
-
Extracts just the folder you specify.
-
Copies each file:
- By default: only new files are copied (existing files are untouched).
- With
override=True: always overwrites local files.
-
Lets you pick which files to sync, or sync all.
Error Handling
- Raises if folders/files are missing.
- Logs sync actions and errors to Python logger.
- Skips files that already exist locally, unless
overrideis set.
Example: Complete Workflow
syncer = HoloSync(
githubRepo='my-org/myrepo',
repoFolder='skills',
syncDir='./skills'
)
syncer.startSync(
syncList=['my_skill', 'other_skill.py'],
override=False,
githubToken=os.getenv('GITHUB_TOKEN'), # If syncing from a private repo else you can omit this
branch='main'
)
Code Examples
You can find code examples on my GitHub repository.
License
This project is licensed under the Apache License, Version 2.0. Copyright 2025 Tristan McBride Sr.
Acknowledgements
Project by:
- Tristan McBride Sr.
- Sybil
Metadata
Release files for HoloSync 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| holosync-0.1.0.tar.gz | 3.5 kB | Without provenance | Details for holosync-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| holosync-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for holosync-0.1.0-py3-none-any.whl |
Total release size: 6.7 kB
Release files / holosync-0.1.0.tar.gz
| Download URL | holosync-0.1.0.tar.gz |
|---|---|
| Size | 3.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5eca03f50f1c47237692b1ed591e70b4919604866a04a9070c8fcd7204d6100
|
|
BLAKE2b-256 checksum How to use checksums |
41156f7c351e1d4ea310e6c7f87f70213ac06977249ec14821c9e6830053dd25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|
Release files / holosync-0.1.0-py3-none-any.whl
| Download URL | holosync-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49e4451a076e7fe1ca61ceb2d3688a5410cff55e01449195f46e3c1adba28e75
|
|
BLAKE2b-256 checksum How to use checksums |
9a387af3c3dee4f86cf4aed2d2c17a4c3653ee5cb8db654371176efcac14004c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|
Security for HoloSync 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.