fastar
v0.12.0High-level bindings for the Rust tar crate
439 KB Python 3.8+ platform-specificMIT License
$ uv add fastarFastar
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.
Installation
pip install fastar
Usage
This 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!
Opening Modes
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 |
Development
- 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
Details
- Version
- 0.12.0
- License
- MIT License
- Python
- >=3.8
- Maintainer
- Jonathan Ehwald <[email protected]>
Release Cadence
13
releases in the past year
avg 25 days between releases
Platforms
linuxarm64mac-x86mac-armwinmusl
Maintainers
- Jonathan Ehwald · [email protected]