Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

REQUIREMENTS

The following should be installed by apt, yum, etc., depending on your OS.

NOTE: Some distros may have different names for these.

sudo apt-get update 
sudo apt-get install -y \
        build-essential \
        intltool \
        lftp \
        librsync-dev \
        libffi-dev \
        libssl-dev \
        openssl \
        par2 \
        python3-dev \
        python3-lxml \
        python3-pip \
        python3-venv \
        python3 \
        rclone \
        rsync \
        rdiff \
        tzdata

INSTALLATION

Since Python 3.11 site package directories have been marked as Externally Managed and now require using --break-system-packages to install into them. This means that a package like duplicity with many packages must use a virtual environment, or venv, to install their packages. Rather than going through the manual process of producing a venv, activating it, installing duplicity, etc., we will be using pipx from now on to install duplicity. This way we get the same effect as a pip install, but isolated in a venv.

To install follow instructions below. Steps (1) and (2) are important.

(1) Update packaging to current version

PyPA (Python Packaging Authority) has been making rapid changes to the way we install Python modules.
To accomodate installing new packages on older Pythons prior to 3.11, it is necessary to upgrade packaging tools like this:

sudo python3 -m pip install --upgrade pip pipx

NOTE: Failure to upgrade will probably result in a failed install. ←IMPORTANT!

To make sure the pipx dirs are on your path do:

sudo pipx --global ensurepath  # for all users
pipx ensurepath                # for single user

(2) Uninstall Previous Version

If you have an existing duplicity on your path and it was not installed by setup.py, pip, or pipx, you must uninstall it using the same method by which it was installed.

You can tell if you have multiple instances by doing

which -a duplicity

and then use apt, yum, snap, or other command to remove them.

(3) Install Using Pipx

Choose one of the following depending on whether you want to install for all users or the current user. Use both if needed.

With --global duplicity will be installed in /usr/local/bin/duplicity and its many packages in /opt/pipx/venvs/duplicity.

Without --global duplicity will be installed in ~/.local/bin/duplicity and its many packages in ~/.local/pipx/venvs/duplicity.

(3a) Normal Install

From Pipx (all users)

sudo pipx --global install duplicity[==version]

From Pipx (single user)

pipx install duplicity[==version]

(3b) Suffixed Install

You can keep multiple versions of duplicity by supplying --suffix=version.

From Pipx (all users)

sudo pipx --global install --suffix=version duplicity[==version]

From Pipx (single user)

pipx install --suffix=version duplicity[==version]

ARCHITECTURE

graph TD
    subgraph Interface
        Main["__main__.py (Entry Point)"]
    end

    subgraph Orchestration
        DupMain["dup_main.py (Orchestration)"]
    end

    subgraph Support_Config ["Support & Config"]
        CLI["cli_main.py (Argument Parsing)"]
        Config["config.py (Global Settings)"]
        LogUtil["log.py / util.py (Logging/Support)"]
    end

    subgraph Core_Logic ["Core Logic"]
        Selection["selection.py (File Selection)"]
        Backend["backend.py (Storage Layer)"]
        Errors["errors.py (Exception Mgmt)"]
    end

    subgraph Operation
        DiffDir["diffdir.py (Backup Logic)"]
        Backends["backends/ (Storage Drivers)"]
        PatchDir["patchdir.py (Restore Logic)"]
    end

    subgraph Engines_Metadata ["Engines & Metadata"]
        LibRsync["librsync.py (rsync delta)"]
        GPG["gpg.py (Encryption)"]
        Manifest["manifest.py (Metadata)"]
    end

    Main --> DupMain
    DupMain --> CLI
    DupMain --> Config
    DupMain --> LogUtil

    CLI --> Selection
    Config --> Backend
    LogUtil ~~~ Errors
    Errors -.-> LogUtil

    Selection --> DiffDir
    Backend --> Backends

    DiffDir --> Backends
    PatchDir --> Backends

    DiffDir --> LibRsync
    DiffDir --> GPG
    DiffDir --> Manifest

    PatchDir --> LibRsync
    PatchDir --> GPG
    PatchDir --> Manifest

    Backends --> GPG

DEVELOPMENT

For more information on downloading duplicity's source code from the code repository and developing for duplicity, see README-REPO.

For source docs: https://duplicity.readthedocs.io/

HELP

For more information see the duplicity web site at:

https://duplicity.us

or at:

