diff --git a/README.md b/README.md index 69fa2e4..3df45ed 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,9 @@ response = client.apps.list( q="q", sort_key="name", sort_direction="asc", + has_components=True, + has_actions=True, + has_triggers=True, ) for item in response: yield item diff --git a/pyproject.toml b/pyproject.toml index 6335fad..b5aadbd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "pipedream" -version = "1.1.0" +version = "1.1.1" description = "" readme = "README.md" authors = [] diff --git a/src/pipedream/apps/client.py b/src/pipedream/apps/client.py index 4ab1cb0..9ee5c91 100644 --- a/src/pipedream/apps/client.py +++ b/src/pipedream/apps/client.py @@ -38,6 +38,9 @@ def list( sort_key: typing.Optional[AppsListRequestSortKey] = None, sort_direction: typing.Optional[AppsListRequestSortDirection] = None, category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, + has_components: typing.Optional[bool] = None, + has_actions: typing.Optional[bool] = None, + has_triggers: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[App, ListAppsResponse]: """ @@ -66,6 +69,15 @@ def list( category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]] Only return apps in these categories + has_components : typing.Optional[bool] + Filter to apps that have components (actions or triggers) + + has_actions : typing.Optional[bool] + Filter to apps that have actions + + has_triggers : typing.Optional[bool] + Filter to apps that have triggers + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -91,6 +103,9 @@ def list( q="q", sort_key="name", sort_direction="asc", + has_components=True, + has_actions=True, + has_triggers=True, ) for item in response: yield item @@ -106,6 +121,9 @@ def list( sort_key=sort_key, sort_direction=sort_direction, category_ids=category_ids, + has_components=has_components, + has_actions=has_actions, + has_triggers=has_triggers, request_options=request_options, ) @@ -169,6 +187,9 @@ async def list( sort_key: typing.Optional[AppsListRequestSortKey] = None, sort_direction: typing.Optional[AppsListRequestSortDirection] = None, category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, + has_components: typing.Optional[bool] = None, + has_actions: typing.Optional[bool] = None, + has_triggers: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[App, ListAppsResponse]: """ @@ -197,6 +218,15 @@ async def list( category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]] Only return apps in these categories + has_components : typing.Optional[bool] + Filter to apps that have components (actions or triggers) + + has_actions : typing.Optional[bool] + Filter to apps that have actions + + has_triggers : typing.Optional[bool] + Filter to apps that have triggers + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -227,6 +257,9 @@ async def main() -> None: q="q", sort_key="name", sort_direction="asc", + has_components=True, + has_actions=True, + has_triggers=True, ) async for item in response: yield item @@ -246,6 +279,9 @@ async def main() -> None: sort_key=sort_key, sort_direction=sort_direction, category_ids=category_ids, + has_components=has_components, + has_actions=has_actions, + has_triggers=has_triggers, request_options=request_options, ) diff --git a/src/pipedream/apps/raw_client.py b/src/pipedream/apps/raw_client.py index b71b5a3..f52dc52 100644 --- a/src/pipedream/apps/raw_client.py +++ b/src/pipedream/apps/raw_client.py @@ -31,6 +31,9 @@ def list( sort_key: typing.Optional[AppsListRequestSortKey] = None, sort_direction: typing.Optional[AppsListRequestSortDirection] = None, category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, + has_components: typing.Optional[bool] = None, + has_actions: typing.Optional[bool] = None, + has_triggers: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[App, ListAppsResponse]: """ @@ -59,6 +62,15 @@ def list( category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]] Only return apps in these categories + has_components : typing.Optional[bool] + Filter to apps that have components (actions or triggers) + + has_actions : typing.Optional[bool] + Filter to apps that have actions + + has_triggers : typing.Optional[bool] + Filter to apps that have triggers + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -78,6 +90,9 @@ def list( "sort_key": sort_key, "sort_direction": sort_direction, "category_ids": category_ids, + "has_components": has_components, + "has_actions": has_actions, + "has_triggers": has_triggers, }, request_options=request_options, ) @@ -104,6 +119,9 @@ def list( sort_key=sort_key, sort_direction=sort_direction, category_ids=category_ids, + has_components=has_components, + has_actions=has_actions, + has_triggers=has_triggers, request_options=request_options, ) return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) @@ -166,6 +184,9 @@ async def list( sort_key: typing.Optional[AppsListRequestSortKey] = None, sort_direction: typing.Optional[AppsListRequestSortDirection] = None, category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None, + has_components: typing.Optional[bool] = None, + has_actions: typing.Optional[bool] = None, + has_triggers: typing.Optional[bool] = None, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[App, ListAppsResponse]: """ @@ -194,6 +215,15 @@ async def list( category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]] Only return apps in these categories + has_components : typing.Optional[bool] + Filter to apps that have components (actions or triggers) + + has_actions : typing.Optional[bool] + Filter to apps that have actions + + has_triggers : typing.Optional[bool] + Filter to apps that have triggers + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -213,6 +243,9 @@ async def list( "sort_key": sort_key, "sort_direction": sort_direction, "category_ids": category_ids, + "has_components": has_components, + "has_actions": has_actions, + "has_triggers": has_triggers, }, request_options=request_options, ) @@ -241,6 +274,9 @@ async def _get_next(): sort_key=sort_key, sort_direction=sort_direction, category_ids=category_ids, + has_components=has_components, + has_actions=has_actions, + has_triggers=has_triggers, request_options=request_options, ) diff --git a/src/pipedream/core/client_wrapper.py b/src/pipedream/core/client_wrapper.py index dd5c65a..e76f5e3 100644 --- a/src/pipedream/core/client_wrapper.py +++ b/src/pipedream/core/client_wrapper.py @@ -27,10 +27,10 @@ def __init__( def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { - "User-Agent": "pipedream/1.1.0", + "User-Agent": "pipedream/1.1.1", "X-Fern-Language": "Python", "X-Fern-SDK-Name": "pipedream", - "X-Fern-SDK-Version": "1.1.0", + "X-Fern-SDK-Version": "1.1.1", **(self.get_custom_headers() or {}), } if self._project_environment is not None: diff --git a/src/pipedream/projects/client.py b/src/pipedream/projects/client.py index 2ed54c5..1469544 100644 --- a/src/pipedream/projects/client.py +++ b/src/pipedream/projects/client.py @@ -93,6 +93,7 @@ def create( name: str, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Project: """ @@ -109,6 +110,9 @@ def create( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -132,7 +136,11 @@ def create( ) """ _response = self._raw_client.create( - name=name, app_name=app_name, support_email=support_email, request_options=request_options + name=name, + app_name=app_name, + support_email=support_email, + connect_require_key_auth_test=connect_require_key_auth_test, + request_options=request_options, ) return _response.data @@ -210,6 +218,7 @@ def update( name: typing.Optional[str] = OMIT, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Project: """ @@ -229,6 +238,9 @@ def update( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -252,7 +264,12 @@ def update( ) """ _response = self._raw_client.update( - project_id, name=name, app_name=app_name, support_email=support_email, request_options=request_options + project_id, + name=name, + app_name=app_name, + support_email=support_email, + connect_require_key_auth_test=connect_require_key_auth_test, + request_options=request_options, ) return _response.data @@ -415,6 +432,7 @@ async def create( name: str, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Project: """ @@ -431,6 +449,9 @@ async def create( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -462,7 +483,11 @@ async def main() -> None: asyncio.run(main()) """ _response = await self._raw_client.create( - name=name, app_name=app_name, support_email=support_email, request_options=request_options + name=name, + app_name=app_name, + support_email=support_email, + connect_require_key_auth_test=connect_require_key_auth_test, + request_options=request_options, ) return _response.data @@ -556,6 +581,7 @@ async def update( name: typing.Optional[str] = OMIT, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> Project: """ @@ -575,6 +601,9 @@ async def update( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -606,7 +635,12 @@ async def main() -> None: asyncio.run(main()) """ _response = await self._raw_client.update( - project_id, name=name, app_name=app_name, support_email=support_email, request_options=request_options + project_id, + name=name, + app_name=app_name, + support_email=support_email, + connect_require_key_auth_test=connect_require_key_auth_test, + request_options=request_options, ) return _response.data diff --git a/src/pipedream/projects/raw_client.py b/src/pipedream/projects/raw_client.py index 17cfc53..2822011 100644 --- a/src/pipedream/projects/raw_client.py +++ b/src/pipedream/projects/raw_client.py @@ -126,6 +126,7 @@ def create( name: str, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Project]: """ @@ -142,6 +143,9 @@ def create( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -157,6 +161,7 @@ def create( "name": name, "app_name": app_name, "support_email": support_email, + "connect_require_key_auth_test": connect_require_key_auth_test, }, headers={ "content-type": "application/json", @@ -287,6 +292,7 @@ def update( name: typing.Optional[str] = OMIT, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Project]: """ @@ -306,6 +312,9 @@ def update( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -321,6 +330,7 @@ def update( "name": name, "app_name": app_name, "support_email": support_email, + "connect_require_key_auth_test": connect_require_key_auth_test, }, headers={ "content-type": "application/json", @@ -573,6 +583,7 @@ async def create( name: str, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Project]: """ @@ -589,6 +600,9 @@ async def create( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -604,6 +618,7 @@ async def create( "name": name, "app_name": app_name, "support_email": support_email, + "connect_require_key_auth_test": connect_require_key_auth_test, }, headers={ "content-type": "application/json", @@ -736,6 +751,7 @@ async def update( name: typing.Optional[str] = OMIT, app_name: typing.Optional[str] = OMIT, support_email: typing.Optional[str] = OMIT, + connect_require_key_auth_test: typing.Optional[bool] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Project]: """ @@ -755,6 +771,9 @@ async def update( support_email : typing.Optional[str] Support email displayed to end users + connect_require_key_auth_test : typing.Optional[bool] + Send a test request to the upstream API when adding Connect accounts for key-based apps + request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -770,6 +789,7 @@ async def update( "name": name, "app_name": app_name, "support_email": support_email, + "connect_require_key_auth_test": connect_require_key_auth_test, }, headers={ "content-type": "application/json", diff --git a/src/pipedream/types/project.py b/src/pipedream/types/project.py index acf29b1..09d80de 100644 --- a/src/pipedream/types/project.py +++ b/src/pipedream/types/project.py @@ -31,6 +31,11 @@ class Project(UniversalBaseModel): Support email configured for the project """ + connect_require_key_auth_test: typing.Optional[bool] = pydantic.Field(default=None) + """ + Send a test request to the upstream API when adding Connect accounts for key-based apps + """ + if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: