feldera 0.158.0__py3-none-any.whl → 0.160.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of feldera might be problematic. Click here for more details.

feldera/rest/_helpers.py CHANGED
@@ -1,3 +1,7 @@
1
+ import logging
2
+ import os
3
+
4
+
1
5
  def client_version() -> str:
2
6
  from importlib.metadata import version, PackageNotFoundError
3
7
 
@@ -7,3 +11,30 @@ def client_version() -> str:
7
11
  version = "unknown"
8
12
 
9
13
  return version
14
+
15
+
16
+ def requests_verify_from_env() -> str | bool:
17
+ env_feldera_tls_insecure = os.environ.get("FELDERA_TLS_INSECURE")
18
+ FELDERA_HTTPS_TLS_CERT = os.environ.get("FELDERA_HTTPS_TLS_CERT")
19
+
20
+ if env_feldera_tls_insecure is not None and FELDERA_HTTPS_TLS_CERT is not None:
21
+ logging.warning(
22
+ "environment variables FELDERA_HTTPS_TLS_CERT and "
23
+ "FELDERA_TLS_INSECURE both are set."
24
+ "\nFELDERA_HTTPS_TLS_CERT takes priority."
25
+ )
26
+
27
+ if env_feldera_tls_insecure is None:
28
+ FELDERA_TLS_INSECURE = False
29
+ else:
30
+ FELDERA_TLS_INSECURE = env_feldera_tls_insecure.strip().lower() in (
31
+ "1",
32
+ "true",
33
+ "yes",
34
+ )
35
+
36
+ requests_verify = not FELDERA_TLS_INSECURE
37
+ if FELDERA_HTTPS_TLS_CERT is not None:
38
+ requests_verify = FELDERA_HTTPS_TLS_CERT
39
+
40
+ return requests_verify
feldera/rest/config.py CHANGED
@@ -1,5 +1,7 @@
1
1
  from typing import Optional
2
2
  import os
3
+ from feldera.rest._helpers import requests_verify_from_env
4
+ import logging
3
5
 
4
6
 
5
7
  class Config:
@@ -14,7 +16,7 @@ class Config:
14
16
  version: Optional[str] = None,
15
17
  timeout: Optional[float] = None,
16
18
  connection_timeout: Optional[float] = None,
17
- requests_verify: bool | str = True,
19
+ requests_verify: Optional[bool | str] = None,
18
20
  ) -> None:
19
21
  """
20
22
  :param url: The url to the Feldera API (ex: https://try.feldera.com)
@@ -23,7 +25,10 @@ class Config:
23
25
  :param timeout: The timeout for the HTTP requests
24
26
  :param connection_timeout: The connection timeout for the HTTP requests
25
27
  :param requests_verify: The `verify` parameter passed to the requests
26
- library. `True` by default.
28
+ library. `True` by default. Can also be set using environment
29
+ variables `FELDERA_TLS_INSECURE` to disable TLS and
30
+ `FELDERA_HTTPS_TLS_CERT` to set the certificate path. The latter
31
+ takes priority.
27
32
  """
28
33
 
29
34
  BASE_URL = (
@@ -37,11 +42,10 @@ class Config:
37
42
  self.version: Optional[str] = version or "v0"
38
43
  self.timeout: Optional[float] = timeout
39
44
  self.connection_timeout: Optional[float] = connection_timeout
45
+ env_verify = requests_verify_from_env()
46
+ self.requests_verify: bool | str = (
47
+ requests_verify if requests_verify is not None else env_verify
48
+ )
40
49
 
41
- FELDERA_TLS_INSECURE = True if os.environ.get("FELDERA_TLS_INSECURE") else False
42
- FELDERA_HTTPS_TLS_CERT = os.environ.get("FELDERA_HTTPS_TLS_CERT")
43
- requests_verify = not FELDERA_TLS_INSECURE
44
- if requests_verify and FELDERA_HTTPS_TLS_CERT is not None:
45
- requests_verify = FELDERA_HTTPS_TLS_CERT
46
-
47
- self.requests_verify: bool | str = requests_verify
50
+ if self.requests_verify is False:
51
+ logging.warning("TLS verification is disabled.")
@@ -49,7 +49,7 @@ class FelderaClient:
49
49
  api_key: Optional[str] = None,
50
50
  timeout: Optional[float] = None,
51
51
  connection_timeout: Optional[float] = None,
52
- requests_verify: bool | str = True,
52
+ requests_verify: Optional[bool | str] = None,
53
53
  ) -> None:
