Skip to main content

Replicat

Configurable and lightweight backup utility with deduplication and encryption.

Compatibility

Python 3.8 (or newer) running on Linux, MacOS, or Windows.

Supported backup destinations

  • local path
  • Backblaze B2
  • Amazon S3
  • any S3-compatible service

You can implement and use your own adapter for pretty much any backup destination without changing the source code of Replicat.

Installation

It's available on PyPI, so

pip install replicat

Reasoning

For various reasons, I wasn't entirely happy with any of the similar projects that I've tried.

Highlights/goals of Replicat:

  • efficient, concise, easily auditable implementation
  • high customisability
  • few external dependencies
  • well-documented behaviour
  • unified repository layout
  • API that exists

This project borrows a few ideas from those other projects, but not enough to be considered a copycat.

Basics

You can use Replicat to backup files from your machine to a repository, located on a supported backend such as a local directory or cloud storage (like Backblaze B2). Files are transferred and stored in an optionally encrypted and chunked form, and references to chunks are stored in snapshots, along with file name and metadata.

To restore files from a snapshot, Replicat will download referenced chunks from the backend and use them to assemble the original files locally.

Replicat supports two types of repositories: encrypted (the default) and unencrypted. You may want to disable encryption if you trust your backend provider and network, for example. Duplicate chunks are reused between snapshots to save on bandwidth and storage costs.

See Cryptography for a more in-depth look into this, or Functional flow overview for the extremely cool and colorful diagrams that I worked really hard on.

Command line interface

The installer will create the replicat command (shortcut for python -m replicat).

There are several available subcommands:

  • init - initialises the repository using the provided settings
  • snapshot - creates a new snapshot in the repository
  • list-snapshots/ls - lists snapshots
  • list-files/lf - lists files across snapshots
  • restore - restores files from snapshots
  • add-key - creates a new key for the encrypted repository
  • delete - deletes snapshots by their names
  • clean - performs garbage collection
  • upload-objects - uploads objects to the backend (a low-level command)
  • download-objects - downloads objects from the backend (a low-level command)
  • list-objects - lists objects at the backend (a low-level command)
  • delete-objects - deletes objects from the backend (a low-level command)

⚠️ WARNING: do not upload to and delete from the repository at the same time using the same key or shared keys. For example, it's not safe to run snapshot and delete or clean concurrently, except when using independent keys.

There are several command line arguments that are common to all subcommands:

  • -r/--repository - used to specify the type and location of the repository backend (backup destination). The format is <backend>:<connection string>, where <backend> is the short name of a Replicat-compatible backend and <connection string> is open to interpretation by the adapter for the selected backend. For example, b2:bucket-name for the B2 backend, or local:some/local/path for the local backend (or just some/local/path, since the <backend>: part can be omitted for local destinations). If the backend requires additional arguments, they will appear in the --help output

  • -q/--hide-progress - suppresses progress indication for commands that support it

  • -c/--concurrent - the number of concurrent connections to the backend

  • --cache-directory - specifies the directory to use for cache. --no-cache disables cache completely

  • -v/--verbose - increases the logging verbosity. The default verbosity is warning, -v means info, -vv means debug

Encrypted repositories additionally require a key for every operation:

  • -K/--key-file - the path to the key file

If the repository is encrypted and the key is password-protected, a matching password is also required:

  • -P/--password-file - path to the file with the password (preferred)
  • -p/--password - the password in plaintext

If you often use many of these arguments, and their values mostly stay the same between invocations, you may find it easier to put them in a configuration file instead:

  • --profile - load settings from this profile in the configuration file
  • --config - path to the configuration file (check --help for the default config location)
  • --ignore-config - ignore the configuration file

Names of configuration file options mostly match the long names of command line arguments (e.g., hide-progress = true matches --hide-progress, repository = "s3:bucket" matches -r s3:bucket), but you can always refer to the Configuration file section for full reference.

Repository (-r, --repository) can also be provided as the REPLICAT_REPOSITORY environment variable. Password can be provided as the REPLICAT_PASSWORD environment variable.

If the backend needs additional parameters (account name, client secret, some boolean flag, or literally anything else), you'll also be able to set them via command line arguments, as environment variables, or in the configuration file. Refer to Backends section to learn more.

Note that values from CLI always take precedence over options from the configuration file. Specifically, to build the final configuration, Replicat considers global defaults, the configuration file (either the default one or the one supplied via --config), environment variables, and command line arguments, in that order.

Configuration file

As mentioned in the Command line interface section, options that you can put in the configuration file mostly match CLI arguments, with few exceptions.

