30 lines
611 B
Python
30 lines
611 B
Python
|
|
"""
|
||
|
|
Package metadata management.
|
||
|
|
|
||
|
|
Provides dataclasses and utilities for managing package
|
||
|
|
and asset metadata in advanced packaging formats.
|
||
|
|
"""
|
||
|
|
|
||
|
|
from dataclasses import dataclass
|
||
|
|
from typing import List, Optional
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class AssetMetadata:
|
||
|
|
"""Metadata for an asset in a package."""
|
||
|
|
path: str
|
||
|
|
original_path: str
|
||
|
|
size: int
|
||
|
|
checksum: str
|
||
|
|
mime_type: Optional[str] = None
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass
|
||
|
|
class PackageMetadata:
|
||
|
|
"""Metadata for a package."""
|
||
|
|
format: str
|
||
|
|
version: str
|
||
|
|
created: str
|
||
|
|
markitect_version: str
|
||
|
|
assets: List[AssetMetadata]
|
||
|
|
dependencies: List[str] = None
|