The fastar library wraps the Rust tar, flate2, and zstd crates, providing a high-performance way to work with compressed and uncompressed tar archives in Python.
pip install fastarThis section shows basic examples of how to create and extract tar archives using Fastar. For more usage examples, please refer directly to the test cases in the tests directory.
import fastar
from pathlib import Path
input_file = Path("file.txt")
input_file.write_text("Hello, Fastar!")
with fastar.open("archive.tar", "w") as archive:
archive.append(input_file)
with fastar.open("archive.tar", "r") as archive:
archive.unpack("output/")
unpacked_file = Path("output/file.txt")
print(unpacked_file.read_text()) # Hello, Fastar!The fastar.open method supports the following modes:
| Mode | Action | Compression |
|---|---|---|
"w" |
Write | None |
"w:gz" |
Write | Gzip |
"w:zst" |
Write | Zstandard |
"r" |
Read | Automatically detected |
"r:" |
Read | None |
"r:gz" |
Read | Gzip |
"r:zst" |
Read | Zstandard |
- Install dependencies into a virtual env:
uv sync - Make changes to the code and tests
- Build the package:
uv run maturin develop - Run the tests:
uv run pytest