kalibr 1.2.9__py3-none-any.whl → 1.2.11__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.
kalibr/router.py CHANGED
@@ -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
@@ -216,7 +235,7 @@ class Router:
216
235
  self._last_model_id = model_id
217
236
 
218
237
  # Step 3: Create OTel context with intelligence trace_id
219
- otel_context = _create_context_with_trace_id(trace_id) if decision_trace_id else None
238
+ otel_context = _create_context_with_trace_id(trace_id) if trace_id else None
220
239
 
221
240
  # Step 4: Create span with custom context (child spans inherit trace_id)
222
241
  tracer = otel_trace.get_tracer("kalibr.router")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: kalibr
3
- Version: 1.2.9
3
+ Version: 1.2.11
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.dev/docs)
294
+ - [Docs](https://kalibr.systems/docs)
286
295
  - [Dashboard](https://dashboard.kalibr.systems)
287
296
  - [GitHub](https://github.com/kalibr-ai/kalibr-sdk-python)
@@ -12,7 +12,7 @@ kalibr/kalibr_app.py,sha256=ItZwEh0FZPx9_BE-zPQajC2yxI2y9IHYwJD0k9tbHvY,2773
12
12
  kalibr/models.py,sha256=HwD_-iysZMSnCzMQYO1Qcf0aeXySupY7yJeBwl_dLS0,1024
13
13
  kalibr/pricing.py,sha256=wY0GzcrZdXuHlZoq2e74RkX0scd6somk_KYbr-RSHdE,8844
14
14
  kalibr/redaction.py,sha256=XibxX4Lv1Ci0opE6Tb5ZI2GLbO0a8E9U66MAg60llnc,1139
15
- kalibr/router.py,sha256=aYYgI-rcibU8QI9mnGvLc2XmHNn6HZSB3-CO8mOwPRI,18182
15
+ kalibr/router.py,sha256=PS43LAkMnhQLrADX8bPACPP0PygEc9Sv-BWhX6TLQuc,18905
16
16
  kalibr/schemas.py,sha256=XLZNLkXca6jbj9AF6gDIyGVnIcr1SVOsNYaKvW-wbgE,3669
17
17
  kalibr/simple_tracer.py,sha256=oiwXtiYaIqZxqCNV-b79_dsiJT0D3XvKhNT_LF6bRD4,9736
18
18
  kalibr/tokens.py,sha256=istjgaxi9S4dMddjuGtoQaTnZYcWLCqdnxRjV86yNXA,1297
@@ -44,9 +44,9 @@ kalibr_langchain/callback.py,sha256=SNM1aHOXdG55grHmGyTwbXOeM6hjZTub2REiZD2H-d8,
44
44
  kalibr_langchain/chat_model.py,sha256=Y4xsZGx9gZpDUF8NP-edJuYam4k0NBySdA6B5484MKk,3190
45
45
  kalibr_openai_agents/__init__.py,sha256=wL59LzGstptKigfQDrKKt_7hcMO1JGVQtVAsE0lz-Zw,1367
46
46
  kalibr_openai_agents/processor.py,sha256=F550sdRf3rpguP1yOlgAUQWDLPBy4hSACV3-zOyCpOU,18257
47
- kalibr-1.2.9.dist-info/LICENSE,sha256=5mwAnB38l3_PjmOQn6_L6cZnJvus143DUjMBPIH1yso,10768
48
- kalibr-1.2.9.dist-info/METADATA,sha256=raFHt8CD3sUlapfeAGKOo4m_BOI0HQvmmtFs1wyqBfI,9014
49
- kalibr-1.2.9.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
50
- kalibr-1.2.9.dist-info/entry_points.txt,sha256=Kojlc6WRX8V1qS9lOMdDPZpTUVHCtzGtHqXusErgmLY,47
51
- kalibr-1.2.9.dist-info/top_level.txt,sha256=dIfBOWUnnHGFDwgz5zfIx5_0bU3wOUgAbYr4JcFHZmo,59
52
- kalibr-1.2.9.dist-info/RECORD,,
47
+ kalibr-1.2.11.dist-info/LICENSE,sha256=5mwAnB38l3_PjmOQn6_L6cZnJvus143DUjMBPIH1yso,10768
48
+ kalibr-1.2.11.dist-info/METADATA,sha256=zTjMZq_l9ul9P_QcPihtPvU6n-CY_auKQX8jM-khlDE,9299
49
+ kalibr-1.2.11.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
50
+ kalibr-1.2.11.dist-info/entry_points.txt,sha256=Kojlc6WRX8V1qS9lOMdDPZpTUVHCtzGtHqXusErgmLY,47
51
+ kalibr-1.2.11.dist-info/top_level.txt,sha256=dIfBOWUnnHGFDwgz5zfIx5_0bU3wOUgAbYr4JcFHZmo,59
52
+ kalibr-1.2.11.dist-info/RECORD,,