54
54
  """
55
55
  :param url: The url to Feldera API (ex: https://try.feldera.com). If
feldera/testutils.py CHANGED
@@ -13,6 +13,7 @@ from feldera.pipeline import Pipeline
13
13
  from feldera.pipeline_builder import PipelineBuilder
14
14
  from feldera.runtime_config import Resources, RuntimeConfig
15
15
  from feldera.rest import FelderaClient
16
+ from feldera.rest._helpers import requests_verify_from_env
16
17
 
17
18
  API_KEY = os.environ.get("FELDERA_API_KEY")
18
19
 
@@ -46,12 +47,7 @@ KAFKA_SERVER = os.environ.get("FELDERA_KAFKA_SERVER", "localhost:19092")
46
47
  PIPELINE_TO_KAFKA_SERVER = os.environ.get(
47
48
  "FELDERA_PIPELINE_TO_KAFKA_SERVER", "redpanda:9092"
48
49
  )
49
- FELDERA_TLS_INSECURE = True if os.environ.get("FELDERA_TLS_INSECURE") else False
50
- FELDERA_HTTPS_TLS_CERT = os.environ.get("FELDERA_HTTPS_TLS_CERT")
51
- if not FELDERA_TLS_INSECURE and FELDERA_HTTPS_TLS_CERT is not None:
52
- FELDERA_REQUESTS_VERIFY = FELDERA_HTTPS_TLS_CERT
53
- else:
54
- FELDERA_REQUESTS_VERIFY = not FELDERA_TLS_INSECURE
50
+ FELDERA_REQUESTS_VERIFY = requests_verify_from_env()
55
51
 
56
52
 
57
53
  class _LazyClient:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: feldera
3
- Version: 0.158.0
3
+ Version: 0.160.0
4
4
  Summary: The feldera python client
5
5
  Author-email: Feldera Team <dev@feldera.com>
6
6
  License: MIT
@@ -7,20 +7,20 @@ feldera/pipeline.py,sha256=XNnqKXH2lCYBqm5ZNpXqcZX2ul3P__31OfOeR-96fuU,45668
7
7
  feldera/pipeline_builder.py,sha256=nOKoMyB47YxwrrvByKGn4CagO-dMQNFip3c5PK1DDhQ,4351
8
8
  feldera/runtime_config.py,sha256=DcJ44EN6Dt1X1wW-1kUvFbSkIDKDLi4-GqaDdUzPtTQ,4532
9
9
  feldera/stats.py,sha256=YeDQwE_CixTMb2DjBCgt5jTaJAZRsrHtG-3pYuuII-8,5256
10
- feldera/testutils.py,sha256=L0oGWSMREiFEhpBrvlk_hUz2EpQhnfmqbu8qKhAfNa4,12841
10
+ feldera/testutils.py,sha256=z-efiWz8k6f1skAQ4fw21GJQzELaLrX1zYS7t1ffCVY,12624
11
11
  feldera/testutils_oidc.py,sha256=hv0IQAcVOt4uysWW3iE-5p46ZGfL1X7Vt7PjRefkXz8,12552
12
12
  feldera/rest/__init__.py,sha256=Eg-EKUU3RSTDcdxTR_7wNDnCly8VpXEzsZCQUmf-y2M,308
13
- feldera/rest/_helpers.py,sha256=q7jWInKp9IiIli8N5o31lDG3hNUbcsJqufZXYHG04ps,222
13
+ feldera/rest/_helpers.py,sha256=IQ_Tv5dQSAQA1wdySmecpkd6kejMgpPYo2l3d9wEZVs,1125
14
14
  feldera/rest/_httprequests.py,sha256=4XXwfKtkUh3w15NGnSACR7190bWEWAmm25B23bPY7LY,8382
15
- feldera/rest/config.py,sha256=lZmka5cyFWNp9OxI_9nQ5EbPe4_HymaKulQ03B-wyUc,1824
15
+ feldera/rest/config.py,sha256=VLZ0bZooM6CeoGD9HoH_IkG80Elwqrsar4rlX7lgN5o,2002
16
16
  feldera/rest/errors.py,sha256=wKWwlL5WI3SVXC8rQTy3rS3wQ9Hjjn_EY7iRHXZFIVE,2341
17
- feldera/rest/feldera_client.py,sha256=tyB1KysI3YjG7SR68y6zaZMqZ9e9TXqPaCILgFxbPtk,39094
17
+ feldera/rest/feldera_client.py,sha256=LCqNrmKu9R3CZkd0GA8-gytwwgSuRERg1cVESL_NG88,39104
18
18
  feldera/rest/feldera_config.py,sha256=1pnGbLFMSLvp7Qh_OlPLALSKCSHIktNWKvx6gYU00U4,1374
19
19
  feldera/rest/pipeline.py,sha256=gzU1bEYV8D1lVGVQ4EjxKhQNvGAgd3eant6CLn5lbIg,3572
20
20
  feldera/rest/sql_table.py,sha256=qrw-YwMzx5T81zDefNO1KOx7EyypFz1vPwGBzSUB7kc,652
21
21
  feldera/rest/sql_view.py,sha256=hN12mPM0mvwLCIPYywpb12s9Hd2Ws31IlTMXPriMisw,644
22
22
  feldera/tests/test_datafusionize.py,sha256=NGriTaTWf_WnXFud1wmpFwLFa_-XGjfCh6La3dWc3QA,1337
23
- feldera-0.158.0.dist-info/METADATA,sha256=YBnLapgNuGzm3_mvKWU6z-DrRDJ3dFuvy8IXNxcHmGc,2306
24
- feldera-0.158.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
25
- feldera-0.158.0.dist-info/top_level.txt,sha256=fB6yTqrQiO6RCbY1xP2T_mpPoTjDFtJvkJJodiee7d0,8
26
- feldera-0.158.0.dist-info/RECORD,,
23
+ feldera-0.160.0.dist-info/METADATA,sha256=26vOMxsSDbloqxzJJgl7dwRr8ogYj85i5_dKOeMGn0Y,2306
24
+ feldera-0.160.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
25
+ feldera-0.160.0.dist-info/top_level.txt,sha256=fB6yTqrQiO6RCbY1xP2T_mpPoTjDFtJvkJJodiee7d0,8
26
+ feldera-0.160.0.dist-info/RECORD,,