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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

pyvegh-0.2.5-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.5.tar.gz.

File metadata

  • Download URL: pyvegh-0.2.5.tar.gz
  • Upload date:
  • Size: 22.1 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.5.tar.gz
Algorithm Hash digest
SHA256 f26b2c6fe4c71c71663151ebf2342b9e68055c0e9c93f4d82e7297d538f58186
MD5 f29dfcfcb2ab1f45cb6123ac263f1e18
BLAKE2b-256 d4436dfbf99b19f04b62372584615588450c13930eefb90631f8a8afe9ab0f64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 334d227ffe356911678e5b2626de756c1c624e856f3971e78186d3d00a13271c
MD5 07e26c2fc72161a91b7d313d4061a9b9
BLAKE2b-256 820a8e76e5f266554d24db4c070601d2d341c232e4ca2fc4f9f56d3b6a93062f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyvegh-0.2.5-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.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a63c7a8a2cd883a0b6cf12967075671beb5ae399efb2e56c5eab8c30b41a9b67
MD5 340b8e6c8ea293efcdc12cb7f539dfcf
BLAKE2b-256 74de539f6955185da5e26a8ad4a80e3000053c88f054ed625522fb128da1bb2e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 342d010bb61160984db2c49ad81de123737166766897e642c37fbbf5fd43d024
MD5 48d4f967351754dd87a46aa920afa54d
BLAKE2b-256 95f5194e37f5984e7c0534d09e17710b3b964bed6cb7fdf55fc52a50d4ce8db5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9ab945b11369e9b34ef5f2baa9caa962083383f5022da8ae86efaef1d1a679c3
MD5 5562270f82952a69a95b67ac0901e215
BLAKE2b-256 9867158f009b5833bc63da804458e18a569399d1f6f502064c53834e5182b649

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67c508347285c535f1f0955a881e90bdf9e5c12b1f1da0f9b5d493e3bfd48e88
MD5 fa8f24e752faa5abe2713916f9bc22db
BLAKE2b-256 3685f91e7f16fca5e18e317dd05020de58641331ca3c87e3e10be4113717a55b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyvegh-0.2.5-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 65b59e28832cc865cd2e32a36a439e47019f0515d25e0751d417516c373ec018
MD5 9885eb398395569c5c6a864b4c15e2ed
BLAKE2b-256 3193375465dee24452c1772f7e496ffb63abc5bd7949099642dc4367db3a0468

See more details on using hashes here.

Provenance

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