Oven logo

Oven

fastar0.8.0

Published

High-level bindings for the Rust tar crate

pip install fastar

Package Downloads

Weekly DownloadsMonthly Downloads

Requires Python

>=3.8

Dependencies

    Fastar

    Versions PyPI Downloads License CodSpeed

    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:

    ModeActionCompression
    "w"WriteNone
    "w:gz"WriteGzip
    "w:zst"WriteZstandard
    "r"ReadAutomatically detected
    "r:"ReadNone
    "r:gz"ReadGzip
    "r:zst"ReadZstandard

    Development

    1. Install dependencies into a virtual env: uv sync
    2. Make changes to the code and tests
    3. Build the package: uv run maturin develop
    4. Run the tests: uv run pytest