A minimalistic file and folder synchronisation utility.
Project description
FolderSync
FolderSync is a cross-platform directory synchronisation tool. It helps you keep two folders in perfect alignment—copying new or changed files from a source directory to a target directory, and removing files that no longer exist in the source. This makes FolderSync ideal for backups, environment mirroring, and maintaining consistent folder structures across multiple machines.
Key Features
- Cross-Platform Compatibility: Works seamlessly on Windows, macOS, and Linux.
- Simple CLI Usage: Just point to a source and destination and run one command.
- Dry-Run Mode: Preview changes before committing them, ensuring safety and transparency.
- Fast and Efficient: Uses built-in Python modules to perform quick comparisons and synchronisation.
- Scalable: Works equally well for small directories or large projects with many files.
Common Use Cases
-
Backup and Archiving: If you want to back up your local project directory to an external folder—perhaps on a network drive or a USB stick—you can run:
foldersync /Users/prasant/my_project /Volumes/external_drive/my_project_backupTo preview changes without applying them:
foldersync /Users/prasant/my_project /Volumes/external_drive/my_project_backup --dry-run -
Dev/Prod Environment Sync: If you maintain a production environment folder that needs to stay in sync with your local development setup, run:
foldersync /Users/prasant/dev_environment /var/www/production_siteThis ensures newly created or modified files are copied to the production folder, and outdated files are removed, keeping the production environment aligned with your development environment.
-
Laptop to External Drive: To keep important documents or research data on your laptop synced to an external SSD, run:
foldersync ~/Documents/research_data /Volumes/ssd_backup/research_dataIf you’re unsure about changes:
foldersync ~/Documents/research_data /Volumes/ssd_backup/research_data --dry-runThis lets you confirm what will happen before making actual changes.
-
Shared Workspaces: For team members who each maintain a local copy of a shared folder stored on a network drive, you can keep your local copy synced with:
foldersync /Volumes/team_drive/shared_docs ~/shared_docs_localThis ensures your local directory always mirrors the master copy on the team drive.
Installation
FolderSync uses Python’s standard library, so no extra dependencies are required. To install, run:
pip install foldersync
Once installed, run FolderSync by specifying the source and destination directories:
foldersync /path/to/source /path/to/destination
Use --dry-run to preview changes without making them, ensuring you have full control and confidence in the synchronisation process.
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 foldersync-0.1.0.tar.gz.
File metadata
- Download URL: foldersync-0.1.0.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86da7caaf0ea7c28b5e32c8b33e64489e6f0fa549c78707989bbb4a295e72237
|
|
| MD5 |
5b07d4ffa11723692ba57a156748f639
|
|
| BLAKE2b-256 |
b0ed62296f71bbf224d7f4dd17f63750f65ba1ff100e4a5616e4ac6965123d8b
|
File details
Details for the file foldersync-0.1.0-py3-none-any.whl.
File metadata
- Download URL: foldersync-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e96faf1d8b1b36c39677b4ed758d28dcd7ecf63c35920f79f92731b8d85ae2d0
|
|
| MD5 |
27a00f266c612e2b4c8fa77a5836790e
|
|
| BLAKE2b-256 |
dc42a54c2edf4b30855b6853fc0e5e4abbb76d7da3fa17f7e138e73b61b326db
|