olca 0.2.37__py3-none-any.whl → 0.2.38__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
olca/olcacli.py CHANGED
@@ -5,6 +5,7 @@ import dotenv
5
5
  from langchain import hub
6
6
  import argparse
7
7
  import yaml
8
+ import fusewill_utils as fu
8
9
 
9
10
  #jgwill/olca1
10
11
  #olca1_prompt = hub.pull("jgwill/olca1") #Future use
@@ -176,10 +177,22 @@ def _parse_args():
176
177
 
177
178
  from olca.tracing import TracingManager
178
179
 
180
+ def load_environment():
181
+ # Load .env from current directory
182
+ dotenv.load_dotenv(dotenv_path=os.path.join(os.getcwd(), ".env"))
183
+
184
+ # Try loading from home directory if keys are missing
185
+ if not all([os.getenv(key) for key in ["LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", "LANGFUSE_HOST",
186
+ "LANGCHAIN_API_KEY", "OPENAI_API_KEY"]]):
187
+ dotenv.load_dotenv(dotenv_path=os.path.expanduser("~/.env"))
188
+
179
189
  def main():
180
190
  args = _parse_args()
181
191
  olca_config_file = 'olca.yml'
182
192
 
193
+ # Load environment variables first
194
+ load_environment()
195
+
183
196
  if args.init:
184
197
  if os.path.exists(olca_config_file):
185
198
  print("Error: Configuration file already exists. Cannot run 'olca init'.")
@@ -205,6 +218,14 @@ def main():
205
218
  if tracing_enabled and not callbacks:
206
219
  print("Warning: Tracing enabled but no handlers configured")
207
220
 
221
+ if tracing_enabled:
222
+ # Verify Langfuse configuration
223
+ if not all([os.getenv(key) for key in ["LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", "LANGFUSE_HOST"]]):
224
+ print("Warning: Langfuse environment variables missing")
225
+ # Verify LangSmith configuration
226
+ if not os.getenv("LANGCHAIN_API_KEY"):
227
+ print("Warning: LANGCHAIN_API_KEY not set")
228
+
208
229
  try:
209
230
 
210
231
  api_key_variable = "OPENAI_API_KEY"
olca/tracing.py CHANGED
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  from langfuse.callback import CallbackHandler as LangfuseCallbackHandler
3
+ from langfuse import Langfuse
3
4
 
4
5
  class TracingManager:
5
6
  def __init__(self, config):
@@ -28,10 +29,16 @@ class TracingManager:
28
29
  os.environ["LANGCHAIN_TRACING_V2"] = "true"
29
30
 
30
31
  def _setup_langfuse(self):
31
- if not (os.getenv("LANGFUSE_PUBLIC_KEY") and os.getenv("LANGFUSE_SECRET_KEY")):
32
- print("Warning: LANGFUSE_PUBLIC_KEY/LANGFUSE_SECRET_KEY not set for Langfuse tracing")
32
+ required_vars = ["LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", "LANGFUSE_HOST"]
33
+ if not all(os.getenv(var) for var in required_vars):
34
+ print("Warning: Missing Langfuse environment variables")
33
35
  return None
34
36
 
37
+ Langfuse(
38
+ public_key=os.getenv("LANGFUSE_PUBLIC_KEY"),
39
+ secret_key=os.getenv("LANGFUSE_SECRET_KEY"),
40
+ host=os.getenv("LANGFUSE_HOST")
41
+ )
35
42
  return LangfuseCallbackHandler()
36
43
 
37
44
  def get_callbacks(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: olca
3
- Version: 0.2.37
3
+ Version: 0.2.38
4
4
  Summary: A Python package for experimental usage of Langchain and Human-in-the-Loop
5
5
  Home-page: https://github.com/jgwill/olca
6
6
  Author: Jean GUillaume ISabelle
@@ -0,0 +1,11 @@
1
+ olca/__init__.py,sha256=3QyLLAys_KiiDIe-cfO_7QyY7di_qCaCS-sVziW2BOw,23
2
+ olca/fusewill_cli.py,sha256=Gf8CaYs7Uo4NH8QfgRNYalpmSUo047p9rzdkvIABHi8,7872
3
+ olca/fusewill_utils.py,sha256=IOIElqWCIsNzePlS1FZa5_35vySYLwbMUGW6UhNefIc,6065
4
+ olca/olcacli.py,sha256=VXXGfUAxrWTI_EM-TRpDNo2Cop3MRZWgQfN_S0HJwNc,15777
5
+ olca/tracing.py,sha256=OexV2i7d7-tLN9XYTL9D9gGh0y0uYcfQK7_eIDNX2Iw,1495
6
+ olca-0.2.38.dist-info/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
7
+ olca-0.2.38.dist-info/METADATA,sha256=YHvmI1c0vXi6yjFquHAWj1ZKBSuOMcHTJOBZiUQz100,25311
8
+ olca-0.2.38.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
9
+ olca-0.2.38.dist-info/entry_points.txt,sha256=AhP5FMv6vnOq9C76V_vxRVIO50smnZXG4RIY47oD2_U,103
10
+ olca-0.2.38.dist-info/top_level.txt,sha256=bGDtAReS-xlS0F6MM-DyD0IQUqjNdWmgemnM3vNtrpI,5
11
+ olca-0.2.38.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- olca/__init__.py,sha256=3QyLLAys_KiiDIe-cfO_7QyY7di_qCaCS-sVziW2BOw,23
2
- olca/fusewill_cli.py,sha256=Gf8CaYs7Uo4NH8QfgRNYalpmSUo047p9rzdkvIABHi8,7872
3
- olca/fusewill_utils.py,sha256=IOIElqWCIsNzePlS1FZa5_35vySYLwbMUGW6UhNefIc,6065
4
- olca/olcacli.py,sha256=yUHnASmkXn2FygwA-MhTzgaJOhD4yEvuqIp7ghote3o,14834
5
- olca/tracing.py,sha256=A6K9K_mhCPS1_NncFv2-7hbeMkqfKT3XgUCERusbIYE,1248
6
- olca-0.2.37.dist-info/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
7
- olca-0.2.37.dist-info/METADATA,sha256=oQql8pKoyL4SKiOlvHlUnmjEKYQwbF0P76iGH328i3M,25311
8
- olca-0.2.37.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
9
- olca-0.2.37.dist-info/entry_points.txt,sha256=AhP5FMv6vnOq9C76V_vxRVIO50smnZXG4RIY47oD2_U,103
10
- olca-0.2.37.dist-info/top_level.txt,sha256=bGDtAReS-xlS0F6MM-DyD0IQUqjNdWmgemnM3vNtrpI,5
11
- olca-0.2.37.dist-info/RECORD,,
File without changes
File without changes