async def list_programs_async(
        self,
        created_before: datetime.datetime | datetime.date | None = None,
        created_after: datetime.datetime | datetime.date | None = None,
        has_labels: dict[str, str] | None = None,
    ) -> list[abstract_program.AbstractProgram]:
        """Returns a list of previously executed quantum programs.

        Args:
            created_after: retrieve programs that were created after this date
                or time.
            created_before: retrieve programs that were created after this date
                or time.
            has_labels: retrieve programs that have labels on them specified by
                this dict. If the value is set to `*`, filters having the label
                regardless of the label value will be filtered. For example, to
                query programs that have the shape label and have the color
                label with value red can be queried using
                `{'color: red', 'shape:*'}`
        """

        client = self.context.client
        response = await client.list_programs_async(
            self.project_id,
            created_before=created_before,
            created_after=created_after,
            has_labels=has_labels,
        )
        return [
            engine_program.EngineProgram(
                project_id=engine_client._ids_from_program_name(p.name)[0],
                program_id=engine_client._ids_from_program_name(p.name)[1],
                _program=p,
                context=self.context,
            )
            for p in response
        ]
Returns a list of previously executed quantum programs.

        Args:
            created_after: retrieve programs that were created after this date
                or time.
            created_before: retrieve programs that were created after this date
                or time.
            has_labels: retrieve programs that have labels on them specified by
                this dict. If the value is set to `*`, filters having the label
                regardless of the label value will be filtered. For example, to
                query programs that have the shape label and have the color
                label with value red can be queried using
                `{'color: red', 'shape:*'}`
        
cirq-google/cirq_google/engine/engine.py