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.1.tar.gz (16.6 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.1-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.1-cp38-abi3-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8+Windows x86-64

pyvegh-0.2.1-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.1-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.1-cp38-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pyvegh-0.2.1-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.1.tar.gz.

File metadata

  • Download URL: pyvegh-0.2.1.tar.gz
  • Upload date:
  • Size: 16.6 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.1.tar.gz
Algorithm Hash digest
SHA256 3ee34e69f90c1ae37fb94a690ac0838a9a683f9adf90a503bc8094e685cec092
MD5 7aff4d84920eb24310eae55c806d2d8f
BLAKE2b-256 0c6243d8452731ffe1e6d9a71141578877398b621610fc6d5b4f39de5055b9cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.1.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.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4703efb8dbf7c98f8dcd5fe2aed36db8105e10d7af4923d5300bca7a33c8a7e2
MD5 bef2c15c19087df3391391170a28d32d
BLAKE2b-256 97a67b2e0e510868f03effc5145774cc7937191e6b9c8a9a94dd42951b7817db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.1-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.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: pyvegh-0.2.1-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.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5520e9c23678cb3dc162ddf19021ed4fbe1edfc72ce7de9b21e279b3a6bfd11c
MD5 58937355b127bae22d0d74e1198fc1a5
BLAKE2b-256 dd3ed6c14f62411a3a01d8caee844bb81ae38f072792eb362db14d4793b84b95

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.1-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.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a55159d2c640412be5deab8be5747b17b23ad0f08817bc8f4d3bc48ce1261ecc
MD5 363fd9546c83acb379d7e94e4679c996
BLAKE2b-256 3d717d05849966176e29b76647eb3e30323d0d824fe6a55e6ec4a1d0de716ac6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.1-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.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1f1a24362e48650f35461edfedbb7b0727a18be77cbfa29ea23f88f4a5fe5c27
MD5 ccba3d39e7e4050ac1330bf1a55738be
BLAKE2b-256 a36f0ce5e45656a047e51ee6c7ac98ec81123e74b5c905d1d92538fe0d478ed2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.1-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.1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75309e9d000fb13a18c8220d7770d968a0288b02682f0d1281614da27ffffdc2
MD5 78e475682cd8db9861c962c0ad441b3c
BLAKE2b-256 11d84c47066c13c2c194a53e908290653b4462cafde40b60786f43f54d041b85

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.1-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.1-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyvegh-0.2.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f1cafb72a0b943b2cddd758ebc6622f859bd406c471e8cc8eebf3f7210b9cbd4
MD5 11804c1406dcf2dd1b5e5d3dae8098f4
BLAKE2b-256 555ac5cf8ce86e54fea00c9d9343de0dd044ec8e80b0dc1310dded299a920962

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvegh-0.2.1-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