Option name Type Supported values Notes
repository string <backend>:<connection string>
concurrent integer Integers greater than 0
hide‑progress boolean true, false
cache‑directory path Relative or absolute path
no‑cache boolean true, false
password string Password as a string Cannot be used together with password-file
password‑file path Relative or absolute path Cannot be used together with password
key string JSON as a string Cannot be used together with key-file
key‑file path Relative or absolute path Cannot be used together with key
log‑level string debug, info, warning, error, critical, fatal CLI option -v increases logging verbosity starting from warning, while this option lets you set lower logging verbosity, such as error

If the backend requires additional parameters (account id, access key, numeric port, or literally anything else), Replicat lets you provide them via the configuration file. For example, if you see a backend-specific argument --some-backend-option in the --help output, the equivalent configuration file option will be called some-backend-option.

Here's an example configuration file (it uses TOML syntax)

concurrent = 10
# Relative paths work
cache-directory = "~/.cache/directory/for/replicat"

[debugging]
log-level = "info"
hide-progress = true

[my-local-repo]
repository = "some/local/path"
password = "<secret>"
key = """
{
    "kdf": { ... },
    "kdf_params": { "!b": "..." },
    "private": { "!b": "..." }
}
"""
concurrent = 15
no-cache = true

[some-s3-repo]
repository = "s3:bucket-name"
key-id = "..."
access-key = "..."
region = "..."

Options that you specify at the top of the configuration file are defaults and they will be inherited by all of the profiles. In the example above there are three profiles (not including the default one):

  • debugging
  • my-local-repo
  • some-s3-repo

You can tell Replicat which profile to use via the --profile CLI argument (e.g. --profile my-local-repo).

Notice that some-s3-repo includes options that were not listed in the table. key-id, access-key, region are the backend-specific options for the S3 backend (Backends).

Backends

Run replicat commands with -r <backend>:<connection string> and additional arguments that are specific to the selected backend. Those arguments may have defaults and may also be provided via environment variables or profiles. Use

replicat <command> -r <backend>:<connection string> --help

to see them.

Local

The format is -r local:some/local/path, or simply -r some/local/path.

B2

The format is -r b2:bucket-id or -r b2:bucket-name. This backend uses B2 native API and requires

  • key ID (--key-id argument, or B2_KEY_ID environment variable, or key-id option in a profile)
  • application key (--application-key argument, or B2_APPLICATION_KEY environment variable, or application-key option in a profile)

Sign into your Backblaze B2 account to generate them. Note that you can use the master application key or a normal (non-master) application key that can be restricted to a single bucket. Refer to official B2 docs for more information.

S3

The format is -r s3:bucket-name. Requires

  • AWS key ID (--key-id argument, or S3_KEY_ID environment variable, or the key-id option in a profile)
  • AWS access key (--access-key argument, or S3_ACCESS_KEY environment variable, or access-key option in a profile)
  • region (--region argument, or S3_REGION environment variable, or region option in a profile)

S3-compatible

The format is -r s3c:bucket-name. Requires

  • key ID (--key-id argument, or S3C_KEY_ID environment variable, or the key-id option in a profile)
  • access key (--access-key argument, or S3C_ACCESS_KEY environment variable, or access-key option in a profile)
  • host (--host argument, or S3C_HOST environment variable, or host option in a profile)
  • region (--region argument, or S3C_REGION environment variable, or region option in a profile)

Host must not include the scheme. The default scheme is https, but can be changed via the --scheme argument (or, equivalently, the S3C_SCHEME environment variable or scheme option in a profile).

You can use S3-compatible backend to connect to B2, S3, and many other cloud storage providers that offer S3-compatible API.

Custom backends

replicat.backends is a Python namespace package, making it possible to add custom backends without changing replicat source code. See this guide for a complete walkthrough.

If you've created a Replicat-compatible adapter for a backend that Replicat doesn't already support and your implementation doesn't depend on additional third-party libraries (or at least they are not too heavy and can be moved to extras), consider submitting a PR to include it in this repository.

Custom settings

Replicat's default parameters and selection of cryptographic primitives should work well for most users but they do allow for some customisation if you know what you are doing. Refer to Encryption > Settings for more information.

Security

If you believe you've found a security issue with Replicat, please report it to flwaultah@gmail.com (or DM me on Twitter or Telegram).

Metadata

Release files for replicat 1.5.0

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

Source distribution (sdist)

