pds.api_client.models.pds_product module
PDS Registry Search API
Registry API enabling advanced search on PDS data and metadata. The API provides end-points to search for bundles, collections and any PDS products with advanced search queries. It also enables to browse the archive hierarchically downward (e.g. collection/s products) or upward (e.g. bundles containing a product).
The version of the OpenAPI document: 1.5.0 Contact: pds-operator@jpl.nasa.gov Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
- class pds.api_client.models.pds_product.PdsProduct(*, description: str | None = None, id: str, investigations: List[Reference] | None = None, metadata: Metadata, observing_system_components: List[Reference] | None = None, properties: Dict[str, List[str]] | None = None, start_date_time: str | None = None, stop_date_time: str | None = None, targets: List[Reference] | None = None, title: str | None = None, type: str | None = None)[source]
Bases:
BaseModel
default PDS product description format for the API.
- description: StrictStr | None
- classmethod from_dict(obj: Dict[str, Any] | None) Self | None [source]
Create an instance of PdsProduct from a dict
- classmethod from_json(json_str: str) Self | None [source]
Create an instance of PdsProduct from a JSON string
- id: StrictStr
- model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'protected_namespaces': (), 'validate_assignment': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'description': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False), 'id': FieldInfo(annotation=str, required=True, description='identifier lidvid of the collection', metadata=[Strict(strict=True)]), 'investigations': FieldInfo(annotation=Union[List[pds.api_client.models.reference.Reference], NoneType], required=False, description='list of missions or observing campaigns which produced the data'), 'metadata': FieldInfo(annotation=Metadata, required=True), 'observing_system_components': FieldInfo(annotation=Union[List[pds.api_client.models.reference.Reference], NoneType], required=False, description='list of instruments or platforms generating the data'), 'properties': FieldInfo(annotation=Union[Dict[str, List[Annotated[str, Strict(strict=True)]]], NoneType], required=False, description="propertie's values extracted from pds4 model, as a dictionnary, syntax for property name is {namespace}:{property}[{namespace}:{property}]*"), 'start_date_time': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False, description='start date time of the observations in ISO8601'), 'stop_date_time': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False, description='stop date time of the observations in ISO8601'), 'targets': FieldInfo(annotation=Union[List[pds.api_client.models.reference.Reference], NoneType], required=False, description='list of targets or feature of interest the observation.'), 'title': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False), 'type': FieldInfo(annotation=Union[Annotated[str, Strict(strict=True)], NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- model_post_init(__context: Any) None
This function is meant to behave like a BaseModel method to initialise private attributes.
It takes context as an argument since that’s what pydantic-core passes when calling it.
- Args:
self: The BaseModel instance. __context: The context.
- properties: Dict[str, List[StrictStr]] | None
- start_date_time: StrictStr | None
- stop_date_time: StrictStr | None
- title: StrictStr | None
- to_dict() Dict[str, Any] [source]
Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic’s self.model_dump(by_alias=True):
None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.
- type: StrictStr | None