polyapi-python 0.3.10.dev3__tar.gz → 0.3.10.dev5__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.10.dev3 → polyapi_python-0.3.10.dev5}/PKG-INFO +1 -1
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/cli.py +6 -1
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/function_cli.py +2 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/poly_tables.py +16 -1
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi_python.egg-info/PKG-INFO +1 -1
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/pyproject.toml +1 -1
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/LICENSE +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/README.md +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/__init__.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/__main__.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/api.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/auth.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/client.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/config.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/constants.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/deployables.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/error_handler.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/exceptions.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/execute.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/generate.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/parser.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/poly_schemas.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/prepare.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/py.typed +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/rendered_spec.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/schema.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/server.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/sync.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/typedefs.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/utils.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/variables.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi/webhook.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi_python.egg-info/SOURCES.txt +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi_python.egg-info/dependency_links.txt +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi_python.egg-info/requires.txt +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi_python.egg-info/top_level.txt +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/setup.cfg +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_api.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_auth.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_deployables.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_generate.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_parser.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_rendered_spec.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_schema.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_server.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_tabi.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_utils.py +0 -0
- {polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/tests/test_variables.py +0 -0
|
@@ -113,11 +113,13 @@ def execute_from_cli():
|
|
|
113
113
|
fn_add_parser.add_argument("--execution-api-key", required=False, default="", help="API key for execution (for server functions only).")
|
|
114
114
|
fn_add_parser.add_argument("--disable-ai", "--skip-generate", action="store_true", help="Pass --disable-ai skip AI generation of missing descriptions")
|
|
115
115
|
fn_add_parser.add_argument("--generate-contexts", type=str, help="Server function only – only include certain contexts to speed up function execution")
|
|
116
|
+
fn_add_parser.add_argument("--visiblity", type=str, help="Specifies the visibility of a function. Options: PUBLIC, TENANT, ENVIRONMENT. Case insensitive")
|
|
116
117
|
|
|
117
118
|
def add_function(args):
|
|
118
119
|
initialize_config()
|
|
119
120
|
logs_enabled = args.logs == "enabled" if args.logs else None
|
|
120
121
|
err = ""
|
|
122
|
+
visibility = args.visibility.upper()
|
|
121
123
|
if args.server and args.client:
|
|
122
124
|
err = "Specify either `--server` or `--client`. Found both."
|
|
123
125
|
elif not args.server and not args.client:
|
|
@@ -126,6 +128,8 @@ def execute_from_cli():
|
|
|
126
128
|
err = "Option `logs` is only for server functions (--server)."
|
|
127
129
|
elif args.generate_contexts and not args.server:
|
|
128
130
|
err = "Option `generate-contexts` is only for server functions (--server)."
|
|
131
|
+
elif visibility not in ["PUBLIC", "TENANT", "ENVIRONMENT"]:
|
|
132
|
+
err = "Invalid visiblity argument, visibility must be one of ['PUBLIC', 'TENANT', 'ENVIRONMENT']"
|
|
129
133
|
|
|
130
134
|
if err:
|
|
131
135
|
print_red("ERROR")
|
|
@@ -142,7 +146,8 @@ def execute_from_cli():
|
|
|
142
146
|
logs_enabled=logs_enabled,
|
|
143
147
|
generate=not args.disable_ai,
|
|
144
148
|
execution_api_key=args.execution_api_key,
|
|
145
|
-
generate_contexts=args.generate_contexts
|
|
149
|
+
generate_contexts=args.generate_contexts,
|
|
150
|
+
visibility=visibility
|
|
146
151
|
)
|
|
147
152
|
|
|
148
153
|
fn_add_parser.set_defaults(command=add_function)
|
|
@@ -25,6 +25,7 @@ def function_add_or_update(
|
|
|
25
25
|
server: bool,
|
|
26
26
|
logs_enabled: Optional[bool],
|
|
27
27
|
generate_contexts: Optional[str],
|
|
28
|
+
visibility: Optional[str],
|
|
28
29
|
generate: bool = True,
|
|
29
30
|
execution_api_key: str = ""
|
|
30
31
|
):
|
|
@@ -55,6 +56,7 @@ def function_add_or_update(
|
|
|
55
56
|
"description": description or parsed["types"]["description"],
|
|
56
57
|
"code": code,
|
|
57
58
|
"language": "python",
|
|
59
|
+
"visibility": visibility or "ENVIRONMENT",
|
|
58
60
|
"returnType": get_jsonschema_type(return_type),
|
|
59
61
|
"arguments": [{**p, "key": p["name"], "type": get_jsonschema_type(p["type"])} for p in parsed["types"]["params"]],
|
|
60
62
|
"logsEnabled": logs_enabled,
|
|
@@ -6,6 +6,21 @@ from polyapi.utils import add_import_to_init, init_the_init
|
|
|
6
6
|
from polyapi.typedefs import TableSpecDto
|
|
7
7
|
from polyapi.constants import JSONSCHEMA_TO_PYTHON_TYPE_MAP
|
|
8
8
|
|
|
9
|
+
def scrub(data) -> Dict[str, Any]:
|
|
10
|
+
if (not data or not isinstance(data, (Dict, List))): return data
|
|
11
|
+
if isinstance(data, List):
|
|
12
|
+
return [scrub(item) for item in data]
|
|
13
|
+
else:
|
|
14
|
+
temp = {}
|
|
15
|
+
secrets = ["x_api_key", "x-api-key", "access_token", "access-token", "authorization", "api_key", "api-key", "apikey", "accesstoken", "token", "password", "key"]
|
|
16
|
+
for key, value in data.items():
|
|
17
|
+
if isinstance(value, (Dict, List)):
|
|
18
|
+
temp[key] = scrub(data[key])
|
|
19
|
+
elif key.lower() in secrets:
|
|
20
|
+
temp[key] = '********'
|
|
21
|
+
else:
|
|
22
|
+
temp[key] = data[key]
|
|
23
|
+
return temp
|
|
9
24
|
|
|
10
25
|
def scrub_keys(e: Exception) -> Dict[str, Any]:
|
|
11
26
|
"""
|
|
@@ -16,7 +31,7 @@ def scrub_keys(e: Exception) -> Dict[str, Any]:
|
|
|
16
31
|
"error": str(e),
|
|
17
32
|
"type": type(e).__name__,
|
|
18
33
|
"message": str(e),
|
|
19
|
-
"args": getattr(e, 'args', None)
|
|
34
|
+
"args": scrub(getattr(e, 'args', None))
|
|
20
35
|
}
|
|
21
36
|
|
|
22
37
|
|
|
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.2", "wheel"]
|
|
|
3
3
|
|
|
4
4
|
[project]
|
|
5
5
|
name = "polyapi-python"
|
|
6
|
-
version = "0.3.10.
|
|
6
|
+
version = "0.3.10.dev5"
|
|
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 = [
|
|
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.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi_python.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/polyapi_python.egg-info/requires.txt
RENAMED
|
File without changes
|
{polyapi_python-0.3.10.dev3 → polyapi_python-0.3.10.dev5}/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
|
|
File without changes
|