olca 0.2.37__tar.gz → 0.2.39__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: olca
3
- Version: 0.2.37
3
+ Version: 0.2.39
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
@@ -5,6 +5,7 @@ import dotenv
5
5
  from langchain import hub
6
6
  import argparse
7
7
  import yaml
8
+ from olca.utils import load_environment, initialize_langfuse
8
9
 
9
10
  #jgwill/olca1
10
11
  #olca1_prompt = hub.pull("jgwill/olca1") #Future use
@@ -180,6 +181,12 @@ def main():
180
181
  args = _parse_args()
181
182
  olca_config_file = 'olca.yml'
182
183
 
184
+ # Load environment variables first
185
+ load_environment()
186
+
187
+ # Initialize Langfuse if needed
188
+ langfuse = initialize_langfuse()
189
+
183
190
  if args.init:
184
191
  if os.path.exists(olca_config_file):
185
192
  print("Error: Configuration file already exists. Cannot run 'olca init'.")
@@ -205,6 +212,14 @@ def main():
205
212
  if tracing_enabled and not callbacks:
206
213
  print("Warning: Tracing enabled but no handlers configured")
207
214
 
215
+ if tracing_enabled:
216
+ # Verify Langfuse configuration
217
+ if not all([os.getenv(key) for key in ["LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", "LANGFUSE_HOST"]]):
218
+ print("Warning: Langfuse environment variables missing")
219
+ # Verify LangSmith configuration
220
+ if not os.getenv("LANGCHAIN_API_KEY"):
221
+ print("Warning: LANGCHAIN_API_KEY not set")
222
+
208
223
  try:
209
224
 
210
225
  api_key_variable = "OPENAI_API_KEY"
@@ -1,5 +1,7 @@
1
1
  import os
2
2
  from langfuse.callback import CallbackHandler as LangfuseCallbackHandler
3
+ from langfuse import Langfuse
4
+ from olca.utils import initialize_langfuse
3
5
 
4
6
  class TracingManager:
5
7
  def __init__(self, config):
@@ -28,8 +30,9 @@ class TracingManager:
28
30
  os.environ["LANGCHAIN_TRACING_V2"] = "true"
29
31
 
30
32
  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")
33
+ langfuse = initialize_langfuse()
34
+ if not langfuse:
35
+ print("Warning: Missing Langfuse environment variables")
33
36
  return None
34
37
 
35
38
  return LangfuseCallbackHandler()
@@ -0,0 +1,24 @@
1
+ import os
2
+ import sys
3
+ import dotenv
4
+ import webbrowser
5
+ from langfuse import Langfuse
6
+
7
+ def load_environment():
8
+ dotenv.load_dotenv(dotenv_path=os.path.join(os.getcwd(), ".env"))
9
+
10
+ # Try loading from home directory if variables are still not set
11
+ if not all([os.getenv(key) for key in ["LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", "LANGFUSE_HOST",
12
+ "LANGCHAIN_API_KEY", "OPENAI_API_KEY"]]):
13
+ dotenv.load_dotenv(dotenv_path=os.path.expanduser("~/.env"))
14
+
15
+ def initialize_langfuse():
16
+ required_vars = ["LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", "LANGFUSE_HOST"]
17
+ if not all(os.getenv(var) for var in required_vars):
18
+ return None
19
+
20
+ return Langfuse(
21
+ public_key=os.getenv("LANGFUSE_PUBLIC_KEY"),
22
+ secret_key=os.getenv("LANGFUSE_SECRET_KEY"),
23
+ host=os.getenv("LANGFUSE_HOST")
24
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: olca
3
- Version: 0.2.37
3
+ Version: 0.2.39
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
@@ -7,6 +7,7 @@ olca/fusewill_cli.py
7
7
  olca/fusewill_utils.py
8
8
  olca/olcacli.py
9
9
  olca/tracing.py
10
+ olca/utils.py
10
11
  olca.egg-info/PKG-INFO
11
12
  olca.egg-info/SOURCES.txt
12
13
  olca.egg-info/dependency_links.txt
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "olca"
10
- version = "0.2.37"
10
+ version = "0.2.39"
11
11
 
12
12
  description = "A Python package for experimental usage of Langchain and Human-in-the-Loop"
13
13
  readme = "README.md"
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='olca',
5
- version = "0.2.37",
5
+ version = "0.2.39",
6
6
  author='Jean GUillaume ISabelle',
7
7
  author_email='jgi@jgwill.com',
8
8
  description='A Python package for experimenting with Langchain agent and interactivity in Terminal modalities.',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes