# Installation

## Requirements

- Python: 3.12 or higher

- boto3: 1.34 or higher (required for the S3 backend)

## Package Installation

Using pip:

    pip install granite-assets

Using UV (fastest):

    uv add granite-assets

Using Poetry:

    poetry add granite-assets

## Development Installation

    git clone https://github.com/your-org/granite-assets.git
    cd granite-assets
    uv sync

## S3 Extra

The S3 backend depends on `boto3`, which is already declared as a hard dependency. No extra installation step is required. If you are deploying in a Lambda or container environment and want to trim the package size, you can omit boto3 from your image and only import `LocalNginxAssetRepository`.

    pip install granite-assets   # boto3 included

## Type Checking

`granite-assets` ships a `py.typed` marker, so mypy and pyright will pick up the inline type annotations automatically without any additional configuration.