class_docstr: Wrapper around Asana Python client library.
class_docstr_tok: ["Wrapper","around","Asana","Python","client","library","."]
docstr: Retrieve a list of Asana projects that match search parameters.
  
  :param params: Attributes which matching projects should have. See
      https://developers.asana.com/docs/get-multiple-projects
      for a list of possible parameters.
  :return: A list of dicts containing attributes of matching Asana projects
docstr_tok: ["Retrieve","a","list","of","Asana","projects","that","match","search","parameters",".",":","param","params",":","Attributes","which","matching","projects","should","have",".","See","https",":","\/\/developers.asana.com\/docs\/get-multiple-projects","for","a","list","of","possible","parameters",".",":","return",":","A","list","of","dicts","containing","attributes","of","matching","Asana","projects"]
code: def find_project(self, params: dict) -> list:
      """
      Retrieve a list of Asana projects that match search parameters.
  
      :param params: Attributes which matching projects should have. See
          https://developers.asana.com/docs/get-multiple-projects
          for a list of possible parameters.
      :return: A list of dicts containing attributes of matching Asana projects
      """
      merged_params = self._merge_project_parameters(params)
      response = self.client.projects.find_all(merged_params)
      return list(response)
  
imports: from __future__ import annotations
  from functools import cached_property
  from typing import Any
  from asana import Client
  from asana.error import NotFoundError
  from airflow.hooks.base import BaseHook
label_desc: Use image node_id 18 for calling the AsanaHook obj's underlying member method code with example usage: obj.find_project(params) and returns: list