prompty 0.1.15__tar.gz → 0.1.17__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. {prompty-0.1.15 → prompty-0.1.17}/PKG-INFO +1 -1
  2. {prompty-0.1.15 → prompty-0.1.17}/prompty/cli.py +19 -5
  3. {prompty-0.1.15 → prompty-0.1.17}/pyproject.toml +4 -1
  4. prompty-0.1.15/prompty/azure_openai/__init__.py +0 -10
  5. {prompty-0.1.15 → prompty-0.1.17}/LICENSE +0 -0
  6. {prompty-0.1.15 → prompty-0.1.17}/README.md +0 -0
  7. {prompty-0.1.15 → prompty-0.1.17}/prompty/__init__.py +0 -0
  8. {prompty-0.1.15 → prompty-0.1.17}/prompty/azure/__init__.py +0 -0
  9. {prompty-0.1.15 → prompty-0.1.17}/prompty/azure/executor.py +0 -0
  10. {prompty-0.1.15 → prompty-0.1.17}/prompty/azure/processor.py +0 -0
  11. {prompty-0.1.15 → prompty-0.1.17}/prompty/core.py +0 -0
  12. {prompty-0.1.15 → prompty-0.1.17}/prompty/openai/__init__.py +0 -0
  13. {prompty-0.1.15 → prompty-0.1.17}/prompty/openai/executor.py +0 -0
  14. {prompty-0.1.15 → prompty-0.1.17}/prompty/openai/processor.py +0 -0
  15. {prompty-0.1.15 → prompty-0.1.17}/prompty/parsers.py +0 -0
  16. {prompty-0.1.15 → prompty-0.1.17}/prompty/renderers.py +0 -0
  17. {prompty-0.1.15 → prompty-0.1.17}/prompty/serverless/__init__.py +0 -0
  18. {prompty-0.1.15 → prompty-0.1.17}/prompty/serverless/executor.py +0 -0
  19. {prompty-0.1.15 → prompty-0.1.17}/prompty/serverless/processor.py +0 -0
  20. {prompty-0.1.15 → prompty-0.1.17}/prompty/tracer.py +0 -0
  21. {prompty-0.1.15 → prompty-0.1.17}/tests/fake_azure_executor.py +0 -0
  22. {prompty-0.1.15 → prompty-0.1.17}/tests/fake_serverless_executor.py +0 -0
  23. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/1contoso.md +0 -0
  24. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/2contoso.md +0 -0
  25. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/3contoso.md +0 -0
  26. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/4contoso.md +0 -0
  27. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/basic.prompty.md +0 -0
  28. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/camping.jpg +0 -0
  29. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/context.prompty.md +0 -0
  30. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/contoso_multi.md +0 -0
  31. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/faithfulness.prompty.md +0 -0
  32. {prompty-0.1.15 → prompty-0.1.17}/tests/generated/groundedness.prompty.md +0 -0
  33. {prompty-0.1.15 → prompty-0.1.17}/tests/hello_world-goodbye_world-hello_again.embedding.json +0 -0
  34. {prompty-0.1.15 → prompty-0.1.17}/tests/hello_world.embedding.json +0 -0
  35. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/__init__.py +0 -0
  36. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/basic.prompty +0 -0
  37. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/basic.prompty.execution.json +0 -0
  38. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/basic_json_output.prompty +0 -0
  39. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/camping.jpg +0 -0
  40. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/chat.prompty +0 -0
  41. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/context.json +0 -0
  42. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/context.prompty +0 -0
  43. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/context.prompty.execution.json +0 -0
  44. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/embedding.prompty +0 -0
  45. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/embedding.prompty.execution.json +0 -0
  46. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/evaluation.prompty +0 -0
  47. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/faithfulness.prompty +0 -0
  48. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/faithfulness.prompty.execution.json +0 -0
  49. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/fake.prompty +0 -0
  50. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/funcfile.json +0 -0
  51. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/funcfile.prompty +0 -0
  52. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/functions.prompty +0 -0
  53. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/functions.prompty.execution.json +0 -0
  54. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/groundedness.prompty +0 -0
  55. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/groundedness.prompty.execution.json +0 -0
  56. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/prompty.json +0 -0
  57. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/serverless.prompty +0 -0
  58. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/serverless.prompty.execution.json +0 -0
  59. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/serverless_stream.prompty +0 -0
  60. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/serverless_stream.prompty.execution.json +0 -0
  61. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/streaming.prompty +0 -0
  62. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/streaming.prompty.execution.json +0 -0
  63. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/sub/__init__.py +0 -0
  64. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/sub/basic.prompty +0 -0
  65. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/sub/sub/__init__.py +0 -0
  66. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/sub/sub/basic.prompty +0 -0
  67. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/sub/sub/prompty.json +0 -0
  68. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/sub/sub/test.py +0 -0
  69. {prompty-0.1.15 → prompty-0.1.17}/tests/prompts/test.py +0 -0
  70. {prompty-0.1.15 → prompty-0.1.17}/tests/prompty.json +0 -0
  71. {prompty-0.1.15 → prompty-0.1.17}/tests/test_common.py +0 -0
  72. {prompty-0.1.15 → prompty-0.1.17}/tests/test_execute.py +0 -0
  73. {prompty-0.1.15 → prompty-0.1.17}/tests/test_factory_invoker.py +0 -0
  74. {prompty-0.1.15 → prompty-0.1.17}/tests/test_path_exec.py +0 -0
  75. {prompty-0.1.15 → prompty-0.1.17}/tests/test_tracing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prompty
