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.0.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.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: securetar-2026.4.0.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.0.tar.gz
Algorithm Hash digest
SHA256 d6e8d8c747655ac4564543f35f7fc70a2ebc7426f23c77f16238e7cb763691e8
MD5 22c9edf5871adccab9888dfcda77d7ed
BLAKE2b-256 cb25138e19209d8f04765e6e51f94997d7e1141448103bae8ba30af98a755595

See more details on using hashes here.

File details

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

File metadata

  • Download URL: securetar-2026.4.0-py3-none-any.whl
  • Upload date:
  • Size: 19.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72e09a864282ec96b05b5a61cc4febca7a1a7978b4083687369b6eb4835abe27
MD5 80e84af404708e822de98550a5fcd9b2
BLAKE2b-256 261647a417d1264ad238191185ddd1a1d6585c6f33462e60408be09aee74147b

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