Skip to main content

Python module to handle tarfile backups.

Project description

Secure Tar

Secure Tarfile library

It's a streaming wrapper around python tarfile and allow secure handling files and support encryption.

from securetar import SecureTarFile, atomic_contents_add
from pathlib import Path

path_to_add = Path(".")

with SecureTarFile("test.tar", "w") as tar_file:
    atomic_contents_add(
        tar_file,
        path_to_add,
        file_filter=lambda _: False,
        arcname=".",
    )

with SecureTarFile("test.tar", "w", b"AES128_KEY_SIZE") as tar_file:
    atomic_contents_add(
        tar_file,
        path_to_add,
        file_filter=lambda _: False,
        arcname=".",
    )

A common pattern is to create an outer uncompressed tarfile that contains a variety of inner tar files. This can be accomplished without writing out multiple files with the following pattern.

from securetar import SecureTarFile, atomic_contents_add
from pathlib import Path

path_1 = Path("path1")
path_2 = Path("path2")

outer_secure_tar_file = SecureTarFile("pkg.tar", "w", gzip=False)

with outer_secure_tar_file as outer_tar_file:
    with outer_secure_tar_file.create_inner_tar(
        "./backup1.tar.gz", gzip=True
    ) as inner_tar_file:
        atomic_contents_add(
            inner_tar_file,
            path_1,
            file_filter=lambda _: False,
            arcname=".",
        )

    with outer_secure_tar_file.create_inner_tar(
        "./backup2.tar.gz", gzip=True
    ) as inner_tar_file:
        atomic_contents_add(
            inner_tar_file,
            path_2,
            file_filter=lambda _: False,
            arcname=".",
        )

Project details


Download files

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

Source Distribution

securetar-2026.4.1.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

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

securetar-2026.4.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file securetar-2026.4.1.tar.gz.

File metadata

  • Download URL: securetar-2026.4.1.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for securetar-2026.4.1.tar.gz
Algorithm Hash digest
SHA256 536108c7cec0bdd6fb51abd8d293deba02930124d76ec5dd4599ae5e0c755638
MD5 1e2f13618eb2eda88482f6b762c06510
BLAKE2b-256 9054c7084733ce23f33c5f863734d6fd0c1789ba9ec771257cc54529c7a999ac

See more details on using hashes here.

File details

Details for the file securetar-2026.4.1-py3-none-any.whl.

File metadata

  • Download URL: securetar-2026.4.1-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for securetar-2026.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7cf66c204d678b9d1e2d17814c83048a6468e928ea00edb7e6c1efe72aab0540
MD5 a49352808294e5fc8fec1f362b71b98d
BLAKE2b-256 fb564ef84868d1ff2f77ac080929117283ac9d18f7d018ae64fa1e7f957a8d20

See more details on using hashes here.

Supported by

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