"""Upload action for {{ name }}."""

from __future__ import annotations

from pathlib import Path
from typing import Any, Iterator


class Uploader:
    """Uploader class for {{ name }}.

    This class handles data upload from external sources.
    """

    def __init__(self, source_path: str | Path, **kwargs: Any) -> None:
        """Initialize the uploader.

        Args:
            source_path: Path to source data.
            **kwargs: Additional configuration options.
        """
        self.source_path = Path(source_path)

    def upload(self) -> Iterator[dict[str, Any]]:
        """Upload data from source.

        Yields:
            Data items to upload.
        """
        # TODO: Implement your upload logic here
        # Each yielded item should be a dict with file info
        yield {
            'file': self.source_path / 'example.jpg',
            'metadata': {},
        }
