skillfed

sysrsync

Simple and safe python wrapper for calling system rsync

sysrsync v1.1.1 106.5K downloads/30d#12,650 on PyPI132
License unclear DORMANT released

What it is and what it does

sysrsync is a Python wrapper around the system rsync command that abstracts away rsync's notoriously confusing trailing-slash behavior and provides a Pythonic API for file and directory synchronization. It handles local-to-local, local-to-remote, and remote-to-local transfers via SSH, with support for exclusion patterns, custom rsync options, private key authentication, and port configuration.

The package is designed for developers who need to script rsync operations without shell escaping or manual command construction. It runs rsync as a subprocess and returns a CompletedProcess object, raising RsyncError on non-zero exit codes when strict mode is enabled. Its main dependencies are minimal—only toml for configuration parsing—but it requires rsync to be installed on the host system.

Use it for:

  • Automate backup scripts that sync directories to remote servers over SSH with specific exclusion patterns.
  • Build deployment pipelines that synchronize application files to production hosts with custom rsync options.
  • Write data migration tools that transfer large file trees between local and remote systems with progress tracking.
  • Integrate file synchronization into Python applications without spawning shell commands directly.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Wraps the system rsync command for Python, providing a safe interface to synchronize files and directories with control over source/destination trailing-slash behavior, SSH options, exclusions, and private keys.

Yes, if you need rsync automation in Python and can tolerate dormant maintenance. The package is stable and has no known vulnerabilities, but expect no active support or updates. Verify the unclear license before use in proprietary projects. Install friction is minimal and the API is straightforward; it's a reasonable choice for one-off scripts or internal tools where you control the rsync version.

Install

sysrsync on PyPI

pip

pip install sysrsync

uv

uv add sysrsync

poetry

poetry add sysrsync

Installing sysrsync

Before you install

Low install friction; pure Python wheel with a single runtime dependency (toml). Maintenance is dormant—last release was 2023-04-24 and last commit 2024-01-22, so expect no active bug fixes or feature updates.

License in practice

License treatment is unclear; no SPDX identifier or raw license text is available in the metadata. Verify the actual license before use in proprietary or copyleft-sensitive contexts.

Quickstart

pip install sysrsync

import sysrsync

sysrsync.run(source='/home/user/files',
             destination='/home/server/files',
             destination_ssh='myserver',
             options=['-a'])

Requires rsync to be installed on the system and accessible in PATH; Python 3.6 or later.

Verify before relying

  • Whether the unclear license status reflects a missing declaration or a genuinely unresolved licensing question.
  • Current compatibility with modern rsync versions and SSH configurations beyond what the description documents.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.6,<4.0)
Install friction low — pure-Python wheel
Runtime dependencies 1 — toml
Maintenance dormant — 1,208 days since the last release
Last repo commit
First released
Downloads 106,476/month — #12,650 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: sysrsync-1.1.1-py3-none-any.whl

Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

rsync wrapper pythonfile sync pythondirectory synchronizationremote file transferssh rsync automation
file-syncrsync-wrapper

More Utilities packages