https://duplicity.gitlab.io

or post to the mailing list at:

https://lists.nongnu.org/mailman/listinfo/duplicity-talk

or post a new issue at:

https://gitlab.com/duplicity/duplicity/-/issues

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

duplicity-3.2.1.dev0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

duplicity-3.2.1.dev0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

duplicity-3.2.1.dev0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

duplicity-3.2.1.dev0-cp314-cp314-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 26.0+ x86-64

duplicity-3.2.1.dev0-cp314-cp314-macosx_26_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 26.0+ ARM64

duplicity-3.2.1.dev0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

duplicity-3.2.1.dev0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

duplicity-3.2.1.dev0-cp313-cp313-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 26.0+ x86-64

duplicity-3.2.1.dev0-cp313-cp313-macosx_26_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 26.0+ ARM64

duplicity-3.2.1.dev0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

duplicity-3.2.1.dev0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

duplicity-3.2.1.dev0-cp312-cp312-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 26.0+ x86-64

duplicity-3.2.1.dev0-cp312-cp312-macosx_26_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 26.0+ ARM64

duplicity-3.2.1.dev0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

duplicity-3.2.1.dev0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

duplicity-3.2.1.dev0-cp311-cp311-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 26.0+ x86-64

duplicity-3.2.1.dev0-cp311-cp311-macosx_26_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 26.0+ ARM64

duplicity-3.2.1.dev0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

duplicity-3.2.1.dev0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

duplicity-3.2.1.dev0-cp310-cp310-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 26.0+ x86-64

duplicity-3.2.1.dev0-cp310-cp310-macosx_26_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 26.0+ ARM64

File details

Details for the file duplicity-3.2.1.dev0.tar.gz.

File metadata

  • Download URL: duplicity-3.2.1.dev0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for duplicity-3.2.1.dev0.tar.gz
