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.
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/PKG-INFO +1 -1
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/generate.py +3 -3
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/poly_tables.py +13 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/utils.py +2 -2
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/PKG-INFO +1 -1
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/pyproject.toml +1 -1
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_tabi.py +5 -3
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/LICENSE +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/README.md +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/__init__.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/__main__.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/api.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/auth.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/cli.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/client.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/config.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/constants.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/deployables.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/error_handler.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/exceptions.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/execute.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/function_cli.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/parser.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/poly_schemas.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/prepare.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/py.typed +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/rendered_spec.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/schema.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/server.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/sync.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/typedefs.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/variables.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi/webhook.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/SOURCES.txt +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/dependency_links.txt +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/requires.txt +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/top_level.txt +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/setup.cfg +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_api.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_auth.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_deployables.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_generate.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_parser.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_rendered_spec.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_schema.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_server.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_utils.py +0 -0
- {polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/tests/test_variables.py +0 -0
|
@@ -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()
|
|
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.2", "wheel"]
|
|
|
3
3
|
|
|
4
4
|
[project]
|
|
5
5
|
name = "polyapi-python"
|
|
6
|
-
version = "0.3.
|
|
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:
|
|
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:
|
|
368
|
-
other:
|
|
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)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/requires.txt
RENAMED
|
File without changes
|
{polyapi_python-0.3.9.dev14 → polyapi_python-0.3.10.dev1}/polyapi_python.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|