prompty 0.1.17__tar.gz → 0.1.18__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. {prompty-0.1.17 → prompty-0.1.18}/PKG-INFO +1 -1
  2. {prompty-0.1.17 → prompty-0.1.18}/prompty/core.py +3 -1
  3. {prompty-0.1.17 → prompty-0.1.18}/prompty/tracer.py +30 -5
  4. {prompty-0.1.17 → prompty-0.1.18}/pyproject.toml +1 -1
  5. {prompty-0.1.17 → prompty-0.1.18}/LICENSE +0 -0
  6. {prompty-0.1.17 → prompty-0.1.18}/README.md +0 -0
  7. {prompty-0.1.17 → prompty-0.1.18}/prompty/__init__.py +0 -0
  8. {prompty-0.1.17 → prompty-0.1.18}/prompty/azure/__init__.py +0 -0
  9. {prompty-0.1.17 → prompty-0.1.18}/prompty/azure/executor.py +0 -0
  10. {prompty-0.1.17 → prompty-0.1.18}/prompty/azure/processor.py +0 -0
  11. {prompty-0.1.17 → prompty-0.1.18}/prompty/cli.py +0 -0
  12. {prompty-0.1.17 → prompty-0.1.18}/prompty/openai/__init__.py +0 -0
  13. {prompty-0.1.17 → prompty-0.1.18}/prompty/openai/executor.py +0 -0
  14. {prompty-0.1.17 → prompty-0.1.18}/prompty/openai/processor.py +0 -0
  15. {prompty-0.1.17 → prompty-0.1.18}/prompty/parsers.py +0 -0
  16. {prompty-0.1.17 → prompty-0.1.18}/prompty/renderers.py +0 -0
  17. {prompty-0.1.17 → prompty-0.1.18}/prompty/serverless/__init__.py +0 -0
  18. {prompty-0.1.17 → prompty-0.1.18}/prompty/serverless/executor.py +0 -0
  19. {prompty-0.1.17 → prompty-0.1.18}/prompty/serverless/processor.py +0 -0
  20. {prompty-0.1.17 → prompty-0.1.18}/tests/fake_azure_executor.py +0 -0
  21. {prompty-0.1.17 → prompty-0.1.18}/tests/fake_serverless_executor.py +0 -0
  22. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/1contoso.md +0 -0
  23. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/2contoso.md +0 -0
  24. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/3contoso.md +0 -0
  25. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/4contoso.md +0 -0
  26. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/basic.prompty.md +0 -0
  27. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/camping.jpg +0 -0
  28. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/context.prompty.md +0 -0
  29. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/contoso_multi.md +0 -0
  30. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/faithfulness.prompty.md +0 -0
  31. {prompty-0.1.17 → prompty-0.1.18}/tests/generated/groundedness.prompty.md +0 -0
  32. {prompty-0.1.17 → prompty-0.1.18}/tests/hello_world-goodbye_world-hello_again.embedding.json +0 -0
  33. {prompty-0.1.17 → prompty-0.1.18}/tests/hello_world.embedding.json +0 -0
  34. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/__init__.py +0 -0
  35. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/basic.prompty +0 -0
  36. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/basic.prompty.execution.json +0 -0
  37. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/basic_json_output.prompty +0 -0
  38. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/camping.jpg +0 -0
  39. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/chat.prompty +0 -0
  40. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/context.json +0 -0
  41. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/context.prompty +0 -0
  42. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/context.prompty.execution.json +0 -0
  43. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/embedding.prompty +0 -0
  44. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/embedding.prompty.execution.json +0 -0
  45. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/evaluation.prompty +0 -0
  46. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/faithfulness.prompty +0 -0
  47. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/faithfulness.prompty.execution.json +0 -0
  48. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/fake.prompty +0 -0
  49. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/funcfile.json +0 -0
  50. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/funcfile.prompty +0 -0
  51. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/functions.prompty +0 -0
  52. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/functions.prompty.execution.json +0 -0
  53. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/groundedness.prompty +0 -0
  54. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/groundedness.prompty.execution.json +0 -0
  55. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/prompty.json +0 -0
  56. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/serverless.prompty +0 -0
  57. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/serverless.prompty.execution.json +0 -0
  58. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/serverless_stream.prompty +0 -0
  59. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/serverless_stream.prompty.execution.json +0 -0
  60. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/streaming.prompty +0 -0
  61. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/streaming.prompty.execution.json +0 -0
  62. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/sub/__init__.py +0 -0
  63. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/sub/basic.prompty +0 -0
  64. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/sub/sub/__init__.py +0 -0
  65. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/sub/sub/basic.prompty +0 -0
  66. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/sub/sub/prompty.json +0 -0
  67. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/sub/sub/test.py +0 -0
  68. {prompty-0.1.17 → prompty-0.1.18}/tests/prompts/test.py +0 -0
  69. {prompty-0.1.17 → prompty-0.1.18}/tests/prompty.json +0 -0
  70. {prompty-0.1.17 → prompty-0.1.18}/tests/test_common.py +0 -0
  71. {prompty-0.1.17 → prompty-0.1.18}/tests/test_execute.py +0 -0
  72. {prompty-0.1.17 → prompty-0.1.18}/tests/test_factory_invoker.py +0 -0
  73. {prompty-0.1.17 → prompty-0.1.18}/tests/test_path_exec.py +0 -0
  74. {prompty-0.1.17 → prompty-0.1.18}/tests/test_tracing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prompty
