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.3.0.tar.gz (26.4 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.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyvegh-0.3.0-cp38-abi3-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

pyvegh-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

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

pyvegh-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

pyvegh-0.3.0-cp38-abi3-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pyvegh-0.3.0-cp38-abi3-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyvegh-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b707a629886fe7c0c63ea1a04a660f118131ae1e734c46f91031ea58c83fdd5f
MD5 6de482cbb1f1572a98a3131e5b0694bb
BLAKE2b-256 d97253fb8b1abd492f1a1aae86dd1f0ea24ed54fb4e9974420e17413fab2bf13

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8cf3bd434c83f384e7d25d9b5b16a7dde384ff9365143a08370d963aff2f800
MD5 ed52b21c76d51713a3775c5561e2d483
BLAKE2b-256 b6bb93825df80abe1f7d7b821a015a824e2b996e7a63b3a1114009651d82a5f0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyvegh-0.3.0-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.1 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.3.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 053b2f0bfa974d2d704cc4233f44880871c182b8755cfe6eade099cd326eb0c3
MD5 f2caa5c78dd2521c03c01f6638e0055a
BLAKE2b-256 731f62e27fbd411fa2662a74223442b0527f0ceb140d8b26bfa6c745c568baae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 49ada1c02e65856be8bd64f4566d8d008d9505353d940de3c7bf750cad34eaf7
MD5 7c5aaeda1dbc252ae91f8c35530dc90f
BLAKE2b-256 a005e6d32f087dfc3c903219749ee6f44e36e3413a8bfad893dc2e0cdc35c2aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 666d55206634ca131a90c4c26eecc6255e50916e3b7b9405d808a84e76f9d4f3
MD5 f58a1584e5a5961f7fdb165136b54cab
BLAKE2b-256 d54aed095eb877d2c7bbd823d8e9101cfb105ba402366d045742b467ba9e9835

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.3.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa2c22e28a60e655a1dbfd1e73b35011a518181f04c297531b9a54471b537b4f
MD5 dbe16b6e42740633b843ed6b5268f44d
BLAKE2b-256 27495847ca9887d1f82de0cfb4e7f27920bbc29b4bad4b58922c4d1087ecd2fd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.3.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f0a605005d387ac2952ca9a41ab4bea049a3e9910db4a16b0deab26b8f265752
MD5 c4e077373ccd91e6098cc52bf56625a2
BLAKE2b-256 a834f8999b19b9347d9263b87ee59e67f613fa583cf4af3f4d60495c08e2c811

See more details on using hashes here.

Provenance

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