From 4b50db976b2e67351e2aa197f3feca7fd00adf3f Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2026 18:17:30 +0000 Subject: [PATCH 1/3] SDK regeneration --- pyproject.toml | 2 +- src/pipedream/client.py | 2 +- src/pipedream/core/client_wrapper.py | 6 +++--- src/pipedream/environment.py | 2 -- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b569920..42da7c7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ dynamic = ["version"] [tool.poetry] name = "pipedream" -version = "1.1.5" +version = "1.1.6" description = "" readme = "README.md" authors = [] diff --git a/src/pipedream/client.py b/src/pipedream/client.py index 4713964..ac9ea45 100644 --- a/src/pipedream/client.py +++ b/src/pipedream/client.py @@ -6,7 +6,7 @@ import typing import httpx -from .types.project_environment import ProjectEnvironment +from ._.types.project_environment import ProjectEnvironment from .core.api_error import ApiError from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from .core.oauth_token_provider import AsyncOAuthTokenProvider, OAuthTokenProvider diff --git a/src/pipedream/core/client_wrapper.py b/src/pipedream/core/client_wrapper.py index dab687b..f739b92 100644 --- a/src/pipedream/core/client_wrapper.py +++ b/src/pipedream/core/client_wrapper.py @@ -3,7 +3,7 @@ import typing import httpx -from ..types.project_environment import ProjectEnvironment +from .._.types.project_environment import ProjectEnvironment from .http_client import AsyncHttpClient, HttpClient @@ -27,10 +27,10 @@ def __init__( def get_headers(self) -> typing.Dict[str, str]: headers: typing.Dict[str, str] = { - "User-Agent": "pipedream/1.1.5", + "User-Agent": "pipedream/1.1.6", "X-Fern-Language": "Python", "X-Fern-SDK-Name": "pipedream", - "X-Fern-SDK-Version": "1.1.5", + "X-Fern-SDK-Version": "1.1.6", **(self.get_custom_headers() or {}), } if self._project_environment is not None: diff --git a/src/pipedream/environment.py b/src/pipedream/environment.py index cbafba5..d13d293 100644 --- a/src/pipedream/environment.py +++ b/src/pipedream/environment.py @@ -4,6 +4,4 @@ class PipedreamEnvironment(enum.Enum): - CANARY = "https://api2.pipedream.com" - DEV = "https://api.${DEV_NAMESPACE}.gkes.pipedream.net" PROD = "https://api.pipedream.com" From f8bf5a58cf285bdfb96f8a3b2b7d9d49b01b9ef9 Mon Sep 17 00:00:00 2001 From: Jason Endo Date: Fri, 13 Mar 2026 20:57:25 +0000 Subject: [PATCH 2/3] remove environments --- src/pipedream/pipedream.py | 39 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/src/pipedream/pipedream.py b/src/pipedream/pipedream.py index 7eb6f2f..3dd1c49 100644 --- a/src/pipedream/pipedream.py +++ b/src/pipedream/pipedream.py @@ -5,13 +5,14 @@ AsyncClient, Client, ) -from .environment import PipedreamEnvironment from .types.project_environment import ProjectEnvironment from .workflows.client import ( AsyncWorkflowsClient, WorkflowsClient, ) +_PROD_BASE_URL = "https://api.pipedream.com" + class Pipedream(Client): @@ -26,16 +27,18 @@ def __init__( "PIPEDREAM_PROJECT_ENVIRONMENT", "production", ), - environment: PipedreamEnvironment = PipedreamEnvironment.PROD, + base_url: Optional[str] = None, workflow_domain: Optional[str] = None, timeout: Optional[float] = None, ): if not project_id: raise ValueError("Project ID is required") + resolved_base_url = base_url or _PROD_BASE_URL + if access_token: super().__init__( - base_url=_get_base_url(environment), + base_url=resolved_base_url, project_environment=project_environment, project_id=project_id, token=(lambda: access_token), @@ -43,7 +46,7 @@ def __init__( ) else: super().__init__( - base_url=_get_base_url(environment), + base_url=resolved_base_url, project_environment=project_environment, project_id=project_id, client_id=client_id, @@ -52,7 +55,7 @@ def __init__( ) if not workflow_domain: - workflow_domain = _get_default_workflow_domain(environment) + workflow_domain = "m.pipedream.net" self.workflows = WorkflowsClient( client_wrapper=self._client_wrapper, @@ -80,16 +83,18 @@ def __init__( "PIPEDREAM_PROJECT_ENVIRONMENT", "production", ), - environment: PipedreamEnvironment = PipedreamEnvironment.PROD, + base_url: Optional[str] = None, workflow_domain: Optional[str] = None, timeout: Optional[float] = None, ): if not project_id: raise ValueError("Project ID is required") + resolved_base_url = base_url or _PROD_BASE_URL + if access_token: super().__init__( - base_url=_get_base_url(environment), + base_url=resolved_base_url, project_environment=project_environment, project_id=project_id, token=(lambda: access_token), @@ -97,7 +102,7 @@ def __init__( ) else: super().__init__( - base_url=_get_base_url(environment), + base_url=resolved_base_url, project_environment=project_environment, project_id=project_id, client_id=client_id, @@ -106,7 +111,7 @@ def __init__( ) if not workflow_domain: - workflow_domain = _get_default_workflow_domain(environment) + workflow_domain = "m.pipedream.net" self.workflows = AsyncWorkflowsClient( client_wrapper=self._client_wrapper, @@ -119,19 +124,3 @@ def raw_access_token(self) -> Optional[str]: Returns an access token that can be used to authenticate API requests """ return self._client_wrapper._get_token() - - -def _get_base_url(environment: PipedreamEnvironment) -> str: - """ - Returns the base URL for the given environment. - """ - return os.path.expandvars(environment.value) - - -def _get_default_workflow_domain(environment: PipedreamEnvironment) -> str: - """ - Returns the default workflow domain. - """ - if environment == PipedreamEnvironment.DEV: - return "m.d.pipedream.net" - return "m.pipedream.net" From 76cd71fb974847abbb13b203bdd310d59c5a0503 Mon Sep 17 00:00:00 2001 From: Jason Endo Date: Mon, 16 Mar 2026 22:47:29 +0000 Subject: [PATCH 3/3] add env var support --- src/pipedream/pipedream.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/pipedream/pipedream.py b/src/pipedream/pipedream.py index 3dd1c49..d1834e8 100644 --- a/src/pipedream/pipedream.py +++ b/src/pipedream/pipedream.py @@ -34,7 +34,8 @@ def __init__( if not project_id: raise ValueError("Project ID is required") - resolved_base_url = base_url or _PROD_BASE_URL + resolved_base_url = base_url or os.environ.get("PIPEDREAM_BASE_URL") or _PROD_BASE_URL + resolved_workflow_domain = workflow_domain or os.environ.get("PIPEDREAM_WORKFLOW_DOMAIN") or "m.pipedream.net" if access_token: super().__init__( @@ -54,12 +55,9 @@ def __init__( timeout=timeout, ) - if not workflow_domain: - workflow_domain = "m.pipedream.net" - self.workflows = WorkflowsClient( client_wrapper=self._client_wrapper, - workflow_domain=workflow_domain, + workflow_domain=resolved_workflow_domain, ) @property @@ -90,7 +88,8 @@ def __init__( if not project_id: raise ValueError("Project ID is required") - resolved_base_url = base_url or _PROD_BASE_URL + resolved_base_url = base_url or os.environ.get("PIPEDREAM_BASE_URL") or _PROD_BASE_URL + resolved_workflow_domain = workflow_domain or os.environ.get("PIPEDREAM_WORKFLOW_DOMAIN") or "m.pipedream.net" if access_token: super().__init__( @@ -110,12 +109,9 @@ def __init__( timeout=timeout, ) - if not workflow_domain: - workflow_domain = "m.pipedream.net" - self.workflows = AsyncWorkflowsClient( client_wrapper=self._client_wrapper, - workflow_domain=workflow_domain, + workflow_domain=resolved_workflow_domain, ) @property