polyapi-python 0.2.4.dev12__tar.gz → 0.2.4.dev13__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 (36) hide show
  1. {polyapi_python-0.2.4.dev12/polyapi_python.egg-info → polyapi_python-0.2.4.dev13}/PKG-INFO +1 -1
  2. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/client.py +19 -0
  3. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/utils.py +1 -1
  4. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13/polyapi_python.egg-info}/PKG-INFO +1 -1
  5. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/pyproject.toml +1 -1
  6. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/LICENSE +0 -0
  7. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/README.md +0 -0
  8. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/__init__.py +0 -0
  9. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/__main__.py +0 -0
  10. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/api.py +0 -0
  11. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/auth.py +0 -0
  12. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/cli.py +0 -0
  13. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/config.py +0 -0
  14. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/constants.py +0 -0
  15. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/error_handler.py +0 -0
  16. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/exceptions.py +0 -0
  17. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/execute.py +0 -0
  18. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/function_cli.py +0 -0
  19. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/generate.py +0 -0
  20. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/py.typed +0 -0
  21. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/schema.py +0 -0
  22. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/server.py +0 -0
  23. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/typedefs.py +0 -0
  24. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/variables.py +0 -0
  25. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi/webhook.py +0 -0
  26. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi_python.egg-info/SOURCES.txt +0 -0
  27. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi_python.egg-info/dependency_links.txt +0 -0
  28. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi_python.egg-info/requires.txt +0 -0
  29. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/polyapi_python.egg-info/top_level.txt +0 -0
  30. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/setup.cfg +0 -0
  31. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/tests/test_api.py +0 -0
  32. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/tests/test_auth.py +0 -0
  33. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/tests/test_function_cli.py +0 -0
  34. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/tests/test_server.py +0 -0
  35. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/tests/test_utils.py +0 -0
  36. {polyapi_python-0.2.4.dev12 → polyapi_python-0.2.4.dev13}/tests/test_variables.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: polyapi-python
3
- Version: 0.2.4.dev12
3
+ Version: 0.2.4.dev13
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
@@ -10,6 +10,22 @@ from typing import List, Dict, Any, TypedDict
10
10
  """
11
11
 
12
12
 
13
+ def _wrap_code_in_try_except(code: str) -> str:
14
+ """ this is necessary because client functions with imports will blow up ALL server functions,
15
+ even if they don't use them.
16
+ because the server function will try to load all client functions when loading the library
17
+ """
18
+ prefix = """logger = logging.getLogger("poly")
19
+ try:
20
+ """
21
+ suffix = """except ImportError as e:
22
+ logger.debug(e)"""
23
+
24
+ lines = code.split("\n")
25
+ code = "\n ".join(lines)
26
+ return "".join([prefix, code, "\n", suffix])
27
+
28
+
13
29
  def render_client_function(
14
30
  function_name: str,
15
31
  code: str,
@@ -22,4 +38,7 @@ def render_client_function(
22
38
  args_def=args_def,
23
39
  return_type_def=return_type_def,
24
40
  )
41
+
42
+ code = _wrap_code_in_try_except(code)
43
+
25
44
  return code + "\n\n", func_type_defs
@@ -10,7 +10,7 @@ from polyapi.schema import generate_schema_types, clean_title, map_primitive_typ
10
10
 
11
11
  # this string should be in every __init__ file.
12
12
  # it contains all the imports needed for the function or variable code to run
13
- CODE_IMPORTS = "from typing import List, Dict, Any, TypedDict, Optional\nimport requests\nimport socketio # type: ignore\nfrom polyapi.config import get_api_key_and_url\nfrom polyapi.execute import execute, execute_post, variable_get, variable_update\n\n"
13
+ CODE_IMPORTS = "from typing import List, Dict, Any, TypedDict, Optional\nimport logging\nimport requests\nimport socketio # type: ignore\nfrom polyapi.config import get_api_key_and_url\nfrom polyapi.execute import execute, execute_post, variable_get, variable_update\n\n"
14
14
 
15
15
 
16
16
  def init_the_init(full_path: str) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: polyapi-python
3
- Version: 0.2.4.dev12
3
+ Version: 0.2.4.dev13
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.2.4.dev12"
6
+ version = "0.2.4.dev13"
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 = [