academic_observatory_workflows.openalex_telescope.release ========================================================= .. py:module:: academic_observatory_workflows.openalex_telescope.release Classes ------- .. autoapisummary:: academic_observatory_workflows.openalex_telescope.release.OpenAlexEntity academic_observatory_workflows.openalex_telescope.release.Manifest academic_observatory_workflows.openalex_telescope.release.Meta academic_observatory_workflows.openalex_telescope.release.ManifestEntry academic_observatory_workflows.openalex_telescope.release.MergedId Functions --------- .. autoapisummary:: academic_observatory_workflows.openalex_telescope.release.s3_uri_parts Module Contents --------------- .. py:class:: OpenAlexEntity(*, dag_id: str, run_id: str, cloud_workspace: observatory_platform.airflow.workflow.CloudWorkspace, entity_name: str, bq_dataset_id: str, schema_folder: str, snapshot_date: pendulum.DateTime, manifest: Manifest, merged_ids: List[MergedId], is_first_run: bool) Bases: :py:obj:`observatory_platform.airflow.release.SnapshotRelease` .. py:attribute:: cloud_workspace .. py:attribute:: entity_name .. py:attribute:: bq_dataset_id .. py:attribute:: schema_folder .. py:attribute:: manifest .. py:attribute:: merged_ids .. py:attribute:: is_first_run .. py:attribute:: transfer_manifest_uri .. py:attribute:: gcs_openalex_data_uri :value: 'gs://Uninferable/Uninferable/' .. py:attribute:: log_path .. py:property:: table_description .. py:property:: schema_file_path .. py:property:: generated_schema_path .. py:property:: data_uri .. py:property:: bq_table_id .. py:property:: entries .. py:method:: from_dict(dict_: dict) -> OpenAlexEntity :staticmethod: .. py:method:: to_dict() -> dict .. py:function:: s3_uri_parts(s3_uri: str) -> Tuple[str, str] Extracts the S3 bucket name and object key from the given S3 URI. :param s3_uri: str, S3 URI in format s3://mybucketname/path/to/object :return: tuple, (bucket_name, object_key) .. py:class:: Manifest(entries: List[ManifestEntry], meta: Meta) .. py:attribute:: entries .. py:attribute:: meta .. py:method:: __eq__(other) .. py:method:: from_dict(dict_: Dict) -> Manifest :staticmethod: .. py:method:: to_dict() -> Dict .. py:class:: Meta(content_length, record_count) .. py:attribute:: content_length .. py:attribute:: record_count .. py:method:: __eq__(other) .. py:method:: from_dict(dict_: Dict) -> Meta :staticmethod: .. py:method:: to_dict() -> Dict .. py:class:: ManifestEntry(url: str, meta: Meta) .. py:attribute:: meta .. py:method:: __eq__(other) .. py:property:: object_key .. py:property:: updated_date :type: pendulum.DateTime .. py:property:: file_name .. py:method:: from_dict(dict_: Dict) -> ManifestEntry :staticmethod: .. py:method:: to_dict() -> Dict .. py:class:: MergedId(url: str, content_length: int) .. py:attribute:: url .. py:attribute:: content_length .. py:method:: __eq__(other) .. py:property:: object_key .. py:property:: updated_date :type: pendulum.DateTime .. py:property:: file_name .. py:method:: from_dict(dict_: Dict) -> MergedId :staticmethod: .. py:method:: to_dict() -> Dict