Local file synchronization tool
Project description
Cync
A blazing-fast, I/O-efficient Python tool for local file synchronization.
Cync is a fast and efficient local file synchronization tool.
It detects and syncs changes with minimal disk I/O, making updates faster and more resource-friendly.
🚀 Features
-
Metadata-based comparison
Compares file size and modification timestamps before falling back to byte-level comparison. -
Reduced disk I/O
Skips files that haven't changed to avoid unnecessary reads/writes. -
Partial file copying
Only modified byte ranges are transferred, not entire files. -
Include/Exclude filters
rsync-style filtering with--includeand--excludeoptions.
📦 Installation
You can install Cync via PyPI using pip:
pip install cync
Alternatively, clone the repository and run it directly:
git clone https://github.com/ZacharyShonk/Cync.git
cd Cync
python3 main.py /path/to/source /path/to/destination
🛠️ Usage
python3 -m cync /path/to/source /path/to/destination
or if running from the cloned repo:
python3 main.py /path/to/source /path/to/destination
/path/to/source: The directory you want to sync from./path/to/destination: The target directory to sync to.
Optional arguments:
--include PATTERN: Include files or directories matching this pattern (can be repeated).--exclude PATTERN: Exclude files or directories matching this pattern (can be repeated).
👤 Author
📊 Project Status
🔮 Planned Features (In order of priority)
- Add filters (includes/excludes)
- Dry-run mode to preview changes
- Progress bar with estimated time remaining
- Multithreaded syncing
📄 License
This project is licensed under the GNU General Public License v3.0 (GPLv3).
You are free to use, modify, and distribute this software under the terms of this 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 cync-1.0.1.tar.gz.
File metadata
- Download URL: cync-1.0.1.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81359e338447353099e2682acdc9b974627c282044d8d313c51439a85bd1df0f
|
|
| MD5 |
ee70a810079adfbce610f411e0f482f7
|
|
| BLAKE2b-256 |
bc8f61c3421be457b56577b2b1a7f0fd2261746b9114913ca61bb616b4b55cf5
|
File details
Details for the file cync-1.0.1-py3-none-any.whl.
File metadata
- Download URL: cync-1.0.1-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bdb4caf09f2c45ae0ece7ea57b5a742378f023a7d8da5606e0c181cc87b3be8
|
|
| MD5 |
fa48a28cafac1f0b74c83810aeaa9d6c
|
|
| BLAKE2b-256 |
ac096b69e6b89a8bc7b745f4b504c54fa888235b70eb769979434c617218a24e
|