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.
  • Code Analytics: Instant LOC (Lines of Code) counting inside snapshots without extraction.
  • 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
  1. Analytics (LOC)

Count Lines of Code instantly.

vegh loc backup.snap

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.4.tar.gz (22.3 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.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8+Windows x86-64

pyvegh-0.2.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

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

pyvegh-0.2.4-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.4-cp38-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pyvegh-0.2.4-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.4.tar.gz.

File metadata

  • Download URL: pyvegh-0.2.4.tar.gz
  • Upload date:
  • Size: 22.3 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.4.tar.gz
Algorithm Hash digest
SHA256 644f1830eef2d73f45411cda73e8deabb9b885636ec78473394e155698032e66
MD5 b06044987e9b37b96ebcc43929fc3390
BLAKE2b-256 8fb5882a4b91831efde5260667dec6d7f070add479ca32bcf10d61f252e3b63c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b9d272adbc61f694de5807306b2cb1676ed248f0dc93715a1fd5421914cede1
MD5 42784fdbf6c04a7ac938d79e2769532c
BLAKE2b-256 2cae17b1caf054f6f2a5d8f3afb4890badd6617d3e52a33544c17162a770cc15

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyvegh-0.2.4-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.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 29517d718a52a0723dd6a475521263cceedbdc2299223c96633bd4723dc3f138
MD5 7ec263f1bca0e13b4bdb699809e58d52
BLAKE2b-256 46410938c291c203b8cb8c8ebc7d3a3fa7582edaf7ff8a9bdfbfedc14188b026

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 529324d13a5d4790106fb5ffd1a97d8b4338030e1f938077b48dceaf17da69ce
MD5 0f45ea49a8ba7fb3f517668e6abe8578
BLAKE2b-256 86eb93345e748b03915e4a9e3f2ea378bae970e1bb21ee7cba4480ed172e7894

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d3132c1bea38c666675269d6075237856dd4779b2091f5bde89c25b995a254c7
MD5 424e85f00709a3aad3ad316f44868ad0
BLAKE2b-256 8de62f8e4bf08ef8ef9d71c837471268e8c1df10e2c617e9149b3b47d104b20f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75ec1c3a63f1320e5765f95ceab41358b8ab832924987d6e8402fc1374ec1389
MD5 4d8d40283d20dc86feb74adf58142e39
BLAKE2b-256 5101f30393807437e1a0f4d09ef14c9c111af6630771872eb112aaceeb421f46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b3a3e0d814db5e8e8cd29dcbc1c00bea2d4a2363fba6b31947ec66178310350d
MD5 bd473673ffee4d1a1a78ebb509c6d8cb
BLAKE2b-256 8e203fa3f74feca408c84030cc83fdd9683aa68b869553ada3fc46fc63d1757f

See more details on using hashes here.

Provenance

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