3
- Version: 0.1.17
3
+ Version: 0.1.18
4
4
  Summary: Prompty is a new asset class and format for LLM prompts that aims to provide observability, understandability, and portability for developers. It includes spec, tooling, and a runtime. This Prompty runtime supports Python
5
5
  Author-Email: Seth Juarez <seth.juarez@microsoft.com>
6
6
  Requires-Dist: pyyaml>=6.0.1
@@ -529,7 +529,9 @@ class PromptyStream(Iterator):
529
529
  # StopIteration is raised
530
530
  # contents are exhausted
531
531
  if len(self.items) > 0:
532
- with Tracer.start(f"{self.name}.PromptyStream") as trace:
532
+ with Tracer.start("PromptyStream") as trace:
533
+ trace("signature", f"{self.name}.PromptyStream")
534
+ trace("inputs", "None")
533
535
  trace("result", [to_dict(s) for s in self.items])
534
536
 
535
537
  raise StopIteration
@@ -108,8 +108,21 @@ def _trace_sync(func: Callable = None, *, description: str = None) -> Callable:
108
108
  inputs = _inputs(func, args, kwargs)
109
109
  trace("inputs", inputs)
110
110
 
111
- result = func(*args, **kwargs)
112
- trace("result", _results(result))
111
+ try:
112
+ result = func(*args, **kwargs)
113
+ trace("result", _results(result))
114
+ except Exception as e:
115
+ trace(
116
+ "result",
117
+ {
118
+ "exception": {
119
+ "type": type(e).__name__,
120
+ "message": str(e),
121
+ "args": e.args,
122
+ }
123
+ },
124
+ )
125
+ raise e
113
126
 
114
127
  return result
115
128
 
@@ -129,9 +142,21 @@ def _trace_async(func: Callable = None, *, description: str = None) -> Callable:
129
142
 
130
143
  inputs = _inputs(func, args, kwargs)
131
144
  trace("inputs", inputs)
132
-
133
- result = await func(*args, **kwargs)
134
- trace("result", _results(result))
145
+ try:
146
+ result = await func(*args, **kwargs)
147
+ trace("result", _results(result))
148
+ except Exception as e:
149
+ trace(
150
+ "result",
151
+ {
152
+ "exception": {
153
+ "type": type(e).__name__,
154
+ "message": str(e),
155
+ "args": e.args,
156
+ }
157
+ },
158
+ )
159
+ raise e
135
160
 
136
161
  return result
137
162
 
@@ -13,7 +13,7 @@ dependencies = [
13
13
  "python-dotenv>=1.0.1",
14
14
  "click>=8.1.7",
15
15
  ]
16
- version = "0.1.17"
16
+ version = "0.1.18"
17
17
 
18
18
  [project.optional-dependencies]
19
19
  azure = [
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