Skip to main content

clonerd

clonerd is a small, dependency-free Python library and command-line tool for copying a directory tree safely. It updates files in the destination, keeps unrelated destination files, supports repeatable exclusion patterns, and can verify copied files with SHA-256.

Install

python -m pip install clonerd

Command line

clonerd ./project ./project-copy --exclude .git --exclude '*.pyc' --verify

Use --dry-run to inspect the operation without writing files.

Python API

from clonerd import clone_tree

report = clone_tree(
    "./project",
    "./project-copy",
    excludes=(".git", "__pycache__", "*.pyc"),
    verify=True,
)
print(report.files_copied)

Symbolic links are recreated as links and are never followed. Existing files with the same relative path are replaced; unrelated files in the destination remain untouched.

Development

python -m pip install -e ".[dev]"
pytest -q

The project is released under the MIT license.

License

Licensed under Apache-2.0.

Release files for clonerd 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clonerd 0.1.1
File Size Uploaded
clonerd-0.1.1.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clonerd 0.1.1
File Interpreter ABI Platform
clonerd-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.8 kB

Release files / clonerd-0.1.1.tar.gz

Download URL clonerd-0.1.1.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c80d2f7eb010349ea99d1786689691da0d222f5bcf6bbd258c4d1d0b2e71866d
BLAKE2b-256 checksum
How to use checksums
316c8a986e84b759c775e941b0f4f4fe46f629962eda7b092bd87b863bbc7f94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / clonerd-0.1.1-py3-none-any.whl

Download URL clonerd-0.1.1-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d92e6a5240ef10bea55b2096a60b789342e4c7e9358a565c44c9a095a8f30cc
BLAKE2b-256 checksum
How to use checksums
b6ff64e494fa367297ca479a80fea9850d9912adad2f022ca857a07f9ccc57d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page