Skip to main content

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.0.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.0-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.0-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.0-cp314-cp314-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 26.0+ x86-64

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

Uploaded CPython 3.14macOS 26.0+ ARM64

duplicity-3.2.0-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.0-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.0-cp313-cp313-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 26.0+ x86-64

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

Uploaded CPython 3.13macOS 26.0+ ARM64

duplicity-3.2.0-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.0-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.0-cp312-cp312-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 26.0+ x86-64

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

Uploaded CPython 3.12macOS 26.0+ ARM64

duplicity-3.2.0-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.0-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.0-cp311-cp311-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 26.0+ x86-64

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

Uploaded CPython 3.11macOS 26.0+ ARM64

duplicity-3.2.0-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.0-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.0-cp310-cp310-macosx_26_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 26.0+ x86-64

duplicity-3.2.0-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.0.tar.gz.

File metadata

  • Download URL: duplicity-3.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 1f20ec8aa38f898ab32928ebe1a6baf3d0ae5a3de74198258cbb875528c273b5
MD5 e0923d96ab3dce640f3c848d7f0b311e
BLAKE2b-256 c6e1d687336a0efa6ba9fd4da15a866d3158ae6a3950e394411eb04449ca1266

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-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.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 380682e9d5c45667ca924c582146e98c71d4b049d43c9b7b1d7e69f660cfc12a
MD5 7cf6d9a52f1edc8387215f1d8601f80d
BLAKE2b-256 517aacbcab6a7ff52f597322db46d6cda03eb8ed0b58ba9f2a3556d7498eb888

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for duplicity-3.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 79f5c497bab311069112640b4a38bb420f2a1c76d6fc29d6362b0ed74edd9093
MD5 d79734757025c132475692280e37d572
BLAKE2b-256 13e388aaf55f2d9aa0e4f6bce96958d759df97ee7d624f53d364b6efc3708108

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp314-cp314-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp314-cp314-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 22da2886f2b8f56b375bd821cf73f7dd07ed06331e30c76d471ca716d1fb8445
MD5 fd244f90ba6756064b118cf0c7b9f7dc
BLAKE2b-256 d9fb29caa46f9f6e5a21bd9ebc85fcbbe5aa9231c85e06b863d965b528b28d2a

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp314-cp314-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp314-cp314-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 8a974146263d0345781dd95506d0b3188cee3e157195afe07e39e27325e5c59f
MD5 3afc4084297e5b8263dba3f16e3e7eda
BLAKE2b-256 b2ded07d826e03c216f58a3a1ab9e40c9d2309dce1477a2a6e2d158c3ef3dc5a

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-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.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 64db02fd1dd056bf19d4a9d032ec8b90111b895e273f4798c768120db69fe9af
MD5 92e3796d6502bca7e88e04be8e05af83
BLAKE2b-256 ba2d426fe463d76c3221cf142ae147a3c3212be39e473ddf679eba21e90ee95e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for duplicity-3.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4e6df7c472ac2906db7b5094450c83eef638af8bc6d96aa105bfc364f5ce7dc6
MD5 3ddc180fd1d2469ce7440f2f51cd5506
BLAKE2b-256 bbc87da70e18b03d8ca84bd6ff91a033176c4b4f49322e324772815cb9ddad31

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp313-cp313-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp313-cp313-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 950113fb24d2d0a6884b420eb2ec71290124123437cffe1a27f5fbff9d7c51e8
MD5 c83e65271d994074569097f53d7fd782
BLAKE2b-256 aa99d0dbdd4cd52f6b8fc7773329982051706f6eacb9acbf947d3111ebbabc66

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp313-cp313-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp313-cp313-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 b1bbe918f4958df5be5389f52310d949cee20ea0b4d54317103b51d9acd22df5
MD5 3bcbf9c1b113971fe199eaf477119f86
BLAKE2b-256 8dc79f4c3235270ec02747dc12cdbe8d4cfa2d9f3d7ed6687203ecd63405b4b2

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-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.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59b72aef177cd72032af8fcf1145a9104169fed64b98a65a2ae5737735a5b357
MD5 25a95bf79d4d8f9ae3760ba98d67832a
BLAKE2b-256 fb50e151edad259e601058dc870b61aa48e07863ff1657b511faf49a844cf8c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for duplicity-3.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 aad5b218c6cb63ed455b4cd1c17f83d6ceb456bb9b3047e68f98eb5ad9bfa324
MD5 0774568f3f3adeeb83e7c99f7753d4d7
BLAKE2b-256 e45dcc33865779cc579f15121f99714ba41b0494531a14dcac674b0adf87be98

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp312-cp312-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp312-cp312-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 429e87853322258f44ee714a73499120198d11d333c04be4ea9e94913fa3ba68
MD5 3b0df02af938a769edbe2ca2974958bb
BLAKE2b-256 db0048feff697b8020ed482cd53d2ab70ceb55c8d48a8239695a619a88720c54

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp312-cp312-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp312-cp312-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 e725b940dba7fc14cb598e7ef7e6049efb05c5a0a2a6059dd2b31516dd6c6028
MD5 11be81a65729f3b6fb37426a6da89b12
BLAKE2b-256 3eda04c07be6052c2d74ba816bfd1ba8ae7d755335ed02c4820b65f0f48d2977

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-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.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9f5df3a713594090670001de10c218c972a1a359f35b8bd74acba0e8880e192d
MD5 b2194f28b141a3d49d44d4b3d1d684db
BLAKE2b-256 c0ab6c9b203a1a3dba9fd6057b7796d555b2584780f8cfc1e4f71739d7b12fb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for duplicity-3.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 37d289c93acc61e8f21aaa898648e97d7724a9ab9e874fbe0f0eac8855067e02
MD5 3b79c3ad8d70ac68737da8a8f2ff30e4
BLAKE2b-256 e48ce10453081ced5a8dfabc81924a52d4b1e2925b74fd0d2c39f09cffd6f5f2

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp311-cp311-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp311-cp311-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 dbd00622b63d5026c097080d7449ffcd214536cb0c6fb72f35c54e4110e2d23e
MD5 174fb1134658db940ad7b3ee38e68f41
BLAKE2b-256 f9d8976a4efc6f3e536b9076a1a56d047aae3d01f7cf3426e2c6d45cfc146b37

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp311-cp311-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp311-cp311-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 fc4b3ca7d7cc7f523c0436f1e8de1d841469a9f057af1893bbdc5bb5b6c21e63
MD5 0d4bc1e2eaa3d82e280e4df4f4dadf11
BLAKE2b-256 7fbbd88ec5fcdaba508ff06aef7b4050c236ac1df393d3b88f47e3c3f4f9adb9

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-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.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2e463508d3365bb15fb30b1841a375b3b0928f71c0a068dee1a8fc51c0e84547
MD5 ebb60d64340ccf2885a0af8f063bfe3f
BLAKE2b-256 312e71345b046fb0cc7812eda2d81565b790eba020d4f8ded9bfa20aa02dc020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for duplicity-3.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a700c0ce53fd86c8918b2aafe45d628c76320c92759ec1cc88c8edbe69144a31
MD5 3511321652121bb1271b603dde27f945
BLAKE2b-256 930aac58277bd870d29a839ac6525e5faf88bd83a4528f1e4f1e42cb35846672

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp310-cp310-macosx_26_0_x86_64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp310-cp310-macosx_26_0_x86_64.whl
Algorithm Hash digest
SHA256 684737bd491192a99eb4f261b156ab292387d6bc4d7fa7725541f23a639b813d
MD5 acc3a8aaab69973d274cd740b349a30b
BLAKE2b-256 f755b0c885b22317538e0bfb60156928a798ad913a80392fda1a778094d84e97

See more details on using hashes here.

File details

Details for the file duplicity-3.2.0-cp310-cp310-macosx_26_0_arm64.whl.

File metadata

File hashes

Hashes for duplicity-3.2.0-cp310-cp310-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 c1ca4d9d425b91fc1f2bcad473c0481942b9941a71bdcc8c3dfe54016eeff099
MD5 9c3f7d72cd63c0be8ab1a9d875af16d1
BLAKE2b-256 de6691b1357fe540c19103d4cbf7b2deb4c912c481a875f1e768c6afe2722f11

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