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)
| File | Size | Uploaded | |
|---|---|---|---|
| clonerd-0.1.1.tar.gz | 6.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|