MCPcopy Index your code
hub / github.com/SteveGremory/Zap

github.com/SteveGremory/Zap @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
201 symbols 306 edges 23 files 4 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Zap

Compress and/or encrypt folders fast. Like, really fast. or as some say... blazingly fast.

Installation

To install Zap, run the following command from the project root: cargo install --path .

Usage

In order to compress a folder with Zap, run:

zap archive [INPUT] [OUTPUT]

Where the [OUTPUT] is the path to which you want to store the .zap file. Eg:

zap archive /path/to/dir ./dir.zap -ce

Using zap archive --help will list the available options for encryption and compression.

In order to decompress a Zap archive

zap extract [ARCHIVE] [OUTPUT]

Where the [ARCHIVE] is the path to the file which you want to extract and the [OUTPUT] is the folder in which you want the contents to be placed inside.

Using zap archive --help will list the available options for encryption and compression.

zap extract ./dir.zap ./dir -ce

Unfortunately, in it's current state, that compression and encryption methods aren't stored in metadata and must be given when extracting. this will be fixed in coming releases.

In order to list the contents of a Zap archive

zap list [ARCHIVE]

coming soon

License

This project is licensed under the LGPL v3.

See LICENSE.md file for details.

LGPL v3 Logo

Note that Zap is still alpha software and is bound to change core features until version 0.5.0

Extension points exported contracts — how you extend this code

EncryptionModule (Interface)
(no doc) [4 implementers]
src/encryption/mod.rs
Compress (Interface)
(no doc) [4 implementers]
src/compression/mod.rs
Cleanup (Interface)
Cleanup is a function that signals for all nested writers/readers that no more will be read/written and to pad and dump
src/internal/mod.rs
Sign (Interface)
(no doc) [1 implementers]
src/signing/mod.rs
CompressionPipeline (Interface)
(no doc) [1 implementers]
src/pipeline/mod.rs
DecryptionModule (Interface)
(no doc) [4 implementers]
src/encryption/mod.rs
Decompress (Interface)
(no doc) [4 implementers]
src/compression/mod.rs
Verify (Interface)
(no doc) [1 implementers]
src/signing/mod.rs

Core symbols most depended-on inside this repo

into
called by 13
src/bin/cli_util/encryption.rs
with_key
called by 6
src/encryption/chachapoly.rs
compressor
called by 5
src/compression/lz4.rs
decompressor
called by 5
src/compression/lz4.rs
build_compressor
called by 5
src/pipeline/mod.rs
build_decompressor
called by 5
src/pipeline/mod.rs
encryptor
called by 4
src/encryption/chachapoly.rs
decryptor
called by 4
src/encryption/chachapoly.rs

Shape

Method 116
Class 34
Enum 24
Interface 17
Function 10

Languages

Rust100%

Modules by API surface

src/pipeline/mod.rs33 symbols
src/error.rs16 symbols
src/encryption/aes_gcm_256.rs13 symbols
src/encryption/passthrough.rs12 symbols
src/compression/gzip.rs12 symbols
src/encryption/xchachapoly.rs11 symbols
src/encryption/chachapoly.rs11 symbols
src/compression/snappy.rs11 symbols
src/compression/passthrough.rs11 symbols
src/compression/lz4.rs11 symbols
src/signing/mod.rs9 symbols
src/encryption/mod.rs9 symbols

For agents

$ claude mcp add Zap \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact