hivetrace 1.3.10__tar.gz → 1.3.12__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 (50) hide show
  1. {hivetrace-1.3.10 → hivetrace-1.3.12}/PKG-INFO +39 -6
  2. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/client/async_client.py +16 -12
  3. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/client/base.py +3 -3
  4. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/client/sync_client.py +16 -12
  5. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace.egg-info/PKG-INFO +39 -6
  6. {hivetrace-1.3.10 → hivetrace-1.3.12}/setup.py +1 -1
  7. {hivetrace-1.3.10 → hivetrace-1.3.12}/LICENSE +0 -0
  8. {hivetrace-1.3.10 → hivetrace-1.3.12}/README.md +0 -0
  9. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/__init__.py +0 -0
  10. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/__init__.py +0 -0
  11. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/base_adapter.py +0 -0
  12. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/crewai/__init__.py +0 -0
  13. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/crewai/adapter.py +0 -0
  14. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/crewai/decorators.py +0 -0
  15. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/crewai/monitored_agent.py +0 -0
  16. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/crewai/monitored_crew.py +0 -0
  17. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/crewai/tool_wrapper.py +0 -0
  18. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/langchain/__init__.py +0 -0
  19. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/langchain/adapter.py +0 -0
  20. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/langchain/api.py +0 -0
  21. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/langchain/behavior_tracker.py +0 -0
  22. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/langchain/callback.py +0 -0
  23. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/langchain/decorators.py +0 -0
  24. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/langchain/models.py +0 -0
  25. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/openai_agents/__init__.py +0 -0
  26. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/openai_agents/adapter.py +0 -0
  27. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/openai_agents/models.py +0 -0
  28. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/openai_agents/tracing.py +0 -0
  29. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/utils/__init__.py +0 -0
  30. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/adapters/utils/logging.py +0 -0
  31. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/client/__init__.py +0 -0
  32. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/errors/__init__.py +0 -0
  33. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/errors/api.py +0 -0
  34. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/errors/base.py +0 -0
  35. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/errors/network.py +0 -0
  36. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/errors/validation.py +0 -0
  37. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/handlers/__init__.py +0 -0
  38. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/handlers/error_handler.py +0 -0
  39. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/handlers/response_builder.py +0 -0
  40. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/models/__init__.py +0 -0
  41. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/models/requests.py +0 -0
  42. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/models/responses.py +0 -0
  43. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/utils/__init__.py +0 -0
  44. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/utils/error_helpers.py +0 -0
  45. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace/utils/uuid_generator.py +0 -0
  46. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace.egg-info/SOURCES.txt +0 -0
  47. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace.egg-info/dependency_links.txt +0 -0
  48. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace.egg-info/requires.txt +7 -7
  49. {hivetrace-1.3.10 → hivetrace-1.3.12}/hivetrace.egg-info/top_level.txt +0 -0
  50. {hivetrace-1.3.10 → hivetrace-1.3.12}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: hivetrace
3
- Version: 1.3.10
3
+ Version: 1.3.12
4
4
  Summary: Hivetrace SDK for monitoring LLM applications
5
5
  Home-page: http://hivetrace.ai
6
6
  Author: Raft
@@ -9,12 +9,45 @@ Keywords: SDK,monitoring,logging,LLM,AI,Hivetrace
9
9
  Classifier: License :: OSI Approved :: Apache Software License
10
10
  Requires-Python: >=3.8
11
11
  Description-Content-Type: text/markdown
12
- Provides-Extra: all
12
+ License-File: LICENSE
13
+ Requires-Dist: httpx>=0.28.1
14
+ Requires-Dist: python-dotenv>=1.0.1
15
+ Requires-Dist: pydantic>=2.11.7
13
16
  Provides-Extra: base
14
- Provides-Extra: crewai
17
+ Requires-Dist: httpx>=0.28.1; extra == "base"
18
+ Requires-Dist: python-dotenv>=1.0.1; extra == "base"
19
+ Requires-Dist: pydantic>=2.11.7; extra == "base"
15
20
  Provides-Extra: langchain
16
- Provides-Extra: openai_agents
17
- License-File: LICENSE
21
+ Requires-Dist: langchain-openai==0.2.5; extra == "langchain"
22
+ Requires-Dist: langchain-community==0.3.18; extra == "langchain"
23
+ Requires-Dist: langchain==0.3.19; extra == "langchain"
24
+ Requires-Dist: langchain_experimental==0.3.4; extra == "langchain"
25
+ Provides-Extra: crewai
26
+ Requires-Dist: crewai>=0.95.0; extra == "crewai"
27
+ Provides-Extra: openai-agents
28
+ Requires-Dist: openai-agents>=0.1.0; extra == "openai-agents"
29
+ Provides-Extra: all
30
+ Requires-Dist: httpx>=0.28.1; extra == "all"
31
+ Requires-Dist: python-dotenv>=1.0.1; extra == "all"
32
+ Requires-Dist: pydantic>=2.11.7; extra == "all"
33
+ Requires-Dist: langchain-openai==0.2.5; extra == "all"
34
+ Requires-Dist: langchain-community==0.3.18; extra == "all"
35
+ Requires-Dist: langchain==0.3.19; extra == "all"
36
+ Requires-Dist: langchain_experimental==0.3.4; extra == "all"
37
+ Requires-Dist: crewai>=0.95.0; extra == "all"
38
+ Requires-Dist: openai-agents>=0.1.0; extra == "all"
39
+ Dynamic: author
40
+ Dynamic: author-email
41
+ Dynamic: classifier
42
+ Dynamic: description
43
+ Dynamic: description-content-type
44
+ Dynamic: home-page
45
+ Dynamic: keywords
46
+ Dynamic: license-file
47
+ Dynamic: provides-extra
48
+ Dynamic: requires-dist
49
+ Dynamic: requires-python
50
+ Dynamic: summary
18
51
 
19
52
  # Hivetrace SDK
20
53
 
@@ -100,14 +100,16 @@ class AsyncHivetraceSDK(BaseHivetraceSDK):
100
100
  application_id, message, additional_parameters
101
101
  )
102
102
  process_response = await self._send_request("/process_request/", payload)
103
- if files:
104
- analysis_id = self._extract_analysis_id(process_response)
105
- if analysis_id:
106
- await self._send_files(
107
- f"/user_prompt_analysis/{analysis_id}/attach_files", files
108
- )
103
+
109
104
  analysis_id = self._extract_analysis_id(process_response)
110
105
  if analysis_id:
106
+ if files:
107
+ files_response = await self._send_files(
108
+ f"/user_prompt_analysis/{analysis_id}/attach_files", files
109
+ )
110
+ if isinstance(files_response, dict) and not files_response.get("success", True):
111
+ return files_response
112
+
111
113
  blocked = await self._get_blocking_status(
112
114
  f"/user_prompt_analysis/{analysis_id}/check_blocking"
113
115
  )
@@ -125,14 +127,16 @@ class AsyncHivetraceSDK(BaseHivetraceSDK):
125
127
  application_id, message, additional_parameters
126
128
  )
127
129
  process_response = await self._send_request("/process_response/", payload)
128
- if files:
129
- analysis_id = self._extract_analysis_id(process_response)
130
- if analysis_id:
131
- await self._send_files(
132
- f"/llm_response_analysis/{analysis_id}/attach_files", files
133
- )
130
+
134
131
  analysis_id = self._extract_analysis_id(process_response)
135
132
  if analysis_id:
133
+ if files:
134
+ files_response = await self._send_files(
135
+ f"/llm_response_analysis/{analysis_id}/attach_files", files
136
+ )
137
+ if isinstance(files_response, dict) and not files_response.get("success", True):
138
+ return files_response
139
+
136
140
  blocked = await self._get_blocking_status(
137
141
  f"/llm_response_analysis/{analysis_id}/check_blocking"
138
142
  )
@@ -125,9 +125,9 @@ class BaseHivetraceSDK(ABC):
125
125
  """Extracts analysis id from API response if present."""
126
126
  try:
127
127
  if isinstance(response, dict):
128
- monitoring_result = response.get("monitoring_result", {})
129
- analysis_id = monitoring_result.get("id")
130
- return str(analysis_id) if analysis_id is not None else None
128
+ request_id = response.get("request_id")
129
+ if request_id:
130
+ return str(request_id)
131
131
  except Exception:
132
132
  return None
133
133
  return None
@@ -115,14 +115,16 @@ class SyncHivetraceSDK(BaseHivetraceSDK):
115
115
  application_id, message, additional_parameters
116
116
  )
117
117
  process_response = self._send_request("/process_request/", payload)
118
- if files:
119
- analysis_id = self._extract_analysis_id(process_response)
120
- if analysis_id:
121
- self._send_files(
122
- f"/user_prompt_analysis/{analysis_id}/attach_files", files
123
- )
118
+
124
119
  analysis_id = self._extract_analysis_id(process_response)
125
120
  if analysis_id:
121
+ if files:
122
+ files_response = self._send_files(
123
+ f"/user_prompt_analysis/{analysis_id}/attach_files", files
124
+ )
125
+ if isinstance(files_response, dict) and not files_response.get("success", True):
126
+ return files_response
127
+
126
128
  blocked = self._get_blocking_status(
127
129
  f"/user_prompt_analysis/{analysis_id}/check_blocking"
128
130
  )
@@ -140,14 +142,16 @@ class SyncHivetraceSDK(BaseHivetraceSDK):
140
142
  application_id, message, additional_parameters
141
143
  )
142
144
  process_response = self._send_request("/process_response/", payload)
143
- if files:
144
- analysis_id = self._extract_analysis_id(process_response)
145
- if analysis_id:
146
- self._send_files(
147
- f"/llm_response_analysis/{analysis_id}/attach_files", files
148
- )
145
+
149
146
  analysis_id = self._extract_analysis_id(process_response)
150
147
  if analysis_id:
