polyapi-python 0.3.10.dev2__tar.gz → 0.3.10.dev4__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.10.dev2 → polyapi_python-0.3.10.dev4}/PKG-INFO +1 -1
  2. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/cli.py +6 -1
  3. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/function_cli.py +2 -0
  4. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/parser.py +6 -1
  5. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi_python.egg-info/PKG-INFO +1 -1
  6. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/pyproject.toml +1 -1
  7. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/LICENSE +0 -0
  8. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/README.md +0 -0
  9. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/__init__.py +0 -0
  10. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/__main__.py +0 -0
  11. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/api.py +0 -0
  12. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/auth.py +0 -0
  13. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/client.py +0 -0
  14. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/config.py +0 -0
  15. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/constants.py +0 -0
  16. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/deployables.py +0 -0
  17. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/error_handler.py +0 -0
  18. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/exceptions.py +0 -0
  19. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/execute.py +0 -0
  20. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/generate.py +0 -0
  21. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/poly_schemas.py +0 -0
  22. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/poly_tables.py +0 -0
  23. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/prepare.py +0 -0
  24. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/py.typed +0 -0
  25. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/rendered_spec.py +0 -0
  26. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/schema.py +0 -0
  27. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/server.py +0 -0
  28. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/sync.py +0 -0
  29. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/typedefs.py +0 -0
  30. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/utils.py +0 -0
  31. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/variables.py +0 -0
  32. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi/webhook.py +0 -0
  33. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi_python.egg-info/SOURCES.txt +0 -0
  34. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi_python.egg-info/dependency_links.txt +0 -0
  35. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi_python.egg-info/requires.txt +0 -0
  36. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/polyapi_python.egg-info/top_level.txt +0 -0
  37. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/setup.cfg +0 -0
  38. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_api.py +0 -0
  39. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_auth.py +0 -0
  40. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_deployables.py +0 -0
  41. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_generate.py +0 -0
  42. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_parser.py +0 -0
  43. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_rendered_spec.py +0 -0
  44. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_schema.py +0 -0
  45. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_server.py +0 -0
  46. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_tabi.py +0 -0
  47. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/tests/test_utils.py +0 -0
  48. {polyapi_python-0.3.10.dev2 → polyapi_python-0.3.10.dev4}/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.10.dev2
3
+ Version: 0.3.10.dev4
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
@@ -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,
@@ -464,8 +464,13 @@ def parse_function_code(code: str, name: Optional[str] = "", context: Optional[s
464
464
  if node.name == self._name:
465
465
  # Parse docstring which may contain param types and descriptions
466
466
  self._extract_docstring_from_function(node)
467
+
468
+ if node.args.kwonlyargs:
469
+ print_red("ERROR")
470
+ print("Function signature has keyword-only arguments (after `*`). Please use only positional arguments.")
471
+ sys.exit(1)
472
+
467
473
  function_args = [arg for arg in node.args.args]
468
- function_args.extend(node.args.kwonlyargs)
469
474
  docstring_params = deployable["types"]["params"]
470
475
  parsed_params = []
471
476
  # parse params from actual function and merge in any data from the docstring
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polyapi-python
3
- Version: 0.3.10.dev2
3
+ Version: 0.3.10.dev4
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.10.dev2"
6
+ version = "0.3.10.dev4"
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 = [