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.

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

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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

pyvegh-0.2.0-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.0.tar.gz.

File metadata

  • Download URL: pyvegh-0.2.0.tar.gz
  • Upload date:
  • Size: 15.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.0.tar.gz
Algorithm Hash digest
SHA256 63628de38cd18f51d27d9780c8ae4a283aa2eef924dea0b11f9cd67bad961096
MD5 095faf2bbc988e972134486109801baa
BLAKE2b-256 ebd34a9f87d346e168566709b66b7dd8cb48386c1cf5942e24c22900d5a84971

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca6e17a8cf76a9b592a917beab70485de6b0f95ab5218e55fa5c26f3588af86d
MD5 1629de0bc8852359a3ab4e24180d2eac
BLAKE2b-256 5b60eb283d79e408faa8daaebe2c558fe124106a667549118cfa0bbe3b5958ac

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyvegh-0.2.0-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.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 23b4ea53017c47ff1fa873845fb5a578ddb75a6715ba0c1c0d1beecf43def384
MD5 8ff60c45ea0cdba0ed9cea3cf2177a47
BLAKE2b-256 4f4b6ec14d081439d465604f2cc45bee7fd2d7552fc7e32242372ac64ca8681a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e26125556f0f7d35ff3d9e56e7a8e812024957ae1438904890a9568559d0d63
MD5 68122488a0bc0c6a039131ed2855c851
BLAKE2b-256 8611568c7d1dcc2b8bb6fc9f7f8097c68ed3910e1e042ca9f2eaa328042664ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 72d81651b7dd7f0421372df5c405afcf5ac5434eeabd057e39b52fc0a80854db
MD5 a52f8383a9439a867bc4d9188dedd198
BLAKE2b-256 602abd63abf9d7d7fa3a7f6e0941ecf7d4609522fa82918965b91076ce3a6eef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76d3844fab8b3797f9737c6b4e76424193fd4c39c0780dfae10bcc907310e2a4
MD5 7b478bd7cb99ed9a00e13a345ca128cf
BLAKE2b-256 ca742125d020026ed142633fcf781a5127a8b69e4f6b3e539d3867f6a126d643

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 38501063bdf94991d5cc5bd47d706b5b07c63da2762a7fb84d799922a7833a17
MD5 e1376a27318c0a04c9d89cfa08053e24
BLAKE2b-256 def832378c5c63ad627698b159de5bbaa9c591e7dcc4d5be2d833dbffd560854

See more details on using hashes here.

Provenance

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