from typing import Optional
from typing import Dict
from typing import Any


def init_manifest(
    package_name: str, version: str, manifest_version: Optional[str] = "ethpm/3"
) -> Dict[str, Any]:
    """
    Returns an initial dict with the minimal requried fields for a valid manifest.
    Should only be used as the first fn to be piped into a `build()` pipeline.
    """
    return {
        "name": package_name,
        "version": version,
        "manifest": manifest_version,
    }