Coverage for bioimageio/spec/application/v0_3.py: 100%

38 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-02 14:21 +0000

1from typing import TYPE_CHECKING, ClassVar, Literal, Optional 

2 

3from pydantic import Field 

4from typing_extensions import Annotated 

5 

6from .._internal.io import FileDescr as FileDescr 

7from .._internal.io_basics import AbsoluteFilePath as AbsoluteFilePath 

8from .._internal.io_basics import Sha256 as Sha256 

9from .._internal.types import ImportantFileSource 

10from .._internal.url import HttpUrl as HttpUrl 

11from ..generic.v0_3 import VALID_COVER_IMAGE_EXTENSIONS as VALID_COVER_IMAGE_EXTENSIONS 

12from ..generic.v0_3 import Author as Author 

13from ..generic.v0_3 import BadgeDescr as BadgeDescr 

14from ..generic.v0_3 import BioimageioConfig as BioimageioConfig 

15from ..generic.v0_3 import CiteEntry as CiteEntry 

16from ..generic.v0_3 import Config as Config 

17from ..generic.v0_3 import DeprecatedLicenseId as DeprecatedLicenseId 

18from ..generic.v0_3 import Doi as Doi 

19from ..generic.v0_3 import GenericDescrBase, LinkedResourceBase, ResourceId 

20from ..generic.v0_3 import LicenseId as LicenseId 

21from ..generic.v0_3 import LinkedResource as LinkedResource 

22from ..generic.v0_3 import Maintainer as Maintainer 

23from ..generic.v0_3 import OrcidId as OrcidId 

24from ..generic.v0_3 import RelativeFilePath as RelativeFilePath 

25from ..generic.v0_3 import Uploader as Uploader 

26from ..generic.v0_3 import Version as Version 

27 

28 

29class ApplicationId(ResourceId): 

30 pass 

31 

32 

33class ApplicationDescr(GenericDescrBase): 

34 """Bioimage.io description of an application.""" 

35 

36 implemented_type: ClassVar[Literal["application"]] = "application" 

37 if TYPE_CHECKING: 

38 type: Literal["application"] = "application" 

39 else: 

40 type: Literal["application"] 

41 

42 id: Optional[ApplicationId] = None 

43 """bioimage.io-wide unique resource identifier 

44 assigned by bioimage.io; version **un**specific.""" 

45 

46 parent: Optional[ApplicationId] = None 

47 """The description from which this one is derived""" 

48 

49 source: Annotated[ 

50 Optional[ImportantFileSource], 

51 Field(description="URL or path to the source of the application"), 

52 ] = None 

53 """The primary source of the application""" 

54 

55 

56class LinkedApplication(LinkedResourceBase): 

57 """Reference to a bioimage.io application.""" 

58 

59 id: ApplicationId 

60 """A valid application `id` from the bioimage.io collection."""