148
+ if files:
149
+ files_response = self._send_files(
150
+ f"/llm_response_analysis/{analysis_id}/attach_files", files
151
+ )
152
+ if isinstance(files_response, dict) and not files_response.get("success", True):
153
+ return files_response
154
+
151
155
  blocked = self._get_blocking_status(
152
156
  f"/llm_response_analysis/{analysis_id}/check_blocking"
153
157
  )
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: hivetrace
3
- Version: 1.3.10
3
+ Version: 1.3.12
4
4
  Summary: Hivetrace SDK for monitoring LLM applications
5
5
  Home-page: http://hivetrace.ai
6
6
  Author: Raft
@@ -9,12 +9,45 @@ Keywords: SDK,monitoring,logging,LLM,AI,Hivetrace
9
9
  Classifier: License :: OSI Approved :: Apache Software License
10
10
  Requires-Python: >=3.8
11
11
  Description-Content-Type: text/markdown
12
- Provides-Extra: all
12
+ License-File: LICENSE
13
+ Requires-Dist: httpx>=0.28.1
14
+ Requires-Dist: python-dotenv>=1.0.1
15
+ Requires-Dist: pydantic>=2.11.7
13
16
  Provides-Extra: base
14
- Provides-Extra: crewai
17
+ Requires-Dist: httpx>=0.28.1; extra == "base"
18
+ Requires-Dist: python-dotenv>=1.0.1; extra == "base"
19
+ Requires-Dist: pydantic>=2.11.7; extra == "base"
15
20
  Provides-Extra: langchain
16
- Provides-Extra: openai_agents
17
- License-File: LICENSE
21
+ Requires-Dist: langchain-openai==0.2.5; extra == "langchain"
22
+ Requires-Dist: langchain-community==0.3.18; extra == "langchain"
23
+ Requires-Dist: langchain==0.3.19; extra == "langchain"
24
+ Requires-Dist: langchain_experimental==0.3.4; extra == "langchain"
25
+ Provides-Extra: crewai
26
+ Requires-Dist: crewai>=0.95.0; extra == "crewai"
27
+ Provides-Extra: openai-agents
28
+ Requires-Dist: openai-agents>=0.1.0; extra == "openai-agents"
29
+ Provides-Extra: all
30
+ Requires-Dist: httpx>=0.28.1; extra == "all"
31
+ Requires-Dist: python-dotenv>=1.0.1; extra == "all"
32
+ Requires-Dist: pydantic>=2.11.7; extra == "all"
33
+ Requires-Dist: langchain-openai==0.2.5; extra == "all"
34
+ Requires-Dist: langchain-community==0.3.18; extra == "all"
35
+ Requires-Dist: langchain==0.3.19; extra == "all"
36
+ Requires-Dist: langchain_experimental==0.3.4; extra == "all"
37
+ Requires-Dist: crewai>=0.95.0; extra == "all"
38
+ Requires-Dist: openai-agents>=0.1.0; extra == "all"
39
+ Dynamic: author
40
+ Dynamic: author-email
41
+ Dynamic: classifier
42
+ Dynamic: description
43
+ Dynamic: description-content-type
44
+ Dynamic: home-page
45
+ Dynamic: keywords
46
+ Dynamic: license-file
47
+ Dynamic: provides-extra
48
+ Dynamic: requires-dist
49
+ Dynamic: requires-python
50
+ Dynamic: summary
18
51
 
19
52
  # Hivetrace SDK
20
53
 
@@ -29,7 +29,7 @@ openai_agents_requires = [
29
29
 
30
30
  setup(
31
31
  name="hivetrace",
32
- version="1.3.10",
32
+ version="1.3.12",
33
33
  author="Raft",
34
34
  author_email="sales@raftds.com",
35
35
  description="Hivetrace SDK for monitoring LLM applications",
File without changes
File without changes
@@ -1,29 +1,29 @@
1
1
  httpx>=0.28.1
2
- pydantic>=2.11.7
3
2
  python-dotenv>=1.0.1
3
+ pydantic>=2.11.7
4
4
 
5
5
  [all]
6
- crewai>=0.95.0
7
6
  httpx>=0.28.1
8
- langchain-community==0.3.18
7
+ python-dotenv>=1.0.1
8
+ pydantic>=2.11.7
9
9
  langchain-openai==0.2.5
10
+ langchain-community==0.3.18
10
11
  langchain==0.3.19
11
12
  langchain_experimental==0.3.4
13
+ crewai>=0.95.0
12
14
  openai-agents>=0.1.0
13
- pydantic>=2.11.7
14
- python-dotenv>=1.0.1
15
15
 
16
16
  [base]
17
17
  httpx>=0.28.1
18
- pydantic>=2.11.7
19
18
  python-dotenv>=1.0.1
19
+ pydantic>=2.11.7
20
20
 
21
21
  [crewai]
22
22
  crewai>=0.95.0
23
23
 
24
24
  [langchain]
25
- langchain-community==0.3.18
26
25
  langchain-openai==0.2.5
26
+ langchain-community==0.3.18
27
27
  langchain==0.3.19
28
28
  langchain_experimental==0.3.4
29
29
 
File without changes