You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
498 B
Python
21 lines
498 B
Python
2 years ago
|
from __future__ import annotations
|
||
|
|
||
|
from pathlib import Path
|
||
|
from typing import Mapping, NewType, Optional, TypedDict
|
||
|
|
||
|
from .service import ServiceName, ServiceDef
|
||
|
from .volume import VolumeName, VolumeDef
|
||
|
|
||
|
|
||
|
ComposeVersion = NewType("ComposeVersion", str)
|
||
|
|
||
|
|
||
|
class _ComposeDefRequired(TypedDict):
|
||
|
_dirname: Path
|
||
|
version: ComposeVersion
|
||
|
|
||
|
|
||
|
class ComposeDef(_ComposeDefRequired, total=False):
|
||
|
services: Mapping[ServiceName, ServiceDef]
|
||
|
volumes: Mapping[VolumeName, Optional[VolumeDef]]
|