polyapi-python 0.3.9.dev14__tar.gz → 0.3.10.dev1__tar.gz

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.
Files changed (48) hide show
  1. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/PKG-INFO +1 -1
  2. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/generate.py +3 -3
  3. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/poly_tables.py +13 -0
  4. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/utils.py +2 -2
  5. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/PKG-INFO +1 -1
  6. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/pyproject.toml +1 -1
  7. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_tabi.py +5 -3
  8. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/LICENSE +0 -0
  9. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/README.md +0 -0
  10. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/__init__.py +0 -0
  11. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/__main__.py +0 -0
  12. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/api.py +0 -0
  13. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/auth.py +0 -0
  14. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/cli.py +0 -0
  15. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/client.py +0 -0
  16. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/config.py +0 -0
  17. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/constants.py +0 -0
  18. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/deployables.py +0 -0
  19. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/error_handler.py +0 -0
  20. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/exceptions.py +0 -0
  21. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/execute.py +0 -0
  22. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/function_cli.py +0 -0
  23. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/parser.py +0 -0
  24. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/poly_schemas.py +0 -0
  25. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/prepare.py +0 -0
  26. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/py.typed +0 -0
  27. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/rendered_spec.py +0 -0
  28. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/schema.py +0 -0
  29. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/server.py +0 -0
  30. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/sync.py +0 -0
  31. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/typedefs.py +0 -0
  32. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/variables.py +0 -0
  33. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/webhook.py +0 -0
  34. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/SOURCES.txt +0 -0
  35. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/dependency_links.txt +0 -0
  36. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/requires.txt +0 -0
  37. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/top_level.txt +0 -0
  38. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/setup.cfg +0 -0
  39. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_api.py +0 -0
  40. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_auth.py +0 -0
  41. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_deployables.py +0 -0
  42. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_generate.py +0 -0
  43. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_parser.py +0 -0
  44. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_rendered_spec.py +0 -0
  45. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_schema.py +0 -0
  46. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_server.py +0 -0
  47. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_utils.py +0 -0
  48. {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_variables.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polyapi-python
3
- Version: 0.3.9.dev14
3
+ Version: 0.3.10.dev1
4
4
  Summary: The Python Client for PolyAPI, the IPaaS by Developers for Developers
5
5
  Author-email: Dan Fellin <dan@polyapi.io>
6
6
  License: MIT License
@@ -503,7 +503,7 @@ def add_function_file(
503
503
  # Read current __init__.py content if it exists
504
504
  init_content = ""
505
505
  if os.path.exists(init_path):
506
- with open(init_path, "r") as f:
506
+ with open(init_path, "r", encoding='utf-8') as f:
507
507
  init_content = f.read()
508
508
 
509
509
  # Prepare new content to append to __init__.py
@@ -511,12 +511,12 @@ def add_function_file(
511
511
 
512
512
  # Use temporary files for atomic writes
513
513
  # Write to __init__.py atomically
514
- with tempfile.NamedTemporaryFile(mode="w", delete=False, dir=full_path, suffix=".tmp") as temp_init:
514
+ with tempfile.NamedTemporaryFile(mode="w", delete=False, dir=full_path, suffix=".tmp", encoding='utf-8') as temp_init:
515
515
  temp_init.write(new_init_content)
516
516
  temp_init_path = temp_init.name
517
517
 
518
518
  # Write to function file atomically
519
- with tempfile.NamedTemporaryFile(mode="w", delete=False, dir=full_path, suffix=".tmp") as temp_func:
519
+ with tempfile.NamedTemporaryFile(mode="w", delete=False, dir=full_path, suffix=".tmp", encoding='utf-8') as temp_func:
520
520
  temp_func.write(func_type_defs)
521
521
  temp_func_path = temp_func.name
522
522
 
@@ -7,6 +7,19 @@ from polyapi.typedefs import TableSpecDto
7
7
  from polyapi.constants import JSONSCHEMA_TO_PYTHON_TYPE_MAP
8
8
 
9
9
 
10
+ def scrub_keys(e: Exception) -> Dict[str, Any]:
11
+ """
12
+ Scrub the keys of an exception to remove sensitive information.
13
+ Returns a dictionary with the error message and type.
14
+ """
15
+ return {
16
+ "error": str(e),
17
+ "type": type(e).__name__,
18
+ "message": str(e),
19
+ "args": getattr(e, 'args', None)
20
+ }
21
+
22
+
10
23
  def execute_query(table_id, method, query):
11
24
  from polyapi import polyCustom
12
25
  from polyapi.poly.client_id import client_id
@@ -24,7 +24,7 @@ def init_the_init(full_path: str, code_imports: Optional[str] = None) -> None:
24
24
  if not os.path.exists(init_path):
25
25
  if code_imports is None:
26
26
  code_imports = CODE_IMPORTS
27
- with open(init_path, "w") as f:
27
+ with open(init_path, "w", encoding='utf-8') as f:
28
28
  f.write(code_imports)
29
29
 
30
30
 
@@ -33,7 +33,7 @@ def add_import_to_init(full_path: str, next: str, code_imports: Optional[str] =
33
33
  init_the_init(full_path, code_imports=code_imports)
34
34
 
35
35
  init_path = os.path.join(full_path, "__init__.py")
36
- with open(init_path, "a+") as f:
36
+ with open(init_path, "a+", encoding='utf-8') as f:
37
37
  import_stmt = "from . import {}\n".format(next)
38
38
  f.seek(0)
39
39
  lines = f.readlines()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polyapi-python
3
- Version: 0.3.9.dev14
3
+ Version: 0.3.10.dev1
4
4
  Summary: The Python Client for PolyAPI, the IPaaS by Developers for Developers
5
5
  Author-email: Dan Fellin <dan@polyapi.io>
6
6
  License: MIT License
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.2", "wheel"]
3
3
 
4
4
  [project]
5
5
  name = "polyapi-python"
6
- version = "0.3.9.dev14"
6
+ version = "0.3.10.dev1"
7
7
  description = "The Python Client for PolyAPI, the IPaaS by Developers for Developers"
8
8
  authors = [{ name = "Dan Fellin", email = "dan@polyapi.io" }]
9
9
  dependencies = [
@@ -57,7 +57,7 @@ class MyTableRow(TypedDict, total=False):
57
57
  active: Required[bool]
58
58
  """ Required property """
59
59
 
60
- optional: Dict[str, Any]
60
+ optional: dict[str, Any]
61
61
 
62
62
 
63
63
 
@@ -364,8 +364,8 @@ class MyTableRow(TypedDict, total=False):
364
364
 
365
365
  class _MyTableRowdata(TypedDict, total=False):
366
366
  foo: str
367
- nested: List["_MyTableRowdatanesteditem"]
368
- other: Union[str, Union[int, float], Dict[str, Any], List[Any], bool, None]
367
+ nested: list["_MyTableRowdatanesteditem"]
368
+ other: str | int | float | dict[str, Any] | list[Any] | bool | None
369
369
  """
370
370
  x-poly-ref:
371
371
  path: some.other.Schema
@@ -611,9 +611,11 @@ class MyTable:
611
611
 
612
612
  class T(unittest.TestCase):
613
613
  def test_render_simple(self):
614
+ self.maxDiff = 20000
614
615
  output = _render_table(TABLE_SPEC_SIMPLE)
615
616
  self.assertEqual(output, EXPECTED_SIMPLE)
616
617
 
617
618
  def test_render_complex(self):
619
+ self.maxDiff = 20000
618
620
  output = _render_table(TABLE_SPEC_COMPLEX)
619
621
  self.assertEqual(output, EXPECTED_COMPLEX)