quraite 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl

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 (49) hide show
  1. quraite/__init__.py +3 -3
  2. quraite/adapters/__init__.py +134 -134
  3. quraite/adapters/agno_adapter.py +159 -159
  4. quraite/adapters/base.py +123 -123
  5. quraite/adapters/bedrock_agents_adapter.py +343 -343
  6. quraite/adapters/flowise_adapter.py +275 -275
  7. quraite/adapters/google_adk_adapter.py +209 -209
  8. quraite/adapters/http_adapter.py +251 -239
  9. quraite/adapters/langflow_adapter.py +192 -192
  10. quraite/adapters/langgraph_adapter.py +304 -304
  11. quraite/adapters/langgraph_server_adapter.py +252 -252
  12. quraite/adapters/n8n_adapter.py +220 -220
  13. quraite/adapters/openai_agents_adapter.py +269 -269
  14. quraite/adapters/pydantic_ai_adapter.py +312 -312
  15. quraite/adapters/smolagents_adapter.py +152 -152
  16. quraite/logger.py +61 -61
  17. quraite/schema/message.py +91 -91
  18. quraite/schema/response.py +16 -16
  19. quraite/serve/__init__.py +1 -1
  20. quraite/serve/cloudflared.py +210 -210
  21. quraite/serve/local_agent.py +360 -360
  22. quraite/traces/traces_adk_openinference.json +379 -0
  23. quraite/traces/traces_agno_multi_agent.json +669 -0
  24. quraite/traces/traces_agno_openinference.json +321 -0
  25. quraite/traces/traces_crewai_openinference.json +155 -0
  26. quraite/traces/traces_langgraph_openinference.json +349 -0
  27. quraite/traces/traces_langgraph_openinference_multi_agent.json +2705 -0
  28. quraite/traces/traces_langgraph_traceloop.json +510 -0
  29. quraite/traces/traces_openai_agents_multi_agent_1.json +402 -0
  30. quraite/traces/traces_openai_agents_openinference.json +341 -0
  31. quraite/traces/traces_pydantic_openinference.json +286 -0
  32. quraite/traces/traces_pydantic_openinference_multi_agent_1.json +399 -0
  33. quraite/traces/traces_pydantic_openinference_multi_agent_2.json +398 -0
  34. quraite/traces/traces_smol_agents_openinference.json +397 -0
  35. quraite/traces/traces_smol_agents_tool_calling_openinference.json +704 -0
  36. quraite/tracing/__init__.py +24 -24
  37. quraite/tracing/constants.py +16 -16
  38. quraite/tracing/span_exporter.py +115 -115
  39. quraite/tracing/span_processor.py +49 -49
  40. quraite/tracing/tool_extractors.py +290 -290
  41. quraite/tracing/trace.py +564 -564
  42. quraite/tracing/types.py +179 -179
  43. quraite/tracing/utils.py +170 -170
  44. quraite/utils/json_utils.py +269 -269
  45. quraite-0.1.1.dist-info/METADATA +377 -0
  46. quraite-0.1.1.dist-info/RECORD +49 -0
  47. {quraite-0.1.0.dist-info → quraite-0.1.1.dist-info}/WHEEL +1 -1
  48. quraite-0.1.0.dist-info/METADATA +0 -44
  49. quraite-0.1.0.dist-info/RECORD +0 -35