Algorithm Hash digest
SHA256 de618fe2fe4f5afb1d4196af4f05b32b3505358040ac38227b69e2f8b5f266b2
MD5 ec0f655ca64bc433b610563be8250aef
BLAKE2b-256 8e5b8aee86c0a047bf0f30be85a763bad7dc9a2097979c6cbc6ea5d4ee68536f

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d838e86875f5ba1196b50484abcbec6d5acc47fd5dee4e97854cf0001719973c
MD5 9d6525d014411eba35c3619407106efd
BLAKE2b-256 ee61b524f5df2b3a087b5eb65149c58fc94ba99d2bdc845aef72f7a94cb411c1

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e41c65bad692d8f1f9754c5c80a72fa214e06fb87d05c27415b618830f4fe702
MD5 89a5d2b585ec5177a20a3aa800cb2e87
BLAKE2b-256 2ad2466bee7edbc5240978c6dad244acf67ee4bc01b8cc566dac4cd7f799b22f

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp314-cp314-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp314-cp314-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 a0b7da7574f1d99e95454aab65371a59506b79660d387c83e30e3096110224a5
MD5 f17d895a8ea7f3ed08f02e8e4840b69d
BLAKE2b-256 3ad4d07d00f643a450f6f85e14b2547a80ca69334316cb2651d490bc3077b40b

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 d8dc404e6b84b592ad91428fde6e81d875debe1e364f49471586b2464d89a37a
MD5 66ed13f1542d6087d3d1179c6aabd61d
BLAKE2b-256 72ad9e1e9e3e72dd46b3f72aed2cba0202b52a9d7338733640cc5962f4a2e74e

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2415a87b5358d5448488bd2b6227ac8f422413492dbeba7c0aa591292f72035f
MD5 efe2f8a264456c252365109caf7f8493
BLAKE2b-256 e6d726a7abbfd2ff27a68c718d8eea97e6bb8b07d7c46fcb3ff0ba244e34eeba

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b15f4663e5dddb75e23329c1d87dc5113c72426cc4b6c0fe3f0b7c61bc77563c
MD5 eb6fd198af10e2154726357aaf21bdf6
BLAKE2b-256 884efc6fb5692e6fa9d0069e9f5681298affe2c188e27d202ca6b1ac961b8190

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp313-cp313-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp313-cp313-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 4e2b0696b6d94b31ae453a57399bcd7a60d738e7387960387eac22f098907e69
MD5 95a43268b5a07259c59bd31d8a8718a2
BLAKE2b-256 e5b831972cd3364c640ec25f3ddc514d21a869a7bd4e8245744661da93130227

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 8d414eb68599dc9918d1c94fbfda3371eb92bd02ac01c34be44ab22c4cb19cf5
MD5 9cccc104bb1c9ce920fa39ffbb032160
BLAKE2b-256 c4e20553537bca6a9f3ef028acb1082d49fdfbe7e0d926fbe5472331fde9c4cf

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 78c1a0bd4f7746695039c92402961e15b6e985b38a8a83e3e6f7945cafd48b12
MD5 4952eb863ea17fc9174e5a6d6775d82a
BLAKE2b-256 a1c598db8c6f957ea29abf387e0d3112da1e63cab24d8a942e617ef62997afdf

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 653835caab8b4f6d83cf50033c4fd9b0f6972c3e2b527b609ff548efc5e74f28
MD5 861b94dcd9f67ba672ddac4e77f81bf0
BLAKE2b-256 f010b5d284571ddf853ebb1c1c7041b991fe3c1b265ed264a9eb2909cec7c931

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp312-cp312-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp312-cp312-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 75077894d414ec124ec9f977cffbcb8a216f7c6908ab14441eec725e4b3cf304
MD5 22c34da055d11d84d33f15c448ccda28
BLAKE2b-256 5a47dcb1e253a6d378b83dfa686dcb990393bc99268b82e91af67bc07e89c969

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 0a4df7c2fbe97b7d63357ee1dca9323864784d7a56ccdbcf5c0cff8afeeca66f
MD5 c45626d3039636f864670f109766f74a
BLAKE2b-256 aab974cb4e13c480191b69943e1e5fd29d412ab90beebeb292e363fd4162c25d

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8cd99848e098e085ed820d8e41fa1a9658de01ab2eb4955ebca73670217cb089
MD5 f9fb5d6d9098e793c4469957825ee92a
BLAKE2b-256 9da4a2dadf0c165b7c62bc8642710e1dc8fd4b3817e1f4870689f02190c4c287

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa286c369d345becd6045ef28c2bf45476d41c20fde530decddeb418bb71d0f6
MD5 505feb07c7d2f997f3cb82550e0f1f53
BLAKE2b-256 6d6b2cc542ec80909c94b174bd38b026fe48ec1756dbd2e0e43801fcadb5bbaa

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp311-cp311-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp311-cp311-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 ca6c99d9dd0f646373fe5465596cda8fe9c58a9cb9e8cb71b6ce65c7f131ae9f
MD5 3e522aa3adf8063c474d46f9fa4f1a2c
BLAKE2b-256 e845ff760b1877c5ffecb0de06fa5b43bbdc97dd244f0fa1101526a96145805e

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 b432d56af512655dc100f1f9efc3c955b10a419455a1b7f0e58f7ea92f2dedb6
MD5 8f992f14beafa78ab152d7bb3df364bb
BLAKE2b-256 1a507c92b2153bee835ff83a6224707e1a3a5af3b176bab0063e4de97b1fca16

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be54345ea00762eb1f6d5d8828f4ab0aed97829f937793208e72f709ded97bf2
MD5 947652163d61309937fbe7b4ac350844
BLAKE2b-256 365633a22784677af057fa28347c94c894f71c8a164c56b9cfec4b8f756c9ba6

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ac44b9342658d76571c6e576b240e7ffe4a6ae76e4d551efb812a9cb185c6ffd
MD5 885c112b5c9def93661034dba8c0e0d4
BLAKE2b-256 431e6e84866f3f4cde96b691469acb1c56a1fcdf123079e9e27a6182286ce60b

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp310-cp310-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp310-cp310-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 fd76bd7856f20252273f4b4348ac3023754d67cc4510d02e75004f7fd3ccdc2c
MD5 bb3b1d1adc6bb4b831d437e288249e96
BLAKE2b-256 bf34ae2c6dca7ff6662ce0d9bb4a5da055bf562652fc0817c0097c7dc4d53156

See more details on using hashes here.

File details

Details for the file duplicity-3.2.1.dev0-cp310-cp310-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.1.dev0-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 af204546dcfac24c4e52d6a0f4e9c24eb9a8b519130720a31473c88aa9aa2f45
MD5 71812a1121f240a12410e2f3de7da3af
BLAKE2b-256 a0643000fa62a60dc1c03bebe298f32734be81065fd316b5286eaa316b210085

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page