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

39 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-18 09:17 +0000

1from __future__ import annotations 

2 

3from typing import TYPE_CHECKING, ClassVar, Literal 

4 

5from pydantic import Field 

6from typing_extensions import Annotated 

7 

8from .._internal.io import FileDescr as FileDescr 

9from .._internal.io_basics import Sha256 as Sha256 

10from .._internal.io_packaging import FileSource_package 

11from .._internal.types import FAIR 

12from .._internal.url import HttpUrl as HttpUrl 

13from ..generic.v0_3 import VALID_COVER_IMAGE_EXTENSIONS as VALID_COVER_IMAGE_EXTENSIONS 

14from ..generic.v0_3 import Author as Author 

15from ..generic.v0_3 import BadgeDescr as BadgeDescr 

16from ..generic.v0_3 import BioimageioConfig as BioimageioConfig 

17from ..generic.v0_3 import CiteEntry as CiteEntry 

18from ..generic.v0_3 import Config as Config 

19from ..generic.v0_3 import DeprecatedLicenseId as DeprecatedLicenseId 

20from ..generic.v0_3 import Doi as Doi 

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

22from ..generic.v0_3 import LicenseId as LicenseId 

23from ..generic.v0_3 import LinkedResource as LinkedResource 

24from ..generic.v0_3 import Maintainer as Maintainer 

25from ..generic.v0_3 import OrcidId as OrcidId 

26from ..generic.v0_3 import RelativeFilePath as RelativeFilePath 

27from ..generic.v0_3 import Uploader as Uploader 

28from ..generic.v0_3 import Version as Version 

29 

30 

31class ApplicationId(ResourceId): 

32 pass 

33 

34 

35class ApplicationDescr(GenericDescrBase): 

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

37 

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

39 if TYPE_CHECKING: 

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

41 else: 

42 type: Literal["application"] 

43 

44 id: ApplicationId | None = None 

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

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

47 

48 parent: ApplicationId | None = None 

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

50 

51 source: Annotated[ 

52 FAIR[FileSource_package | None], 

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

54 ] = None 

55 """The primary source of the application""" 

56 

57 

58class LinkedApplication(LinkedResourceBase): 

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

60 

61 id: ApplicationId 

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