3
- Version: 0.1.15
3
+ Version: 0.1.17
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
@@ -10,8 +10,6 @@ import prompty
10
10
  from prompty.tracer import trace, PromptyTracer, console_tracer, Tracer
11
11
  from dotenv import load_dotenv
12
12
 
13
- load_dotenv()
14
-
15
13
 
16
14
  def normalize_path(p, create_dir=False) -> Path:
17
15
  path = Path(p)
@@ -27,8 +25,16 @@ def normalize_path(p, create_dir=False) -> Path:
27
25
 
28
26
  return path
29
27
 
28
+
30
29
  def dynamic_import(module: str):
31
- t = module if "." in module else f"prompty.{module}"
30
+ # built in modules
31
+ if module == "azure" or module == "azure_openai":
32
+ t = "prompty.azure"
33
+ elif module == "serverless":
34
+ t = "prompty.serverless"
35
+ else:
36
+ t = module
37
+
32
38
  print(f"Loading invokers from {t}")
33
39
  importlib.import_module(t)
34
40
 
@@ -60,7 +66,9 @@ def chat_mode(prompt_path: str):
60
66
  break
61
67
  # reloadable prompty file
62
68
  chat_history.append({"role": "user", "content": user_input})
63
- result = prompty.execute(prompt_path, inputs={"chat_history": chat_history})
69
+ result = prompty.execute(
70
+ prompt_path, inputs={"chat_history": chat_history}
71
+ )
64
72
  print(f"\n{G}Assistant:{W} {result}")
65
73
  chat_history.append({"role": "assistant", "content": result})
66
74
  except Exception as e:
@@ -92,10 +100,16 @@ def execute(prompt_path: str, raw=False):
92
100
 
93
101
  @click.command()
94
102
  @click.option("--source", "-s", required=True)
103
+ @click.option("--env", "-e", required=False)
95
104
  @click.option("--verbose", "-v", is_flag=True)
96
105
  @click.option("--chat", "-c", is_flag=True)
97
106
  @click.version_option()
98
- def run(source, verbose, chat):
107
+ def run(source, env, verbose, chat):
108
+ # load external env file
109
+ if env:
110
+ print(f"Loading environment variables from {env}")
111
+ load_dotenv(env)
112
+
99
113
  prompt_path = normalize_path(source)
100
114
  if not prompt_path.exists():
101
115
  print(f"{str(prompt_path)} does not exist")
@@ -13,7 +13,7 @@ dependencies = [
13
13
  "python-dotenv>=1.0.1",
14
14
  "click>=8.1.7",
15
15
  ]
16
- version = "0.1.15"
16
+ version = "0.1.17"
17
17
 
18
18
  [project.optional-dependencies]
19
19
  azure = [
@@ -27,6 +27,9 @@ serverless = [
27
27
  "azure-ai-inference>=1.0.0b3",
28
28
  ]
29
29
 
30
+ [project.scripts]
31
+ prompty = "prompty.cli:run"
32
+
30
33
  [tool.pdm]
31
34
  distribution = true
32
35
 
@@ -1,10 +0,0 @@
1
- # __init__.py
2
- from prompty.core import InvokerException
3
-
4
- try:
5
- from ..azure.executor import AzureOpenAIExecutor
6
- from ..azure.processor import AzureOpenAIProcessor
7
- except ImportError:
8
- raise InvokerException(
9
- "Error registering AzureOpenAIExecutor and AzureOpenAIProcessor", "azure"
10
- )
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