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

34 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-02-05 13:53 +0000

1from typing import Literal, Optional 

2 

3from pydantic import Field 

4from typing_extensions import Annotated 

5 

6from .._internal.common_nodes import Node 

7from .._internal.io_basics import AbsoluteFilePath as AbsoluteFilePath 

8from .._internal.types import ImportantFileSource 

9from .._internal.url import HttpUrl as HttpUrl 

10from ..generic.v0_2 import VALID_COVER_IMAGE_EXTENSIONS as VALID_COVER_IMAGE_EXTENSIONS 

11from ..generic.v0_2 import AttachmentsDescr as AttachmentsDescr 

12from ..generic.v0_2 import Author as Author 

13from ..generic.v0_2 import BadgeDescr as BadgeDescr 

14from ..generic.v0_2 import CiteEntry as CiteEntry 

15from ..generic.v0_2 import Doi as Doi 

16from ..generic.v0_2 import GenericDescrBase 

17from ..generic.v0_2 import LinkedResource as LinkedResource 

18from ..generic.v0_2 import Maintainer as Maintainer 

19from ..generic.v0_2 import OrcidId as OrcidId 

20from ..generic.v0_2 import RelativeFilePath as RelativeFilePath 

21from ..generic.v0_2 import ResourceId as ResourceId 

22from ..generic.v0_2 import Uploader as Uploader 

23from ..generic.v0_2 import Version as Version 

24 

25 

26class ApplicationId(ResourceId): 

27 pass 

28 

29 

30class ApplicationDescr(GenericDescrBase): 

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

32 

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

34 

35 id: Optional[ApplicationId] = None 

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

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

38 

39 source: Annotated[ 

40 Optional[ImportantFileSource], 

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

42 ] = None 

43 """The primary source of the application""" 

44 

45 

46class LinkedApplication(Node): 

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

48 

49 id: ApplicationId 

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

51 

52 version_number: Optional[int] = None 

53 """version number (n-th published version, not the semantic version) of linked application"""