Skip to main content

Python bindings for Vegh - The CodeTease Snapshot Tool.

Project description

🥬 PyVegh

PyVegh is the official Python binding for the Vegh snapshot engine, developed by CodeTease.

It delivers the raw performance of Rust (Zstd compression, Tar archiving, SHA256 hashing) wrapped in a modern, flexible Python interface.

"Tight packing, swift unpacking, no nonsense."

Features

  • Blazing Fast: Core logic is implemented in Rust using PyO3, ensuring near-native speed.
  • Modern CLI: Built with Typer and Rich for a clean, professional command-line experience.
  • Integrity: Native SHA256 checksum verification plus instant metadata inspection (author, timestamp, comments) without unpacking.
  • Smart Filtering: Automatically respects .veghignore and .gitignore rules.
  • Network Ready: Built-in send command to push snapshots to remote endpoints.

Installation

Install directly from PyPI (or build locally using Maturin):

pip install pyvegh

CLI Usage

PyVegh provides a command-line interface via the vegh command.

  1. Create a snapshot:

Pack a directory into a highly compressed snapshot.

vegh snap ./my-project --output backup.snap
  1. Inspect & Verify

Check file integrity and view embedded metadata (Author, Timestamp, Tool Version).

vegh check backup.snap
  1. List Contents

View files inside the snapshot without extracting.

vegh list backup.snap
  1. Restore

Restore the snapshot to a target directory.

vegh restore backup.snap ./restored-folder
  1. Send

Send the snapshot to a remote server. (Now with chunking and --force-chunk option!)

vegh send backup.snap https://api.teaserverse.online/test --auth YOUR_TOKEN --force-chunk

Library Usage

You can also use PyVegh as a library in your own Python scripts:

import json
from vegh import create_snap, restore_snap, check_integrity, get_metadata

# 1. Create a snapshot
# Returns the number of files compressed
count = create_snap("src_folder", "backup.snap", comment="Automated backup")
print(f"Compressed {count} files.")

# 2. Check integrity (SHA256)
checksum = check_integrity("backup.snap")
print(f"SHA256: {checksum}")

# 3. Read Metadata (Fast, no unpacking)
# Returns a JSON string containing author, timestamp, etc.
raw_meta = get_metadata("backup.snap")
meta = json.loads(raw_meta)
print(f"Snapshot created by: {meta.get('author')}")

# 4. Restore
restore_snap("backup.snap", "dest_folder")

License

This project is under the MIT License.

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

pyvegh-0.2.2.tar.gz (18.0 kB view details)

Uploaded Source

Built Distributions

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

pyvegh-0.2.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyvegh-0.2.2-cp38-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8+Windows x86-64

pyvegh-0.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

pyvegh-0.2.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

pyvegh-0.2.2-cp38-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pyvegh-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file pyvegh-0.2.2.tar.gz.

File metadata

  • Download URL: pyvegh-0.2.2.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvegh-0.2.2.tar.gz
Algorithm Hash digest
SHA256 cec435e053e6316329187c485456aa9b22d7b1041b72686a2dfc62b63774c368
MD5 3c0f2bacf90237d2ab1b52c6a584b9a5
BLAKE2b-256 0a7af6a58fbb4ec1552890c70f2e240bd0c8a9d8372cd6fcc485e6d631cced39

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.2.tar.gz:

Publisher: release.yml on CodeTease/pyvegh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvegh-0.2.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 edb5f07b570304289a8915a42ed8ec0edf7c7cdd046424cd69151690c2b79576
MD5 db2eb2462e0be7a2232349320852adf0
BLAKE2b-256 6c6d93d38ae0d793b2a2bc8136a7a89845e43f962dadba8c6d982672aea5566d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CodeTease/pyvegh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvegh-0.2.2-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: pyvegh-0.2.2-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvegh-0.2.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3263bb2cf3407ebf14eae5f089b59da932b1e166fd94495c6c62e12c905fbc64
MD5 1e92dc25a9a7e336c506d49c813602f4
BLAKE2b-256 37bc94974cc682cffd7a6a7660adcf9c4f759a70f013070b7f17635cb4646f85

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.2-cp38-abi3-win_amd64.whl:

Publisher: release.yml on CodeTease/pyvegh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvegh-0.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54fdbe62166acc3f1e1ba4a4864a7845510254cdad516ee065f994d2f5040858
MD5 0be5121dd31f889fe0f31e773b69f4cc
BLAKE2b-256 4cbb1d19b6165f6e68f886661f296269ca7d625cb0b97c3d007987d2e79f2399

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on CodeTease/pyvegh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvegh-0.2.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a1bf625161f7492df9f6b662a27fcb620c54f797277391022beb29d27a60089
MD5 d49868fdbdb60ed343e97afe9d801b32
BLAKE2b-256 697136a56da928e87062daf03c71fdfcb0d6e89e76c4ee4a0b3dcea551ea09d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on CodeTease/pyvegh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvegh-0.2.2-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 677efe5e582c4c143214cf3ca1e33925d82eeaf74a324846708894fe993c1b8e
MD5 90b074e8020bf94b9f4b925d7fd7598f
BLAKE2b-256 25181ca6975c50ed304a9e65d330072956568ea476051856c6ae89b3310fd5af

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.2-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on CodeTease/pyvegh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvegh-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c335b0bc19d50f6c037745e8446991423b70744dd4bca2f7bebbf834124439e5
MD5 43e5c45c7793c7fa1edb3d15f79fe07a
BLAKE2b-256 749407633bd586b5a71e6345de58fb6b4ffcb94d34c5982468a6b2e68d003402

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on CodeTease/pyvegh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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