@@ -0,0 +1,377 @@
1
+ Metadata-Version: 2.3
2
+ Name: quraite
3
+ Version: 0.1.1
4
+ Summary: This project provides adaptors and methods to integrate with the Quraite platform
5
+ Author: Shiv Mohith
6
+ Author-email: Shiv Mohith <shivmohith8@gmail.com>
7
+ Requires-Dist: aiohttp>=3.13.2
8
+ Requires-Dist: fastapi>=0.121.1
9
+ Requires-Dist: httpx>=0.28.1
10
+ Requires-Dist: openinference-semantic-conventions>=0.1.25
11
+ Requires-Dist: opentelemetry-api>=1.37.0
12
+ Requires-Dist: opentelemetry-sdk>=1.37.0
13
+ Requires-Dist: pydantic>=2.12.4
14
+ Requires-Dist: python-dotenv>=1.2.1
15
+ Requires-Dist: uvicorn>=0.38.0
16
+ Requires-Dist: agno>=2.3.4 ; extra == 'agno'
17
+ Requires-Dist: boto3>=1.40.70 ; extra == 'bedrock'
18
+ Requires-Dist: google-adk>=1.18.0 ; extra == 'google-adk'
19
+ Requires-Dist: langchain>=1.0.5 ; extra == 'langgraph'
20
+ Requires-Dist: langgraph>=1.0.3 ; extra == 'langgraph'
21
+ Requires-Dist: openai-agents>=0.5.0 ; extra == 'openai-agents'
22
+ Requires-Dist: pydantic-ai>=1.25.0 ; extra == 'pydantic-ai'
23
+ Requires-Dist: pyngrok>=7.5.0 ; extra == 'pyngrok'
24
+ Requires-Dist: smolagents>=1.23.0 ; extra == 'smolagents'
25
+ Requires-Python: >=3.10
26
+ Provides-Extra: agno
27
+ Provides-Extra: bedrock
28
+ Provides-Extra: google-adk
29
+ Provides-Extra: langgraph
30
+ Provides-Extra: openai-agents
31
+ Provides-Extra: pydantic-ai
32
+ Provides-Extra: pyngrok
33
+ Provides-Extra: smolagents
34
+ Description-Content-Type: text/markdown
35
+
36
+ # Quraite Python SDK
37
+
38
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
39
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
40
+
41
+ The **Quraite Python SDK** provides adapters and methods to integrate AI agent frameworks with the [Quraite platform](https://quraite.ai). It offers a unified interface for different agent frameworks, automatic tracing and observability, and easy local server setup with tunneling capabilities.
42
+
43
+ ## Features
44
+
45
+ - 🔌 **Framework Adapters**: Support for multiple AI agent frameworks (LangGraph, Pydantic AI, Agno, Google ADK, OpenAI Agents, Smolagents, AWS Bedrock, Flowise, Langflow, N8n, and more)
46
+ - 📊 **Automatic Tracing**: Built-in OpenTelemetry-based tracing for agent execution, tool calls, and performance metrics
47
+ - 🚀 **Local Server**: Easy-to-use local server with optional tunneling (Cloudflare/ngrok) for public access
48
+ - 📦 **Standardized Schema**: Unified message and response formats across all frameworks
49
+ - 🔍 **Observability**: Track token usage, costs, latency, and model information for each agent invocation
50
+
51
+ ## Installation
52
+
53
+ ### Basic Installation
54
+
55
+ ```bash
56
+ pip install quraite
57
+ ```
58
+
59
+ ### Framework-Specific Installation
60
+
61
+ Install with optional dependencies for specific frameworks:
62
+
63
+ ```bash
64
+ # LangGraph
65
+ pip install 'quraite[langgraph]'
66
+
67
+ # Pydantic AI
68
+ pip install 'quraite[pydantic-ai]'
69
+
70
+ # Agno
71
+ pip install 'quraite[agno]'
72
+
73
+ # Google ADK
74
+ pip install 'quraite[google-adk]'
75
+
76
+ # OpenAI Agents
77
+ pip install 'quraite[openai-agents]'
78
+
79
+ # Smolagents
80
+ pip install 'quraite[smolagents]'
81
+
82
+ # AWS Bedrock
83
+ pip install 'quraite[bedrock]'
84
+
85
+ # Multiple frameworks
86
+ pip install 'quraite[langgraph,pydantic-ai,agno]'
87
+ ```
88
+
89
+ ## Quick Start
90
+
91
+ ### Example: LangGraph Agent with Local Server
92
+
93
+ Pass your compiled LangGraph agent to the adapter and expose it as an HTTP API:
94
+
95
+ ```python
96
+ import uvicorn
97
+ from dotenv import load_dotenv
98
+ from openinference.instrumentation import TracerProvider
99
+ from openinference.instrumentation.langchain import LangChainInstrumentor
100
+
101
+ from quraite.adapters import LanggraphAdapter
102
+ from quraite.serve.local_agent import LocalAgentServer
103
+ from quraite.tracing.span_exporter import QuraiteInMemorySpanExporter
104
+ from quraite.tracing.span_processor import QuraiteSimpleSpanProcessor
105
+
106
+ load_dotenv()
107
+
108
+ # Set up tracing (optional)
109
+ tracer_provider = TracerProvider()
110
+ quraite_span_exporter = QuraiteInMemorySpanExporter()
111
+ quraite_span_processor = QuraiteSimpleSpanProcessor(quraite_span_exporter)
112
+ tracer_provider.add_span_processor(quraite_span_processor)
113
+ LangChainInstrumentor().instrument(tracer_provider=tracer_provider)
114
+
115
+ # Your compiled LangGraph agent (created elsewhere)
116
+ # agent = create_agent(...)
117
+
118
+ # Wrap with Quraite adapter
119
+ adapter = LanggraphAdapter(
120
+ agent_graph=agent, # Pass your compiled LangGraph agent here
121
+ tracer_provider=tracer_provider, # Optional: for tracing
122
+ )
123
+
124
+ # Create and start server with Cloudflare tunnel
125
+ server = LocalAgentServer(
126
+ wrapped_agent=adapter,
127
+ agent_id="your-agent-id", # Optional: for Quraite platform integration
128
+ )
129
+
130
+ app = server.create_app(
131
+ port=8080,
132
+ host="0.0.0.0",
133
+ tunnel="cloudflare", # Options: "cloudflare", "ngrok", or "none"
134
+ )
135
+
136
+ if __name__ == "__main__":
137
+ uvicorn.run("local_server:app", host="0.0.0.0", port=8080)
138
+ ```
139
+
140
+ The server exposes:
141
+
142
+ - `GET /` - Health check endpoint
143
+ - `POST /v1/agents/completions` - Agent invocation endpoint
144
+
145
+ When using `tunnel="cloudflare"` or `tunnel="ngrok"`, your agent will be publicly accessible via the generated URL.
146
+
147
+ ## Supported Frameworks
148
+
149
+ | Framework | Adapter | Installation |
150
+ | -------------------- | ------------------------ | -------------------------------------- |
151
+ | **LangGraph** | `LanggraphAdapter` | `pip install 'quraite[langgraph]'` |
152
+ | **Pydantic AI** | `PydanticAIAdapter` | `pip install 'quraite[pydantic-ai]'` |
153
+ | **Agno** | `AgnoAdapter` | `pip install 'quraite[agno]'` |
154
+ | **Google ADK** | `GoogleADKAdapter` | `pip install 'quraite[google-adk]'` |
155
+ | **OpenAI Agents** | `OpenaiAgentsAdapter` | `pip install 'quraite[openai-agents]'` |
156
+ | **Smolagents** | `SmolagentsAdapter` | `pip install 'quraite[smolagents]'` |
157
+ | **AWS Bedrock** | `BedrockAgentsAdapter` | `pip install 'quraite[bedrock]'` |
158
+ | **Flowise** | `FlowiseAdapter` | Included in base package |
159
+ | **Langflow** | `LangflowAdapter` | Included in base package |
160
+ | **N8n** | `N8nAdapter` | Included in base package |
161
+ | **HTTP** | `HttpAdapter` | Included in base package |
162
+ | **LangGraph Server** | `LanggraphServerAdapter` | `pip install 'quraite[langgraph]'` |
163
+
164
+ ## Core Concepts
165
+
166
+ ### Adapters
167
+
168
+ Adapters provide a unified interface (`BaseAdapter`) for different agent frameworks. Each adapter:
169
+
170
+ - Converts framework-specific agents to a standard interface
171
+ - Handles message format conversion
172
+ - Supports optional tracing integration
173
+ - Provides async invocation via `ainvoke()`
174
+
175
+ ### Tracing
176
+
177
+ The SDK includes built-in OpenTelemetry-based tracing that captures:
178
+
179
+ - **Agent Trajectory**: Complete conversation flow with all messages
180
+ - **Tool Calls**: Tool invocations with inputs and outputs
181
+ - **Performance Metrics**: Token usage, costs, latency
182
+ - **Model Information**: Model name and provider details
183
+
184
+ To enable tracing:
185
+
186
+ ```python
187
+ from openinference.instrumentation import TracerProvider
188
+ from quraite.tracing.span_exporter import QuraiteInMemorySpanExporter
189
+ from quraite.tracing.span_processor import QuraiteSimpleSpanProcessor
190
+
191
+ tracer_provider = TracerProvider()
192
+ quraite_span_exporter = QuraiteInMemorySpanExporter()
193
+ quraite_span_processor = QuraiteSimpleSpanProcessor(quraite_span_exporter)
194
+ tracer_provider.add_span_processor(quraite_span_processor)
195
+
196
+ # Instrument your framework (example for LangChain)
197
+ from openinference.instrumentation.langchain import LangChainInstrumentor
198
+ LangChainInstrumentor().instrument(tracer_provider=tracer_provider)
199
+ ```
200
+
201
+ ### Message Schema
202
+
203
+ The SDK uses a standardized message format:
204
+
205
+ ```python
206
+ from quraite.schema.message import (
207
+ UserMessage,
208
+ AssistantMessage,
209
+ ToolMessage,
210
+ SystemMessage,
211
+ MessageContentText,
212
+ ToolCall,
213
+ )
214
+
215
+ # User message
216
+ user_msg = UserMessage(
217
+ content=[MessageContentText(text="Hello, world!")]
218
+ )
219
+
220
+ # Assistant message with tool calls
221
+ assistant_msg = AssistantMessage(
222
+ content=[MessageContentText(text="I'll calculate that for you.")],
223
+ tool_calls=[
224
+ ToolCall(
225
+ id="call_123",
226
+ name="add",
227
+ arguments={"a": 10, "b": 5}
228
+ )
229
+ ]
230
+ )
231
+
232
+ # Tool message
233
+ tool_msg = ToolMessage(
234
+ tool_call_id="call_123",
235
+ content=[MessageContentText(text="15")]
236
+ )
237
+ ```
238
+
239
+ ### Response Format
240
+
241
+ Agent invocations return an `AgentInvocationResponse`:
242
+
243
+ ```python
244
+ from quraite.schema.response import AgentInvocationResponse
245
+
246
+ response: AgentInvocationResponse = await adapter.ainvoke(
247
+ input=[user_msg],
248
+ session_id="session-123"
249
+ )
250
+
251
+ # Access trajectory (list of messages)
252
+ trajectory = response.agent_trajectory
253
+
254
+ # Access trace (if tracing enabled)
255
+ trace = response.agent_trace
256
+
257
+ # Access final response text
258
+ final_response = response.agent_final_response
259
+ ```
260
+
261
+ ## Examples
262
+
263
+ The repository includes comprehensive examples for each supported framework:
264
+
265
+ - [`langgraph_calculator_agent`](examples/langgraph_calculator_agent/) - LangGraph calculator agent
266
+ - [`pydantic_calculator_agent`](examples/pydantic_calculator_agent/) - Pydantic AI calculator agent
267
+ - [`agno_calculator_agent`](examples/agno_calculator_agent/) - Agno calculator agent
268
+ - [`google_adk_weather_agent`](examples/google_adk_weather_agent/) - Google ADK weather agent
269
+ - [`openai_flight_booking_agent`](examples/openai_flight_booking_agent/) - OpenAI Agents flight booking
270
+ - [`smolagents_sql_agent`](examples/smolagents_sql_agent/) - Smolagents SQL agent
271
+ - [`bedrock_restaurant_support_agent`](examples/bedrock_restaurant_support_agent/) - AWS Bedrock agent
272
+ - And more...
273
+
274
+ Each example includes:
275
+
276
+ - Agent implementation
277
+ - Adapter setup
278
+ - Local server configuration
279
+ - Environment variable examples
280
+
281
+ ## API Reference
282
+
283
+ ### BaseAdapter
284
+
285
+ All adapters inherit from `BaseAdapter`:
286
+
287
+ ```python
288
+ from quraite.adapters.base import BaseAdapter
289
+
290
+ class MyAdapter(BaseAdapter):
291
+ async def ainvoke(
292
+ self,
293
+ input: List[AgentMessage],
294
+ session_id: str | None,
295
+ ) -> AgentInvocationResponse:
296
+ # Implementation
297
+ pass
298
+ ```
299
+
300
+ ### LocalAgentServer
301
+
302
+ Create a local HTTP server for your agent:
303
+
304
+ ```python
305
+ from quraite.serve.local_agent import LocalAgentServer
306
+
307
+ server = LocalAgentServer(
308
+ wrapped_agent=adapter,
309
+ agent_id="optional-agent-id",
310
+ )
311
+
312
+ app = server.create_app(
313
+ port=8080,
314
+ host="0.0.0.0",
315
+ tunnel="cloudflare", # or "ngrok" or "none"
316
+ )
317
+ ```
318
+
319
+ ## Development
320
+
321
+ ### Setup
322
+
323
+ ```bash
324
+ # Clone the repository
325
+ git clone https://github.com/innowhyte/quraite-python.git
326
+ cd quraite-python
327
+
328
+ # Install dependencies
329
+ pip install -e ".[dev,test]"
330
+ ```
331
+
332
+ ### Running Tests
333
+
334
+ ```bash
335
+ pytest
336
+ ```
337
+
338
+ ### Building
339
+
340
+ ```bash
341
+ make build
342
+ ```
343
+
344
+ ### Publishing
345
+
346
+ ```bash
347
+ # Update version
348
+ make update-version v=0.4.0
349
+
350
+ # Build
351
+ make build
352
+
353
+ # Publish to Test PyPI
354
+ make publish
355
+ # Enter username as "__token__" and then enter your API key
356
+ ```
357
+
358
+ ## Requirements
359
+
360
+ - Python 3.10+
361
+ - See `pyproject.toml` for full dependency list
362
+
363
+ ## License
364
+
365
+ See [LICENSE](LICENSE) file for details.
366
+
367
+ ## Contributing
368
+
369
+ Contributions are welcome! Please feel free to submit a Pull Request.
370
+
371
+ ## Support
372
+
373
+ For issues, questions, or contributions, please visit the [Quraite platform](https://quraite.ai) or open an issue on GitHub.
374
+
375
+ ## Changelog
376
+
377
+ See the repository's commit history for detailed changes.
@@ -0,0 +1,49 @@
1
+ quraite/__init__.py,sha256=vxU3HsbCj6AT_rl5bZJA-e3R_bzqLhMGCe96_KM4Biw,48
2
+ quraite/adapters/__init__.py,sha256=Uw2dV1_Acj_hT8N1GnQzVQEIMm_3BvZzLkWc5KfhbMw,4842
3
+ quraite/adapters/agno_adapter.py,sha256=savrQqE0iuXyFprjlhFNZ-WpZpkfqJ9Y4OeaddCtQ_Y,5639
4
+ quraite/adapters/base.py,sha256=sgzXuCRt81LyH7kjP3UsccbgDbgVQeHKOfqcXah1mHo,3917
5
+ quraite/adapters/bedrock_agents_adapter.py,sha256=2G-zUXqhNSzpyxut2UQgqTfe01MWcdjt1ajZIb43CUM,14136
6
+ quraite/adapters/flowise_adapter.py,sha256=yLJ0tjDWMtTzm0bRYbhjfRm6wd5A6DqbHhqemy_FW48,10349
7
+ quraite/adapters/google_adk_adapter.py,sha256=Ci7L54gA6pEH3-qcZ0PW1qODV6flJsVVbL9sN78FT_Y,7390
8
+ quraite/adapters/http_adapter.py,sha256=y5ft65fF6SfvJXkhDkoglvq6dv6_VlCWDTZSCLEgssE,7883
9
+ quraite/adapters/langflow_adapter.py,sha256=zGbDSd7Q_AZZ0ICByedsBIl5yNJ0hN6tQZgpUyN41-E,6946
10
+ quraite/adapters/langgraph_adapter.py,sha256=WqmbP6Zw1lwfSCBf_O7oKNoGEb_1-zw_PMS1v71i3-w,11603
11
+ quraite/adapters/langgraph_server_adapter.py,sha256=OhMx370Uzrvbp4yMOtgKkjQFI5u1xboKq0ybQRsBD90,9694
12
+ quraite/adapters/n8n_adapter.py,sha256=CCIOcZNxQw-69xdf9BVX9Jyt8i666AlsE2DJHsY8lUc,7967
13
+ quraite/adapters/openai_agents_adapter.py,sha256=iCFOWrZ-HnLoWOB-xsyJZf37Nh5QW5j8sHNSkjSWdGc,9665
14
+ quraite/adapters/pydantic_ai_adapter.py,sha256=gps_90Zp8NcAiDX26-py4MKN2B5_jPEvgroRi8kjfQU,10811
15
+ quraite/adapters/smolagents_adapter.py,sha256=QhEyMDlFkkXPSc5PiQTxMA9i2fRitzNcMdEsZwe9QVY,5448
16
+ quraite/logger.py,sha256=Py5GRQfD_s5FVb2Ziz5JxJk9AT4ve6w_iePbOSQkwH4,1601
17
+ quraite/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ quraite/schema/message.py,sha256=D6HWaZJOcoKObzDD-vo4Qg-chJDyOSwC-9XiNv_0xFc,2416
19
+ quraite/schema/response.py,sha256=HUD_TyU6nibfXgRzdpD9LGoRtptD663oq7INy1sqaS4,412
20
+ quraite/serve/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
21
+ quraite/serve/cloudflared.py,sha256=7XR1tPl0E3Feawo-6VCM8SXfCAie4cw9T1mx-ZNVJKw,6482
22
+ quraite/serve/local_agent.py,sha256=8-a_4AeHeK3nTsgoDJVcTx7s4YvPoUhd6Zu3KVWEVAQ,12845
23
+ quraite/traces/traces_adk_openinference.json,sha256=QjXAxMUEdSBcA5pCMOPiDU2_0NDsctEP6IFB6BIps9U,35957
24
+ quraite/traces/traces_agno_multi_agent.json,sha256=FEW_zkSCKYizKG40KNvfXuouXsmOTdsPC7nnXWaKLfE,65098
25
+ quraite/traces/traces_agno_openinference.json,sha256=p_tyBAp9KaT23PqGBU1cSMli7By0vss9Vpm3tL4pTMM,36871
26
+ quraite/traces/traces_crewai_openinference.json,sha256=8BYp1q9zwRZcjhL68s79nxgDEqS86bIzRy_KqGNs6wY,31495
27
+ quraite/traces/traces_langgraph_openinference.json,sha256=9GH_bbW3klUFKv2yqMcuslf80VMyBEzG6DK2j3e-9OY,28196
28
+ quraite/traces/traces_langgraph_openinference_multi_agent.json,sha256=3pAuB01N9PBWfxgAKPnTUxpW3rEM7GQh5gjQADYr2GU,510260
29
+ quraite/traces/traces_langgraph_traceloop.json,sha256=7kg4mTX19Ch2KO-vEnA9blUONRykCRmz4YrXD7uNR-w,29400
30
+ quraite/traces/traces_openai_agents_multi_agent_1.json,sha256=uLmWxc9TwhE9VfHyXjrNMkol8rKTMsv1XVAkKHsPorI,26708
31
+ quraite/traces/traces_openai_agents_openinference.json,sha256=A83POtwJI8xbi1kk84usOwP9PF3hzOJvadnfeUWdAJE,28466
32
+ quraite/traces/traces_pydantic_openinference.json,sha256=Op_Ro4KBiQYfNSteyZVziNhQrD0H88iSTVBGO0D3tAU,19776
33
+ quraite/traces/traces_pydantic_openinference_multi_agent_1.json,sha256=FjiPOvbhzzdgjcHabyPZlhgmyF1gSosbpWRJd8-89F8,21564
34
+ quraite/traces/traces_pydantic_openinference_multi_agent_2.json,sha256=bV3z56JmzoLmxdDvL4RE9opgq3kFnMxNJFD5D4CbDtw,24751
35
+ quraite/traces/traces_smol_agents_openinference.json,sha256=JVgRniA-VCuQ0oKWSqW0d09K4RcRFoOq5pcbejBigAc,83161
36
+ quraite/traces/traces_smol_agents_tool_calling_openinference.json,sha256=QnKnCBukoNyR8ufTPLbjpWBFSguBRSUyd0-zLMNL2sw,217626
37
+ quraite/tracing/__init__.py,sha256=ZAI6uLooKU8n6Np3TIAS8JN7-6bAdtajeT1PdFU-4_8,751
38
+ quraite/tracing/constants.py,sha256=KhBIHkHRXAGW6xqa9vFa1LnA94C-EUTrWh5zNsx_z4Y,358
39
+ quraite/tracing/span_exporter.py,sha256=0S3qyPgtPfZtb-IhEoQKm0ciFZoHvlaFUcqbNtDh7kM,4676
40
+ quraite/tracing/span_processor.py,sha256=mp5AR5RbRz1ddgJEK07CbXRL8NfaFj2DXP1bs9xcf4w,1603
41
+ quraite/tracing/tool_extractors.py,sha256=BXTr0lT570jSlQtwLvFGarEvBSkvAs07YSo6Ah9Qkkw,9232
42
+ quraite/tracing/trace.py,sha256=bLIXyk8XXRC6LcPImDnwowW20eg2WI6qUW6-SFrTLpQ,21646
43
+ quraite/tracing/types.py,sha256=sWyp-7Qc8zsWN6ltem8OSTRIgKWbqnQSfsTKX6RrrB8,4948
44
+ quraite/tracing/utils.py,sha256=Vm5q_iN_K1f_nEMpkQzv6jiUPpS2Yzo_VP5ZVmJZdBQ,5673
45
+ quraite/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ quraite/utils/json_utils.py,sha256=RewoObREfHnLBVI6MBCIEov6CaIxs8d67jbKEH79mQ0,18686
47
+ quraite-0.1.1.dist-info/WHEEL,sha256=5w2T7AS2mz1-rW9CNagNYWRCaB0iQqBMYLwKdlgiR4Q,78
48
+ quraite-0.1.1.dist-info/METADATA,sha256=av4RLcrkIZpgsYRyY3IZ1G8opLtP_6QBOBM-ft-p64M,11163
49
+ quraite-0.1.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.9.18
2
+ Generator: uv 0.9.7
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,44 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: quraite
3
- Version: 0.1.0
4
- Summary: This project provides adaptors and methods to integrate with the Quraite platform
5
- Author: Shiv Mohith
6
- Author-email: Shiv Mohith <shivmohith8@gmail.com>
7
- Requires-Dist: aiohttp>=3.13.2
8
- Requires-Dist: fastapi>=0.121.1
9
- Requires-Dist: httpx>=0.28.1
10
- Requires-Dist: openinference-semantic-conventions>=0.1.25
11
- Requires-Dist: opentelemetry-api>=1.37.0
12
- Requires-Dist: opentelemetry-sdk>=1.37.0
13
- Requires-Dist: pydantic>=2.12.4
14
- Requires-Dist: python-dotenv>=1.2.1
15
- Requires-Dist: uvicorn>=0.38.0
16
- Requires-Dist: agno>=2.3.4 ; extra == 'agno'
17
- Requires-Dist: boto3>=1.40.70 ; extra == 'bedrock'
18
- Requires-Dist: google-adk>=1.18.0 ; extra == 'google-adk'
19
- Requires-Dist: langchain>=1.0.5 ; extra == 'langgraph'
20
- Requires-Dist: langgraph>=1.0.3 ; extra == 'langgraph'
21
- Requires-Dist: openai-agents>=0.5.0 ; extra == 'openai-agents'
22
- Requires-Dist: pydantic-ai>=1.25.0 ; extra == 'pydantic-ai'
23
- Requires-Dist: pyngrok>=7.5.0 ; extra == 'pyngrok'
24
- Requires-Dist: smolagents>=1.23.0 ; extra == 'smolagents'
25
- Requires-Python: >=3.10
26
- Provides-Extra: agno
27
- Provides-Extra: bedrock
28
- Provides-Extra: google-adk
29
- Provides-Extra: langgraph
30
- Provides-Extra: openai-agents
31
- Provides-Extra: pydantic-ai
32
- Provides-Extra: pyngrok
33
- Provides-Extra: smolagents
34
- Description-Content-Type: text/markdown
35
-
36
- ## Quraite Python SDK
37
-
38
- ### Publishing to Test PyPI
39
-
40
- ```bash
41
- make update-version v=0.4.0
42
- make build
43
- make publish-test-pypi # enter user name as "__token__" and then enter the key
44
- ```
@@ -1,35 +0,0 @@
1
- quraite/__init__.py,sha256=YuYzKJfJuIEqKNh4bDJ-rALElZPtJnPMKivpSAlfEpc,51
2
- quraite/adapters/__init__.py,sha256=TmkLIaKX0Uu8oL_UULrcWaxf2dP5TlzU8QaBYalcUw8,4976
3
- quraite/adapters/agno_adapter.py,sha256=M4w86lHutvW3IaHh6GPsCPcplYHS0DP3MdHK0rM2Pog,5798
4
- quraite/adapters/base.py,sha256=4-R42I3snH1b4f1XUhqLL7o6nzfFGyaGKDnEqR98sc4,4040
5
- quraite/adapters/bedrock_agents_adapter.py,sha256=8YBLTsax8MWUc7Wl6H_nQ7dJoWOGmBhq2aONaC5xvxA,14479
6
- quraite/adapters/flowise_adapter.py,sha256=FSm64UQwnOdhugr33Bgl8rvV7NHpzOfAnQEOielZa10,10624
7
- quraite/adapters/google_adk_adapter.py,sha256=JzPNMAJDIyMJvlT06ka1LSf7xZmfOZGHtw5iZr97qjA,7599
8
- quraite/adapters/http_adapter.py,sha256=-wzk1bKc40KY82hMXNcfd5H23cBL7y1McngjA3heaHw,8081
9
- quraite/adapters/langflow_adapter.py,sha256=nIw4rK3cmK5tc5RGpCHZUfZjeKkDm7Y-xTSEpKn-H70,7138
10
- quraite/adapters/langgraph_adapter.py,sha256=V8z9fwalN8panio1txT7fl6BUSYJrPyVRls6oPN3UxE,11907
11
- quraite/adapters/langgraph_server_adapter.py,sha256=n-wWq91OPJYGGIA3WBMLQFiseC-LP-aGfFIDBCHQSHs,9946
12
- quraite/adapters/n8n_adapter.py,sha256=gpOK69wFLKvSW3W8FYXujVWQeu5Yza2_UPD28YVqrcc,8187
13
- quraite/adapters/openai_agents_adapter.py,sha256=zx28ZTVR6tN3MxakLPS5R5SbI7V6a82-tYXEe9QF9xE,9934
14
- quraite/adapters/pydantic_ai_adapter.py,sha256=L6WRomIKBue0knd9vFYOmWjggHRpLaC_ETRxiWxNVOM,11123
15
- quraite/adapters/smolagents_adapter.py,sha256=pHyCS0M-V-r9Zimz4nW_Q66FhuWSLnq-isA1aWEZOSY,5600
16
- quraite/logger.py,sha256=es_w82r--2eIzqbCE9XHOmnsVg1UxiTe-d81oVyyJyo,1662
17
- quraite/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- quraite/schema/message.py,sha256=A6ohEO5bQgctBwE1n8FJ4j5G6aqBEVBCaNGBpwDhun0,2507
19
- quraite/schema/response.py,sha256=tZ1IzDYoFd62lTPvrHPTi-bhRWtqQau6AlPWnfDH0vk,428
20
- quraite/serve/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
21
- quraite/serve/cloudflared.py,sha256=HKeEMJ2Njey-UgWcJtLT9nkYMM3ZgXuvn5euNhFnKxY,6692
22
- quraite/serve/local_agent.py,sha256=LHC9tg3BnZ0B60nIPyFET6HR7DXoYytAt0zGQnSw-_4,13205
23
- quraite/tracing/__init__.py,sha256=ECHShjxm0rURjh0fJRKIqx25QBNFSXZmwvBmGy-lIBo,775
24
- quraite/tracing/constants.py,sha256=aYBKpdYgePNqrKjvoquccwQb_Q4qRa5neULVZz8N5PQ,374
25
- quraite/tracing/span_exporter.py,sha256=VWBt505hfoQZo0UuwMm0OX_iBRFrxKEBBKdzpxplkQY,4791
26
- quraite/tracing/span_processor.py,sha256=5Baj2eQPJ6FJgp_wgdsMbunuxEwu1HuHgEFyIP2Y57Y,1652
27
- quraite/tracing/tool_extractors.py,sha256=5qJ7F361Kxe6I-TEr5kcEL10qhoT2AuBrf0rKATZ8Ns,9522
28
- quraite/tracing/trace.py,sha256=rQdlrzflHWid8f0SuZwfyObuiY73VFDZ3hru1ESmTAY,22210
29
- quraite/tracing/types.py,sha256=poSilI9dxNKuNQoggMBW8Dqj61LKNJneZX6_GUdepAM,5127
30
- quraite/tracing/utils.py,sha256=2OFVOZHP6km8l7xpqqXQSfUfVv7JLz_SOCuFQ57KmDg,5843
31
- quraite/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- quraite/utils/json_utils.py,sha256=YLLIGYMg_dRJ5M8qlnC-b6q0FORgfWcpyvPlDmwKULg,18955
33
- quraite-0.1.0.dist-info/WHEEL,sha256=ZyFSCYkV2BrxH6-HRVRg3R9Fo7MALzer9KiPYqNxSbo,79
34
- quraite-0.1.0.dist-info/METADATA,sha256=f1SAuKP1vWmnxumY5EPDLJW6PlnJKl515QtzOYMt1S4,1500
35
- quraite-0.1.0.dist-info/RECORD,,