kalibr 1.2.10__tar.gz → 1.3.0__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.
- {kalibr-1.2.10 → kalibr-1.3.0}/PKG-INFO +11 -2
- {kalibr-1.2.10 → kalibr-1.3.0}/README.md +10 -1
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/router.py +19 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr.egg-info/PKG-INFO +11 -2
- {kalibr-1.2.10 → kalibr-1.3.0}/pyproject.toml +1 -1
- {kalibr-1.2.10 → kalibr-1.3.0}/LICENSE +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/__init__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/__main__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/capsule_middleware.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/cli/__init__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/cli/capsule_cmd.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/cli/deploy_cmd.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/cli/main.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/cli/run.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/cli/serve.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/client.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/collector.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/context.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/cost_adapter.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/decorators.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/instrumentation/__init__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/instrumentation/anthropic_instr.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/instrumentation/base.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/instrumentation/google_instr.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/instrumentation/openai_instr.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/instrumentation/registry.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/intelligence.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/kalibr.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/kalibr_app.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/middleware/__init__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/middleware/auto_tracer.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/models.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/pricing.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/redaction.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/schemas.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/simple_tracer.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/tokens.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/trace_capsule.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/trace_models.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/tracer.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/types.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr/utils.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr.egg-info/SOURCES.txt +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr.egg-info/dependency_links.txt +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr.egg-info/entry_points.txt +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr.egg-info/requires.txt +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr.egg-info/top_level.txt +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_crewai/__init__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_crewai/callbacks.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_crewai/instrumentor.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_langchain/__init__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_langchain/async_callback.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_langchain/callback.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_langchain/chat_model.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_openai_agents/__init__.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/kalibr_openai_agents/processor.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/setup.cfg +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_capsule_builder.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_cost_adapter.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_http_client_leak.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_instrumentation.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_intelligence.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_langchain_routing.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_pricing.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_router.py +0 -0
- {kalibr-1.2.10 → kalibr-1.3.0}/tests/test_thread_safety.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: kalibr
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Adaptive routing for AI agents. Learns which models work best and routes automatically.
|
|
5
5
|
Author-email: Kalibr Team <support@kalibr.systems>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -78,6 +78,15 @@ Adaptive routing for AI agents. Kalibr learns which models work best for your ta
|
|
|
78
78
|
pip install kalibr
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
## Setup
|
|
82
|
+
|
|
83
|
+
Get your credentials from [dashboard.kalibr.systems/settings](https://dashboard.kalibr.systems/settings), then:
|
|
84
|
+
```bash
|
|
85
|
+
export KALIBR_API_KEY=your-api-key
|
|
86
|
+
export KALIBR_TENANT_ID=your-tenant-id
|
|
87
|
+
export OPENAI_API_KEY=sk-... # or ANTHROPIC_API_KEY for Claude models
|
|
88
|
+
```
|
|
89
|
+
|
|
81
90
|
## Quick Start
|
|
82
91
|
```python
|
|
83
92
|
from kalibr import Router
|
|
@@ -282,6 +291,6 @@ Apache-2.0
|
|
|
282
291
|
|
|
283
292
|
## Links
|
|
284
293
|
|
|
285
|
-
- [Docs](https://kalibr.
|
|
294
|
+
- [Docs](https://kalibr.systems/docs)
|
|
286
295
|
- [Dashboard](https://dashboard.kalibr.systems)
|
|
287
296
|
- [GitHub](https://github.com/kalibr-ai/kalibr-sdk-python)
|
|
@@ -11,6 +11,15 @@ Adaptive routing for AI agents. Kalibr learns which models work best for your ta
|
|
|
11
11
|
pip install kalibr
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
+
## Setup
|
|
15
|
+
|
|
16
|
+
Get your credentials from [dashboard.kalibr.systems/settings](https://dashboard.kalibr.systems/settings), then:
|
|
17
|
+
```bash
|
|
18
|
+
export KALIBR_API_KEY=your-api-key
|
|
19
|
+
export KALIBR_TENANT_ID=your-tenant-id
|
|
20
|
+
export OPENAI_API_KEY=sk-... # or ANTHROPIC_API_KEY for Claude models
|
|
21
|
+
```
|
|
22
|
+
|
|
14
23
|
## Quick Start
|
|
15
24
|
```python
|
|
16
25
|
from kalibr import Router
|
|
@@ -215,6 +224,6 @@ Apache-2.0
|
|
|
215
224
|
|
|
216
225
|
## Links
|
|
217
226
|
|
|
218
|
-
- [Docs](https://kalibr.
|
|
227
|
+
- [Docs](https://kalibr.systems/docs)
|
|
219
228
|
- [Dashboard](https://dashboard.kalibr.systems)
|
|
220
229
|
- [GitHub](https://github.com/kalibr-ai/kalibr-sdk-python)
|
|
@@ -112,6 +112,25 @@ class Router:
|
|
|
112
112
|
auto_register: If True, register paths on init
|
|
113
113
|
"""
|
|
114
114
|
self.goal = goal
|
|
115
|
+
|
|
116
|
+
# Validate required environment variables
|
|
117
|
+
api_key = os.environ.get('KALIBR_API_KEY')
|
|
118
|
+
tenant_id = os.environ.get('KALIBR_TENANT_ID')
|
|
119
|
+
|
|
120
|
+
if not api_key:
|
|
121
|
+
raise ValueError(
|
|
122
|
+
"KALIBR_API_KEY environment variable not set.\n"
|
|
123
|
+
"Get your API key from: https://dashboard.kalibr.systems/settings\n"
|
|
124
|
+
"Then run: export KALIBR_API_KEY=your-key-here"
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
if not tenant_id:
|
|
128
|
+
raise ValueError(
|
|
129
|
+
"KALIBR_TENANT_ID environment variable not set.\n"
|
|
130
|
+
"Find your Tenant ID at: https://dashboard.kalibr.systems/settings\n"
|
|
131
|
+
"Then run: export KALIBR_TENANT_ID=your-tenant-id"
|
|
132
|
+
)
|
|
133
|
+
|
|
115
134
|
self.success_when = success_when
|
|
116
135
|
self.exploration_rate = exploration_rate
|
|
117
136
|
self._last_trace_id: Optional[str] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: kalibr
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: Adaptive routing for AI agents. Learns which models work best and routes automatically.
|
|
5
5
|
Author-email: Kalibr Team <support@kalibr.systems>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -78,6 +78,15 @@ Adaptive routing for AI agents. Kalibr learns which models work best for your ta
|
|
|
78
78
|
pip install kalibr
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
## Setup
|
|
82
|
+
|
|
83
|
+
Get your credentials from [dashboard.kalibr.systems/settings](https://dashboard.kalibr.systems/settings), then:
|
|
84
|
+
```bash
|
|
85
|
+
export KALIBR_API_KEY=your-api-key
|
|
86
|
+
export KALIBR_TENANT_ID=your-tenant-id
|
|
87
|
+
export OPENAI_API_KEY=sk-... # or ANTHROPIC_API_KEY for Claude models
|
|
88
|
+
```
|
|
89
|
+
|
|
81
90
|
## Quick Start
|
|
82
91
|
```python
|
|
83
92
|
from kalibr import Router
|
|
@@ -282,6 +291,6 @@ Apache-2.0
|
|
|
282
291
|
|
|
283
292
|
## Links
|
|
284
293
|
|
|
285
|
-
- [Docs](https://kalibr.
|
|
294
|
+
- [Docs](https://kalibr.systems/docs)
|
|
286
295
|
- [Dashboard](https://dashboard.kalibr.systems)
|
|
287
296
|
- [GitHub](https://github.com/kalibr-ai/kalibr-sdk-python)
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "kalibr"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.3.0"
|
|
8
8
|
description = "Adaptive routing for AI agents. Learns which models work best and routes automatically."
|
|
9
9
|
authors = [{name = "Kalibr Team", email = "support@kalibr.systems"}]
|
|
10
10
|
readme = "README.md"
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|