Source distribution for replicat 1.5.0
File Size Uploaded
replicat-1.5.0.tar.gz 65.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for replicat 1.5.0
File
replicat-1.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
replicat-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
replicat-1.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
replicat-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
replicat-1.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
replicat-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
replicat-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
replicat-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
replicat-1.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
replicat-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
replicat-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
replicat-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
replicat-1.5.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
replicat-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
replicat-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
replicat-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
replicat-1.5.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
replicat-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
replicat-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
replicat-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
replicat-1.5.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
replicat-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
replicat-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
replicat-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details

Total release size: 9.3 MB

Release files / replicat-1.5.0.tar.gz

Download URL replicat-1.5.0.tar.gz
Size 65.2 kB
Tags Source
SHA-256 checksum
How to use checksums
212a96c4fc8f4db1514aa40a8cb2b2768a8e294886b0917fcc2f94d604bff95f
BLAKE2b-256 checksum
How to use checksums
58fa685d626d7200f9068abbd136ebaf09461a2dd56b7f822ddbabff6d7b4df2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp313-cp313-win_amd64.whl

Download URL replicat-1.5.0-cp313-cp313-win_amd64.whl
Size 132.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
978a69000ba41fbe3fbc220b30d30a0937136d811f893681ecdf961d05f78b55
BLAKE2b-256 checksum
How to use checksums
d08ce52477ad564ffbbbfd2b0c02ae61e15004b88d433fc5cdf5f63cc3b6a895
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL replicat-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a82bf01a6c8208694c084b4c5326281f9822284cc34a4bafceada8d397262236
BLAKE2b-256 checksum
How to use checksums
9d1e9677379167c0516ce9b631ca3429d876d3b96bbb813d50db2b61562ee74b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL replicat-1.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 153.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7b46acca7208d07f513d8bb11b0b5d5dc6ab3a49063e7caaed190f8121fe0427
BLAKE2b-256 checksum
How to use checksums
c41133dad676c7f6fb7842ec9bfcb995a731974a6ca638d4041741e0480a67de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL replicat-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 126.3 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
be9409f3793d6f82a968a318af1792ada7ee1998ff908b171509a10677a9a102
BLAKE2b-256 checksum
How to use checksums
d005ada19ad5a71b4f17ba372c0ef8ea8f137998e4e7cddb3f081ceec4cdf913
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp312-cp312-win_amd64.whl

Download URL replicat-1.5.0-cp312-cp312-win_amd64.whl
Size 131.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d4e0f28392ed7f6b047ce1897366498be6e4d8ebfbf1949f822c4f703ae6191f
BLAKE2b-256 checksum
How to use checksums
56f71606ee79eb78e1498ae0c7fc118782741e54457f52f97bdfbceb691655ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL replicat-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
aea4ddb1b0c64ea657a1c2cf4ec75dc69180d207c09c79807c6675b23ade6fbe
BLAKE2b-256 checksum
How to use checksums
521749b8e45f60e9c8d5aaf333b68c43723391a2f34aea36944ffecf4ada3c7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL replicat-1.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 153.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c4e34b18e02fbbcf9124a8cd3f0c14673e26c2a54256e2be27b42429390a0892
BLAKE2b-256 checksum
How to use checksums
490349513438ada3d8bf4f3d232ace52a8cbaf917f1ef9f3d2a20ff6ad71e8c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL replicat-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 126.3 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
049cbe0f1ca3955c4571db2d201a84baafe99a20f7eacd9c103027fe05bcf40c
BLAKE2b-256 checksum
How to use checksums
47231cab0819b082d5cfff03e5e5ea25be87b35fa35374e1dd79cb57c6e58c18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp311-cp311-win_amd64.whl

Download URL replicat-1.5.0-cp311-cp311-win_amd64.whl
Size 131.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
be86daab7a3bf5baf070199a60a948869d6ffa63eb0bd8ff5495cecc1bab89d9
BLAKE2b-256 checksum
How to use checksums
b87e540a80b29fff505af7389198417fa3180bb0ee83d30f6a5cd7e0fd7ceb88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL replicat-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
701ead6f5f9ea4fb4f618e23793165c560b1b7c899274b11639c17dba027650e
BLAKE2b-256 checksum
How to use checksums
6e503bf3429d0314f8a529e74f1df582ae8166f807b5fcbcae9bec4e1082c03f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL replicat-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 154.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4148e104b99f2b2b25d66f8f19e6a7016db094affeb7b3999e786ed6bd651f19
BLAKE2b-256 checksum
How to use checksums
cf5c05c5e8661be5cb9db68ebee3c8f4e1140c4564cb8da77798cc4c87955600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL replicat-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 126.6 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3550551b2aa483484ef9a043294a3fb90303ec536a299c624f9f71d4a6dced7a
BLAKE2b-256 checksum
How to use checksums
8a6fb4988a104fa4bc39dba4fab46c3305809aa4a0b278a8b31c5625f9c4d018
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp310-cp310-win_amd64.whl

