@@ -14,17 +14,21 @@ class Pipedream(Client):
14
14
def __init__ (
15
15
self ,
16
16
* ,
17
- client_id : Optional [str ] = None ,
18
- client_secret : Optional [str ] = None ,
19
- project_id : Optional [str ] = None ,
20
- project_environment : ProjectEnvironment = "production" ,
17
+ access_token : Optional [str ] = os .getenv ("PIPEDREAM_ACCESS_TOKEN" ),
18
+ client_id : Optional [str ] = os .getenv ("PIPEDREAM_CLIENT_ID" ),
19
+ client_secret : Optional [str ] = os .getenv ("PIPEDREAM_CLIENT_SECRET" ),
20
+ project_id : Optional [str ] = os .getenv ("PIPEDREAM_PROJECT_ID" ),
21
+ project_environment : ProjectEnvironment = os .getenv (
22
+ "PIPEDREAM_PROJECT_ENVIRONMENT" ,
23
+ "production" ,
24
+ ),
21
25
environment : PipedreamEnvironment = PipedreamEnvironment .PROD ,
22
26
):
23
- project_id = project_id or os .getenv ("PIPEDREAM_PROJECT_ID" )
24
27
if not project_id :
25
28
raise ValueError ("Project ID is required" )
26
29
27
30
super ().__init__ (
31
+ _token_getter_override = _new_token_getter (access_token ),
28
32
base_url = _get_base_url (environment ),
29
33
client_id = client_id ,
30
34
client_secret = client_secret ,
@@ -38,24 +42,27 @@ class AsyncPipedream(AsyncClient):
38
42
def __init__ (
39
43
self ,
40
44
* ,
41
- client_id : Optional [str ] = None ,
42
- client_secret : Optional [str ] = None ,
43
- project_id : Optional [str ] = None ,
44
- project_environment : ProjectEnvironment = "production" ,
45
+ access_token : Optional [str ] = os .getenv ("PIPEDREAM_ACCESS_TOKEN" ),
46
+ client_id : Optional [str ] = os .getenv ("PIPEDREAM_CLIENT_ID" ),
47
+ client_secret : Optional [str ] = os .getenv ("PIPEDREAM_CLIENT_SECRET" ),
48
+ project_id : Optional [str ] = os .getenv ("PIPEDREAM_PROJECT_ID" ),
49
+ project_environment : ProjectEnvironment = os .getenv (
50
+ "PIPEDREAM_PROJECT_ENVIRONMENT" ,
51
+ "production" ,
52
+ ),
45
53
environment : PipedreamEnvironment = PipedreamEnvironment .PROD ,
46
- ** kwargs ,
47
54
):
48
- project_id = project_id or os . getenv ( "PIPEDREAM_PROJECT_ID" )
55
+ project_id = project_id
49
56
if not project_id :
50
57
raise ValueError ("Project ID is required" )
51
58
52
59
super ().__init__ (
60
+ _token_getter_override = _new_token_getter (access_token ),
53
61
base_url = _get_base_url (environment ),
54
62
client_id = client_id ,
55
63
client_secret = client_secret ,
56
64
project_id = project_id ,
57
65
project_environment = project_environment ,
58
- ** kwargs ,
59
66
)
60
67
61
68
@@ -64,3 +71,10 @@ def _get_base_url(environment: PipedreamEnvironment) -> str:
64
71
Returns the base URL for the given environment.
65
72
"""
66
73
return os .path .expandvars (environment .value )
74
+
75
+
76
+ def _new_token_getter (access_token : Optional [str ] = None ):
77
+ """
78
+ Returns a new token getter function that retrieves the access token.
79
+ """
80
+ return (lambda : access_token ) if access_token else None
0 commit comments