Download URL replicat-1.5.0-cp310-cp310-win_amd64.whl
Size 130.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
0159aac559e15d865b9f416113be3e70afb1a6c0876273f7c6337d6f5a428960
BLAKE2b-256 checksum
How to use checksums
ff61ca7e20edd18c5cae5736b3e653d6399d9dab3cefa655ea353e90a4aca5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL replicat-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2873a50654baac0570a28759fffca8c7054780b0545bfbbef8176fc1a0ec848a
BLAKE2b-256 checksum
How to use checksums
05b68671aacfde4e9aa3da99be4b1bfc1ac3a5403020ebd545ebb1f63a3749b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL replicat-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 152.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2a6cd628fe662527668a9ea0ec146c2db7051b71b11f98a3f8349e6b89cf5e42
BLAKE2b-256 checksum
How to use checksums
6ac7457855c007c490a2ea4feba1b3e484e1df14fe384267f65286c25297182d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL replicat-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 125.1 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e42d167fff0a9718edf3d22a0de8a0f46409d1d014b4436084ce62ab97621674
BLAKE2b-256 checksum
How to use checksums
6a89d5ef62751f0cc60e7ff32d325a4d7f39160691c424aa7c444a49718afca6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp39-cp39-win_amd64.whl

Download URL replicat-1.5.0-cp39-cp39-win_amd64.whl
Size 130.0 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
adc603cdb977e8f2f2830d821c5b20e334f2a90ea9c2af872f33111fd6e93829
BLAKE2b-256 checksum
How to use checksums
75ffcf71b482405609128b48ed03c5096905f941f9e59c17ce6334ac243ec9a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL replicat-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ec40d0764da5e353ef797b41050d49d8fe3d59d213cff4809eb173ca17300ce7
BLAKE2b-256 checksum
How to use checksums
d233e00b61336ae81e0ca78ac8a523b10820e36c536adc583b0ae5e8a047750d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL replicat-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 152.8 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3497690ace63fe6e1137886f549ed76237b7dfb32214f8802edfb7126f447c5c
BLAKE2b-256 checksum
How to use checksums
c9a5b261d01f57570a1cacbf9a4d367e0576e0c375f2ce66ca7b0f99502db944
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl

Download URL replicat-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Size 125.1 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
398828058891a210e762813a2cfa355d481b333ce186cd3a3f8ae5c920417e2c
BLAKE2b-256 checksum
How to use checksums
96265638432d40fec31e45109428db3957961e0416e673906257b9ae2d1b3968
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp38-cp38-win_amd64.whl

Download URL replicat-1.5.0-cp38-cp38-win_amd64.whl
Size 130.4 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
cd96af421a17f097d1ab677a089d1fed48e455564d238d606ea6142d36aac53c
BLAKE2b-256 checksum
How to use checksums
6e0799e93b44716e1861d208fe2bdab92b4b0fa3499bda94813e2e844b20403c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL replicat-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl
Size 1.1 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5cc92e2aab298877cf5fa66adc71805734ed24da3e00c86f502fc095c7f9ce4a
BLAKE2b-256 checksum
How to use checksums
2bafc53eaa376ceeba8d5f5a26092f7e0e467078f95a9bef6b640ba269720ccd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL replicat-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 152.4 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7826dd49c2dee75d6ff054591fd6e36edaef86555329c386d2151948ecf47542
BLAKE2b-256 checksum
How to use checksums
2d09ccb24ee2b04de71f7dff6a1ecd9437de20c636b53538fb3e7ca854d4ce59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / replicat-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl

Download URL replicat-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Size 124.9 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5e3d4c2f1dcd89691ef7b8adc1f94f8f354b63e92deb34509a28313fcaf04919
BLAKE2b-256 checksum
How to use checksums
9116ce0705093add69ef1d8ef62d4286bd5aef2429f7a5c0a67a4b918e1be929
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.5.0 This release

25 release files

1.4.1

21 release files

1.4.0

13 release files

1.3.2

13 release files

1.2.2

7 release files

1.2.1

7 release files

1.2.0

7 release files

1.1.1

7 release files

1.1.0

7 release files

1.0.1

7 release files

1.0.0

7 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