kalibr 1.0.25__tar.gz → 1.0.26__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 (30) hide show
  1. kalibr-1.0.26/PKG-INFO +176 -0
  2. kalibr-1.0.26/README.md +153 -0
  3. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/__init__.py +1 -1
  4. kalibr-1.0.26/kalibr.egg-info/PKG-INFO +176 -0
  5. {kalibr-1.0.25 → kalibr-1.0.26}/pyproject.toml +1 -1
  6. {kalibr-1.0.25 → kalibr-1.0.26}/setup.py +1 -1
  7. kalibr-1.0.25/PKG-INFO +0 -231
  8. kalibr-1.0.25/README.md +0 -208
  9. kalibr-1.0.25/kalibr.egg-info/PKG-INFO +0 -231
  10. {kalibr-1.0.25 → kalibr-1.0.26}/LICENSE +0 -0
  11. {kalibr-1.0.25 → kalibr-1.0.26}/MANIFEST.in +0 -0
  12. {kalibr-1.0.25 → kalibr-1.0.26}/examples/README.md +0 -0
  13. {kalibr-1.0.25 → kalibr-1.0.26}/examples/__init__.py +0 -0
  14. {kalibr-1.0.25 → kalibr-1.0.26}/examples/basic_kalibr_example.py +0 -0
  15. {kalibr-1.0.25 → kalibr-1.0.26}/examples/enhanced_kalibr_example.py +0 -0
  16. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/__main__.py +0 -0
  17. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/deployment.py +0 -0
  18. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/kalibr.py +0 -0
  19. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/kalibr_app.py +0 -0
  20. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/packager.py +0 -0
  21. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/runtime_router.py +0 -0
  22. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/schema_generators.py +0 -0
  23. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/types.py +0 -0
  24. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr/validator.py +0 -0
  25. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr.egg-info/SOURCES.txt +0 -0
  26. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr.egg-info/dependency_links.txt +0 -0
  27. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr.egg-info/entry_points.txt +0 -0
  28. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr.egg-info/requires.txt +0 -0
  29. {kalibr-1.0.25 → kalibr-1.0.26}/kalibr.egg-info/top_level.txt +0 -0
  30. {kalibr-1.0.25 → kalibr-1.0.26}/setup.cfg +0 -0
kalibr-1.0.26/PKG-INFO ADDED
@@ -0,0 +1,176 @@
1
+ Metadata-Version: 2.4
2
+ Name: kalibr
3
+ Version: 1.0.26
4
+ Summary: Multi-Model MCP SDK — deploy to GPT, Claude, Gemini, Copilot from one codebase.
5
+ Home-page: https://github.com/devonakelley/kalibr-sdk
6
+ Author: Kalibr Team
7
+ Author-email: team@kalibr.dev
8
+ Requires-Python: >=3.11
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: fastapi>=0.110.1
12
+ Requires-Dist: uvicorn>=0.25.0
13
+ Requires-Dist: typer>=0.9.0
14
+ Requires-Dist: pydantic>=2.6.4
15
+ Requires-Dist: requests>=2.31.0
16
+ Requires-Dist: aiofiles>=23.2.1
17
+ Requires-Dist: jsonschema>=4.21.1
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: home-page
21
+ Dynamic: license-file
22
+ Dynamic: requires-python
23
+
24
+ # Kalibr SDK v1.0.26
25
+ ### Multi-Model AI Integration Framework
26
+
27
+ **Write once. Deploy anywhere. Connect to any AI model.**
28
+
29
+ Kalibr turns your Python functions into APIs that automatically work with **GPT Actions**, **Claude MCP**, **Gemini Extensions**, and **Copilot Plugins** — all from one codebase.
30
+ It’s the unified SDK layer for building, packaging, and deploying AI-ready endpoints.
31
+
32
+ ---
33
+
34
+ ## 🧠 Core Purpose
35
+
36
+ Kalibr is a **multi-model integration SDK** that converts simple Python functions into fully MCP-compatible APIs for every major AI model ecosystem.
37
+
38
+ > One function → Four schemas → Deploy anywhere.
39
+
40
+ ---
41
+
42
+ ## ⚙️ What It Does
43
+
44
+ ### 1. Unified Schema Generation
45
+
46
+ Kalibr automatically generates and serves schemas for:
47
+ - `/openapi.json` → GPT Actions
48
+ - `/mcp.json` → Claude MCP
49
+ - `/schemas/gemini` → Gemini Extensions
50
+ - `/schemas/copilot` → Copilot Plugins
51
+ - `/models/supported` → List of supported integrations
52
+
53
+ No manual YAML or JSON schema creation needed.
54
+
55
+ ---
56
+
57
+ ### 2. Environment-Aware Base URLs
58
+
59
+ Kalibr auto-detects where it's running and sets the correct base URL automatically:
60
+
61
+ | Environment | Example Base URL |
62
+ |--------------|------------------|
63
+ | Local | `http://localhost:8000` |
64
+ | Fly.io | `https://<app>.fly.dev` |
65
+ | Render | `https://<app>.onrender.com` |
66
+ | Custom | Set via `KALIBR_BASE_URL` |
67
+
68
+ ---
69
+
70
+ ### 3. Deployment & Runtime Abstraction
71
+
72
+ Kalibr provides a single CLI entrypoint for local and hosted runtime deployment:
73
+
74
+ ```bash
75
+ kalibr serve my_app.py
76
+ kalibr deploy my_app.py --runtime fly|render|local
77
+ kalibr version
78
+ ```
79
+
80
+ Each runtime automatically generates valid schema URLs and deployment bundles (`Dockerfile`, `fly.toml`, etc).
81
+
82
+ ---
83
+
84
+ ### 4. Two Development Modes
85
+
86
+ #### Simple Mode (Function-Level)
87
+ For lightweight APIs and test integrations.
88
+
89
+ ```python
90
+ from kalibr import Kalibr
91
+
92
+ app = Kalibr(title="Weather API")
93
+
94
+ @app.action("get_weather", "Fetch weather data")
95
+ def get_weather(city: str):
96
+ return {"city": city, "temp": 72, "condition": "sunny"}
97
+ ```
98
+
99
+ #### Advanced Mode (Full App)
100
+
101
+ ```python
102
+ from kalibr import KalibrApp
103
+ from kalibr.types import FileUpload, Session
104
+
105
+ app = KalibrApp(title="Document API")
106
+
107
+ @app.file_handler("analyze_doc", [".pdf", ".docx"])
108
+ async def analyze_doc(file: FileUpload):
109
+ return {"filename": file.filename, "result": "parsed"}
110
+
111
+ @app.session_action("save_data")
112
+ async def save_data(session: Session, data: dict):
113
+ session.set("data", data)
114
+ return {"saved": True}
115
+ ```
116
+
117
+ Includes:
118
+ - Async/await support
119
+ - File uploads
120
+ - Session persistence
121
+ - Streaming responses
122
+ - Workflow scaffolding
123
+
124
+ ---
125
+
126
+ ### 5. Built-in Routes
127
+
128
+ | Endpoint | Purpose |
129
+ |-----------|----------|
130
+ | `/health` | Health + version check |
131
+ | `/docs` | Swagger UI |
132
+ | `/models/supported` | Shows model compatibility |
133
+ | `/openapi.json`, `/mcp.json`, etc. | Model schemas |
134
+
135
+ ---
136
+
137
+ ### 6. CLI Reference
138
+
139
+ ```
140
+ kalibr serve my_app.py # Run locally
141
+ kalibr deploy my_app.py # Deploy to Fly/Render
142
+ kalibr examples # Copy examples
143
+ kalibr version # Show SDK version
144
+ ```
145
+
146
+ ---
147
+
148
+ ### 7. Value Proposition
149
+
150
+ For developers or MCP infrastructure projects (e.g. Emergent):
151
+
152
+ - **Instant MCP onboarding** — one file → all model schemas
153
+ - **Zero config** — no schema or deployment setup required
154
+ - **Multi-runtime support** — local, Fly, Render, or custom hosts
155
+ - **Unified interface layer** — consistent schema output for all AI platforms
156
+
157
+ ---
158
+
159
+ ### 8. Upcoming Additions
160
+
161
+ - Observability + tracing hooks
162
+ - Usage metering and billing
163
+ - Schema diffing / auto-validation
164
+ - Multi-runtime load routing
165
+
166
+ ---
167
+
168
+ ### License
169
+
170
+ MIT License © 2025 Kalibr Team
171
+ GitHub: [https://github.com/devonakelley/kalibr-sdk](https://github.com/devonakelley/kalibr-sdk)
172
+
173
+ ---
174
+
175
+ **Kalibr SDK** — the unified layer between AI models and the real world.
176
+ Write once. Deploy anywhere. Integrate everything.
@@ -0,0 +1,153 @@
1
+ # Kalibr SDK v1.0.26
2
+ ### Multi-Model AI Integration Framework
3
+
4
+ **Write once. Deploy anywhere. Connect to any AI model.**
5
+
6
+ Kalibr turns your Python functions into APIs that automatically work with **GPT Actions**, **Claude MCP**, **Gemini Extensions**, and **Copilot Plugins** — all from one codebase.
7
+ It’s the unified SDK layer for building, packaging, and deploying AI-ready endpoints.
8
+
9
+ ---
10
+
11
+ ## 🧠 Core Purpose
12
+
13
+ Kalibr is a **multi-model integration SDK** that converts simple Python functions into fully MCP-compatible APIs for every major AI model ecosystem.
14
+
15
+ > One function → Four schemas → Deploy anywhere.
16
+
17
+ ---
18
+
19
+ ## ⚙️ What It Does
20
+
21
+ ### 1. Unified Schema Generation
22
+
23
+ Kalibr automatically generates and serves schemas for:
24
+ - `/openapi.json` → GPT Actions
25
+ - `/mcp.json` → Claude MCP
26
+ - `/schemas/gemini` → Gemini Extensions
27
+ - `/schemas/copilot` → Copilot Plugins
28
+ - `/models/supported` → List of supported integrations
29
+
30
+ No manual YAML or JSON schema creation needed.
31
+
32
+ ---
33
+
34
+ ### 2. Environment-Aware Base URLs
35
+
36
+ Kalibr auto-detects where it's running and sets the correct base URL automatically:
37
+
38
+ | Environment | Example Base URL |
39
+ |--------------|------------------|
40
+ | Local | `http://localhost:8000` |
41
+ | Fly.io | `https://<app>.fly.dev` |
42
+ | Render | `https://<app>.onrender.com` |
43
+ | Custom | Set via `KALIBR_BASE_URL` |
44
+
45
+ ---
46
+
47
+ ### 3. Deployment & Runtime Abstraction
48
+
49
+ Kalibr provides a single CLI entrypoint for local and hosted runtime deployment:
50
+
51
+ ```bash
52
+ kalibr serve my_app.py
53
+ kalibr deploy my_app.py --runtime fly|render|local
54
+ kalibr version
55
+ ```
56
+
57
+ Each runtime automatically generates valid schema URLs and deployment bundles (`Dockerfile`, `fly.toml`, etc).
58
+
59
+ ---
60
+
61
+ ### 4. Two Development Modes
62
+
63
+ #### Simple Mode (Function-Level)
64
+ For lightweight APIs and test integrations.
65
+
66
+ ```python
67
+ from kalibr import Kalibr
68
+
69
+ app = Kalibr(title="Weather API")
70
+
71
+ @app.action("get_weather", "Fetch weather data")
72
+ def get_weather(city: str):
73
+ return {"city": city, "temp": 72, "condition": "sunny"}
74
+ ```
75
+
76
+ #### Advanced Mode (Full App)
77
+
78
+ ```python
79
+ from kalibr import KalibrApp
80
+ from kalibr.types import FileUpload, Session
81
+
82
+ app = KalibrApp(title="Document API")
83
+
84
+ @app.file_handler("analyze_doc", [".pdf", ".docx"])
85
+ async def analyze_doc(file: FileUpload):
86
+ return {"filename": file.filename, "result": "parsed"}
87
+
88
+ @app.session_action("save_data")
89
+ async def save_data(session: Session, data: dict):
90
+ session.set("data", data)
91
+ return {"saved": True}
92
+ ```
93
+
94
+ Includes:
95
+ - Async/await support
96
+ - File uploads
97
+ - Session persistence
98
+ - Streaming responses
99
+ - Workflow scaffolding
100
+
101
+ ---
102
+
103
+ ### 5. Built-in Routes
104
+
105
+ | Endpoint | Purpose |
106
+ |-----------|----------|
107
+ | `/health` | Health + version check |
108
+ | `/docs` | Swagger UI |
109
+ | `/models/supported` | Shows model compatibility |
110
+ | `/openapi.json`, `/mcp.json`, etc. | Model schemas |
111
+
112
+ ---
113
+
114
+ ### 6. CLI Reference
115
+
116
+ ```
117
+ kalibr serve my_app.py # Run locally
118
+ kalibr deploy my_app.py # Deploy to Fly/Render
119
+ kalibr examples # Copy examples
120
+ kalibr version # Show SDK version
121
+ ```
122
+
123
+ ---
124
+
125
+ ### 7. Value Proposition
126
+
127
+ For developers or MCP infrastructure projects (e.g. Emergent):
128
+
129
+ - **Instant MCP onboarding** — one file → all model schemas
130
+ - **Zero config** — no schema or deployment setup required
131
+ - **Multi-runtime support** — local, Fly, Render, or custom hosts
132
+ - **Unified interface layer** — consistent schema output for all AI platforms
133
+
134
+ ---
135
+
136
+ ### 8. Upcoming Additions
137
+
138
+ - Observability + tracing hooks
139
+ - Usage metering and billing
140
+ - Schema diffing / auto-validation
141
+ - Multi-runtime load routing
142
+
143
+ ---
144
+
145
+ ### License
146
+
147
+ MIT License © 2025 Kalibr Team
148
+ GitHub: [https://github.com/devonakelley/kalibr-sdk](https://github.com/devonakelley/kalibr-sdk)
149
+
150
+ ---
151
+
152
+ **Kalibr SDK** — the unified layer between AI models and the real world.
153
+ Write once. Deploy anywhere. Integrate everything.
@@ -2,4 +2,4 @@ from .kalibr_app import KalibrApp
2
2
  from .kalibr import Kalibr
3
3
 
4
4
  __all__ = ["Kalibr", "KalibrApp"]
5
- __version__ = "1.0.25"
5
+ __version__ = "1.0.26"
@@ -0,0 +1,176 @@
1
+ Metadata-Version: 2.4
2
+ Name: kalibr
3
+ Version: 1.0.26
4
+ Summary: Multi-Model MCP SDK — deploy to GPT, Claude, Gemini, Copilot from one codebase.
5
+ Home-page: https://github.com/devonakelley/kalibr-sdk
6
+ Author: Kalibr Team
7
+ Author-email: team@kalibr.dev
8
+ Requires-Python: >=3.11
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: fastapi>=0.110.1
12
+ Requires-Dist: uvicorn>=0.25.0
13
+ Requires-Dist: typer>=0.9.0
14
+ Requires-Dist: pydantic>=2.6.4
15
+ Requires-Dist: requests>=2.31.0
16
+ Requires-Dist: aiofiles>=23.2.1
17
+ Requires-Dist: jsonschema>=4.21.1
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: home-page
21
+ Dynamic: license-file
22
+ Dynamic: requires-python
23
+
24
+ # Kalibr SDK v1.0.26
25
+ ### Multi-Model AI Integration Framework
26
+
27
+ **Write once. Deploy anywhere. Connect to any AI model.**
28
+
29
+ Kalibr turns your Python functions into APIs that automatically work with **GPT Actions**, **Claude MCP**, **Gemini Extensions**, and **Copilot Plugins** — all from one codebase.
30
+ It’s the unified SDK layer for building, packaging, and deploying AI-ready endpoints.
31
+
32
+ ---
33
+
34
+ ## 🧠 Core Purpose
35
+
36
+ Kalibr is a **multi-model integration SDK** that converts simple Python functions into fully MCP-compatible APIs for every major AI model ecosystem.
37
+
38
+ > One function → Four schemas → Deploy anywhere.
39
+
40
+ ---
41
+
42
+ ## ⚙️ What It Does
43
+
44
+ ### 1. Unified Schema Generation
45
+
46
+ Kalibr automatically generates and serves schemas for:
47
+ - `/openapi.json` → GPT Actions
48
+ - `/mcp.json` → Claude MCP
49
+ - `/schemas/gemini` → Gemini Extensions
50
+ - `/schemas/copilot` → Copilot Plugins
51
+ - `/models/supported` → List of supported integrations
52
+
53
+ No manual YAML or JSON schema creation needed.
54
+
55
+ ---
56
+
57
+ ### 2. Environment-Aware Base URLs
58
+
59
+ Kalibr auto-detects where it's running and sets the correct base URL automatically:
60
+
61
+ | Environment | Example Base URL |
62
+ |--------------|------------------|
63
+ | Local | `http://localhost:8000` |
64
+ | Fly.io | `https://<app>.fly.dev` |
65
+ | Render | `https://<app>.onrender.com` |
66
+ | Custom | Set via `KALIBR_BASE_URL` |
67
+
68
+ ---
69
+
70
+ ### 3. Deployment & Runtime Abstraction
71
+
72
+ Kalibr provides a single CLI entrypoint for local and hosted runtime deployment:
73
+
74
+ ```bash
75
+ kalibr serve my_app.py
76
+ kalibr deploy my_app.py --runtime fly|render|local
77
+ kalibr version
78
+ ```
79
+
80
+ Each runtime automatically generates valid schema URLs and deployment bundles (`Dockerfile`, `fly.toml`, etc).
81
+
82
+ ---
83
+
84
+ ### 4. Two Development Modes
85
+
86
+ #### Simple Mode (Function-Level)
87
+ For lightweight APIs and test integrations.
88
+
89
+ ```python
90
+ from kalibr import Kalibr
91
+
92
+ app = Kalibr(title="Weather API")
93
+
94
+ @app.action("get_weather", "Fetch weather data")
95
+ def get_weather(city: str):
96
+ return {"city": city, "temp": 72, "condition": "sunny"}
97
+ ```
98
+
99
+ #### Advanced Mode (Full App)
100
+
101
+ ```python
102
+ from kalibr import KalibrApp
103
+ from kalibr.types import FileUpload, Session
104
+
105
+ app = KalibrApp(title="Document API")
106
+
107
+ @app.file_handler("analyze_doc", [".pdf", ".docx"])
108
+ async def analyze_doc(file: FileUpload):
109
+ return {"filename": file.filename, "result": "parsed"}
110
+
111
+ @app.session_action("save_data")
112
+ async def save_data(session: Session, data: dict):
113
+ session.set("data", data)
114
+ return {"saved": True}
115
+ ```
116
+
117
+ Includes:
118
+ - Async/await support
119
+ - File uploads
120
+ - Session persistence
121
+ - Streaming responses
122
+ - Workflow scaffolding
123
+
124
+ ---
125
+
126
+ ### 5. Built-in Routes
127
+
128
+ | Endpoint | Purpose |
129
+ |-----------|----------|
130
+ | `/health` | Health + version check |
131
+ | `/docs` | Swagger UI |
132
+ | `/models/supported` | Shows model compatibility |
133
+ | `/openapi.json`, `/mcp.json`, etc. | Model schemas |
134
+
135
+ ---
136
+
137
+ ### 6. CLI Reference
138
+
139
+ ```
140
+ kalibr serve my_app.py # Run locally
141
+ kalibr deploy my_app.py # Deploy to Fly/Render
142
+ kalibr examples # Copy examples
143
+ kalibr version # Show SDK version
144
+ ```
145
+
146
+ ---
147
+
148
+ ### 7. Value Proposition
149
+
150
+ For developers or MCP infrastructure projects (e.g. Emergent):
151
+
152
+ - **Instant MCP onboarding** — one file → all model schemas
153
+ - **Zero config** — no schema or deployment setup required
154
+ - **Multi-runtime support** — local, Fly, Render, or custom hosts
155
+ - **Unified interface layer** — consistent schema output for all AI platforms
156
+
157
+ ---
158
+
159
+ ### 8. Upcoming Additions
160
+
161
+ - Observability + tracing hooks
162
+ - Usage metering and billing
163
+ - Schema diffing / auto-validation
164
+ - Multi-runtime load routing
165
+
166
+ ---
167
+
168
+ ### License
169
+
170
+ MIT License © 2025 Kalibr Team
171
+ GitHub: [https://github.com/devonakelley/kalibr-sdk](https://github.com/devonakelley/kalibr-sdk)
172
+
173
+ ---
174
+
175
+ **Kalibr SDK** — the unified layer between AI models and the real world.
176
+ Write once. Deploy anywhere. Integrate everything.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kalibr"
3
- version = "1.0.25"
3
+ version = "1.0.26"
4
4
  description = "Multi-Model MCP SDK — deploy to GPT, Claude, Gemini, Copilot from one codebase."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="kalibr",
5
- version="1.0.25",
5
+ version="1.0.26",
6
6
  author="Kalibr Team",
7
7
  author_email="team@kalibr.dev",
8
8
  description="Multi-Model AI Integration Framework",
kalibr-1.0.25/PKG-INFO DELETED
@@ -1,231 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: kalibr
3
- Version: 1.0.25
4
- Summary: Multi-Model MCP SDK — deploy to GPT, Claude, Gemini, Copilot from one codebase.
5
- Home-page: https://github.com/devonakelley/kalibr-sdk
6
- Author: Kalibr Team
7
- Author-email: team@kalibr.dev
8
- Requires-Python: >=3.11
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: fastapi>=0.110.1
12
- Requires-Dist: uvicorn>=0.25.0
13
- Requires-Dist: typer>=0.9.0
14
- Requires-Dist: pydantic>=2.6.4
15
- Requires-Dist: requests>=2.31.0
16
- Requires-Dist: aiofiles>=23.2.1
17
- Requires-Dist: jsonschema>=4.21.1
18
- Dynamic: author
19
- Dynamic: author-email
20
- Dynamic: home-page
21
- Dynamic: license-file
22
- Dynamic: requires-python
23
-
24
- # Kalibr SDK
25
- ### Multi-Model AI Integration Framework
26
-
27
- **Write once. Deploy anywhere. Connect to any AI model.**
28
-
29
- Kalibr turns Python functions into APIs that work seamlessly with GPT, Claude, Gemini, and Copilot — automatically generating model-specific schemas and endpoints.
30
-
31
- ---
32
-
33
- ## 🚀 Quick Start (2 minutes)
34
-
35
- ### 1. Install
36
- ```bash
37
- pip install kalibr
38
- ```
39
-
40
- ### 2. Get Examples
41
- ```bash
42
- kalibr-connect examples
43
- ```
44
- This copies example files to `./kalibr_examples/` in your current directory.
45
-
46
- ### 3. Run Demo
47
- ```bash
48
- kalibr-connect serve kalibr_examples/basic_kalibr_example.py
49
- ```
50
-
51
- ### 4. See All Schemas
52
- Kalibr now **auto-detects your environment** and generates the correct base URLs.
53
-
54
- | Environment | Example Base URL |
55
- |--------------|------------------|
56
- | Local Dev | `http://localhost:8000` |
57
- | Fly.io | `https://<app-name>.fly.dev` |
58
- | Custom Host | Use `KALIBR_BASE_URL` env var |
59
-
60
- Then open:
61
- ```
62
- <your-base-url>/gpt-actions.json # ChatGPT
63
- <your-base-url>/mcp.json # Claude
64
- <your-base-url>/schemas/gemini # Gemini
65
- <your-base-url>/schemas/copilot # Copilot
66
- ```
67
-
68
- ---
69
-
70
- ## 🧠 What Kalibr Does
71
-
72
- Kalibr turns your Python functions into production-ready multi-model APIs.
73
-
74
- ```python
75
- from kalibr import Kalibr
76
-
77
- app = Kalibr(title="Inventory API")
78
-
79
- @app.action("get_inventory", "Fetch inventory data")
80
- def get_inventory(product_id: str):
81
- return {"product_id": product_id, "stock": 42}
82
- ```
83
-
84
- Result:
85
- ChatGPT, Claude, Gemini, and Copilot can all call `get_inventory()` using their native protocols — no schema work required.
86
-
87
- ---
88
-
89
- ## 💪 Two Modes
90
-
91
- ### **Function-Level (Simple)**
92
- Ideal for one-off APIs or scripts.
93
-
94
- ```python
95
- from kalibr import Kalibr
96
-
97
- app = Kalibr(title="My API")
98
-
99
- @app.action("calculate_price", "Calculate price total")
100
- def calculate_price(product_id: str, quantity: int):
101
- return {"total": quantity * 19.99}
102
- ```
103
-
104
- ### **App-Level (Advanced)**
105
- Use `KalibrApp` for complete control — file uploads, sessions, streaming, and workflows.
106
-
107
- ```python
108
- from kalibr import KalibrApp
109
- from kalibr.types import FileUpload, Session
110
-
111
- app = KalibrApp(title="Advanced API")
112
-
113
- @app.file_handler("analyze_doc", [".pdf", ".docx"])
114
- async def analyze_doc(file: FileUpload):
115
- return {"filename": file.filename, "analysis": "..."}
116
-
117
- @app.session_action("save_data", "Save session data")
118
- async def save_data(session: Session, data: dict):
119
- session.set("my_data", data)
120
- return {"saved": True}
121
- ```
122
-
123
- ---
124
-
125
- ## 📚 Examples Included
126
-
127
- After running `kalibr-connect examples`, you’ll get:
128
-
129
- - `basic_kalibr_example.py` – simple function-level demo
130
- - `enhanced_kalibr_example.py` – full app with sessions, uploads, and streaming
131
-
132
- ---
133
-
134
- ## 🤖 AI Platform Integration
135
-
136
- ### ChatGPT (GPT Actions)
137
- 1. Copy schema URL:
138
- `https://<your-domain>/gpt-actions.json`
139
- 2. In GPT Builder → *Actions* → *Import from URL*
140
- 3. Done — ChatGPT can call your endpoints.
141
-
142
- ### Claude (MCP)
143
- Add to Claude Desktop config:
144
- ```json
145
- {
146
- "mcp": {
147
- "servers": {
148
- "my-api": {
149
- "url": "https://<your-domain>/mcp.json"
150
- }
151
- }
152
- }
153
- }
154
- ```
155
-
156
- ### Gemini / Copilot
157
- Use:
158
- ```
159
- https://<your-domain>/schemas/gemini
160
- https://<your-domain>/schemas/copilot
161
- ```
162
-
163
- ---
164
-
165
- ## 🎯 Common Use Cases
166
-
167
- - **Customer Service APIs** — let AI handle orders or refunds
168
- - **Data Analysis** — query your analytics through AI
169
- - **Document Processing** — parse or summarize uploaded docs
170
- - **Business Automation** — trigger internal workflows
171
- - **Internal Tools** — expose secure internal logic to assistants
172
-
173
- ---
174
-
175
- ## 🔧 CLI Reference
176
-
177
- ```bash
178
- kalibr-connect examples # Copy examples
179
- kalibr-connect serve my_app.py # Run locally
180
- kalibr-connect version # Show version
181
- kalibr-connect --help # Full CLI
182
- ```
183
-
184
- ---
185
-
186
- ## ⚡ Key Features
187
-
188
- ✅ Multi-Model Support — GPT, Claude, Gemini, Copilot
189
- ✅ Automatic Schema Generation
190
- ✅ Environment-Aware Base URLs (v1.0.21+)
191
- ✅ File Uploads
192
- ✅ Session Management
193
- ✅ Streaming Responses
194
- ✅ Workflow Support
195
- ✅ Type-Safe API Generation
196
- ✅ Async / Await Ready
197
-
198
- ---
199
-
200
- ## 🔥 Why Kalibr?
201
-
202
- Without Kalibr:
203
- - Learn 4 model specs
204
- - Maintain 4 codebases
205
- - Duplicate effort
206
-
207
- With Kalibr:
208
- - One Python function
209
- - Four schemas generated automatically
210
- - Deploy anywhere
211
-
212
- ---
213
-
214
- ## 🆕 Version 1.0.21+
215
-
216
- - **Automatic Base-URL Detection**
217
- - Works with `KALIBR_BASE_URL` or `FLY_APP_NAME`
218
- - Fixes all localhost references in deployed schemas
219
- - Ready for **MCP ecosystem production use**
220
- - Drop-in backwards compatibility
221
-
222
- ---
223
-
224
- ## 🧩 License
225
-
226
- MIT License — see `LICENSE` file for details.
227
-
228
- ---
229
-
230
- **Kalibr SDK — the unified layer between AI models and the real world.**
231
- Write once. Deploy anywhere. Integrate everything.
kalibr-1.0.25/README.md DELETED
@@ -1,208 +0,0 @@
1
- # Kalibr SDK
2
- ### Multi-Model AI Integration Framework
3
-
4
- **Write once. Deploy anywhere. Connect to any AI model.**
5
-
6
- Kalibr turns Python functions into APIs that work seamlessly with GPT, Claude, Gemini, and Copilot — automatically generating model-specific schemas and endpoints.
7
-
8
- ---
9
-
10
- ## 🚀 Quick Start (2 minutes)
11
-
12
- ### 1. Install
13
- ```bash
14
- pip install kalibr
15
- ```
16
-
17
- ### 2. Get Examples
18
- ```bash
19
- kalibr-connect examples
20
- ```
21
- This copies example files to `./kalibr_examples/` in your current directory.
22
-
23
- ### 3. Run Demo
24
- ```bash
25
- kalibr-connect serve kalibr_examples/basic_kalibr_example.py
26
- ```
27
-
28
- ### 4. See All Schemas
29
- Kalibr now **auto-detects your environment** and generates the correct base URLs.
30
-
31
- | Environment | Example Base URL |
32
- |--------------|------------------|
33
- | Local Dev | `http://localhost:8000` |
34
- | Fly.io | `https://<app-name>.fly.dev` |
35
- | Custom Host | Use `KALIBR_BASE_URL` env var |
36
-
37
- Then open:
38
- ```
39
- <your-base-url>/gpt-actions.json # ChatGPT
40
- <your-base-url>/mcp.json # Claude
41
- <your-base-url>/schemas/gemini # Gemini
42
- <your-base-url>/schemas/copilot # Copilot
43
- ```
44
-
45
- ---
46
-
47
- ## 🧠 What Kalibr Does
48
-
49
- Kalibr turns your Python functions into production-ready multi-model APIs.
50
-
51
- ```python
52
- from kalibr import Kalibr
53
-
54
- app = Kalibr(title="Inventory API")
55
-
56
- @app.action("get_inventory", "Fetch inventory data")
57
- def get_inventory(product_id: str):
58
- return {"product_id": product_id, "stock": 42}
59
- ```
60
-
61
- Result:
62
- ChatGPT, Claude, Gemini, and Copilot can all call `get_inventory()` using their native protocols — no schema work required.
63
-
64
- ---
65
-
66
- ## 💪 Two Modes
67
-
68
- ### **Function-Level (Simple)**
69
- Ideal for one-off APIs or scripts.
70
-
71
- ```python
72
- from kalibr import Kalibr
73
-
74
- app = Kalibr(title="My API")
75
-
76
- @app.action("calculate_price", "Calculate price total")
77
- def calculate_price(product_id: str, quantity: int):
78
- return {"total": quantity * 19.99}
79
- ```
80
-
81
- ### **App-Level (Advanced)**
82
- Use `KalibrApp` for complete control — file uploads, sessions, streaming, and workflows.
83
-
84
- ```python
85
- from kalibr import KalibrApp
86
- from kalibr.types import FileUpload, Session
87
-
88
- app = KalibrApp(title="Advanced API")
89
-
90
- @app.file_handler("analyze_doc", [".pdf", ".docx"])
91
- async def analyze_doc(file: FileUpload):
92
- return {"filename": file.filename, "analysis": "..."}
93
-
94
- @app.session_action("save_data", "Save session data")
95
- async def save_data(session: Session, data: dict):
96
- session.set("my_data", data)
97
- return {"saved": True}
98
- ```
99
-
100
- ---
101
-
102
- ## 📚 Examples Included
103
-
104
- After running `kalibr-connect examples`, you’ll get:
105
-
106
- - `basic_kalibr_example.py` – simple function-level demo
107
- - `enhanced_kalibr_example.py` – full app with sessions, uploads, and streaming
108
-
109
- ---
110
-
111
- ## 🤖 AI Platform Integration
112
-
113
- ### ChatGPT (GPT Actions)
114
- 1. Copy schema URL:
115
- `https://<your-domain>/gpt-actions.json`
116
- 2. In GPT Builder → *Actions* → *Import from URL*
117
- 3. Done — ChatGPT can call your endpoints.
118
-
119
- ### Claude (MCP)
120
- Add to Claude Desktop config:
121
- ```json
122
- {
123
- "mcp": {
124
- "servers": {
125
- "my-api": {
126
- "url": "https://<your-domain>/mcp.json"
127
- }
128
- }
129
- }
130
- }
131
- ```
132
-
133
- ### Gemini / Copilot
134
- Use:
135
- ```
136
- https://<your-domain>/schemas/gemini
137
- https://<your-domain>/schemas/copilot
138
- ```
139
-
140
- ---
141
-
142
- ## 🎯 Common Use Cases
143
-
144
- - **Customer Service APIs** — let AI handle orders or refunds
145
- - **Data Analysis** — query your analytics through AI
146
- - **Document Processing** — parse or summarize uploaded docs
147
- - **Business Automation** — trigger internal workflows
148
- - **Internal Tools** — expose secure internal logic to assistants
149
-
150
- ---
151
-
152
- ## 🔧 CLI Reference
153
-
154
- ```bash
155
- kalibr-connect examples # Copy examples
156
- kalibr-connect serve my_app.py # Run locally
157
- kalibr-connect version # Show version
158
- kalibr-connect --help # Full CLI
159
- ```
160
-
161
- ---
162
-
163
- ## ⚡ Key Features
164
-
165
- ✅ Multi-Model Support — GPT, Claude, Gemini, Copilot
166
- ✅ Automatic Schema Generation
167
- ✅ Environment-Aware Base URLs (v1.0.21+)
168
- ✅ File Uploads
169
- ✅ Session Management
170
- ✅ Streaming Responses
171
- ✅ Workflow Support
172
- ✅ Type-Safe API Generation
173
- ✅ Async / Await Ready
174
-
175
- ---
176
-
177
- ## 🔥 Why Kalibr?
178
-
179
- Without Kalibr:
180
- - Learn 4 model specs
181
- - Maintain 4 codebases
182
- - Duplicate effort
183
-
184
- With Kalibr:
185
- - One Python function
186
- - Four schemas generated automatically
187
- - Deploy anywhere
188
-
189
- ---
190
-
191
- ## 🆕 Version 1.0.21+
192
-
193
- - **Automatic Base-URL Detection**
194
- - Works with `KALIBR_BASE_URL` or `FLY_APP_NAME`
195
- - Fixes all localhost references in deployed schemas
196
- - Ready for **MCP ecosystem production use**
197
- - Drop-in backwards compatibility
198
-
199
- ---
200
-
201
- ## 🧩 License
202
-
203
- MIT License — see `LICENSE` file for details.
204
-
205
- ---
206
-
207
- **Kalibr SDK — the unified layer between AI models and the real world.**
208
- Write once. Deploy anywhere. Integrate everything.
@@ -1,231 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: kalibr
3
- Version: 1.0.25
4
- Summary: Multi-Model MCP SDK — deploy to GPT, Claude, Gemini, Copilot from one codebase.
5
- Home-page: https://github.com/devonakelley/kalibr-sdk
6
- Author: Kalibr Team
7
- Author-email: team@kalibr.dev
8
- Requires-Python: >=3.11
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: fastapi>=0.110.1
12
- Requires-Dist: uvicorn>=0.25.0
13
- Requires-Dist: typer>=0.9.0
14
- Requires-Dist: pydantic>=2.6.4
15
- Requires-Dist: requests>=2.31.0
16
- Requires-Dist: aiofiles>=23.2.1
17
- Requires-Dist: jsonschema>=4.21.1
18
- Dynamic: author
19
- Dynamic: author-email
20
- Dynamic: home-page
21
- Dynamic: license-file
22
- Dynamic: requires-python
23
-
24
- # Kalibr SDK
25
- ### Multi-Model AI Integration Framework
26
-
27
- **Write once. Deploy anywhere. Connect to any AI model.**
28
-
29
- Kalibr turns Python functions into APIs that work seamlessly with GPT, Claude, Gemini, and Copilot — automatically generating model-specific schemas and endpoints.
30
-
31
- ---
32
-
33
- ## 🚀 Quick Start (2 minutes)
34
-
35
- ### 1. Install
36
- ```bash
37
- pip install kalibr
38
- ```
39
-
40
- ### 2. Get Examples
41
- ```bash
42
- kalibr-connect examples
43
- ```
44
- This copies example files to `./kalibr_examples/` in your current directory.
45
-
46
- ### 3. Run Demo
47
- ```bash
48
- kalibr-connect serve kalibr_examples/basic_kalibr_example.py
49
- ```
50
-
51
- ### 4. See All Schemas
52
- Kalibr now **auto-detects your environment** and generates the correct base URLs.
53
-
54
- | Environment | Example Base URL |
55
- |--------------|------------------|
56
- | Local Dev | `http://localhost:8000` |
57
- | Fly.io | `https://<app-name>.fly.dev` |
58
- | Custom Host | Use `KALIBR_BASE_URL` env var |
59
-
60
- Then open:
61
- ```
62
- <your-base-url>/gpt-actions.json # ChatGPT
63
- <your-base-url>/mcp.json # Claude
64
- <your-base-url>/schemas/gemini # Gemini
65
- <your-base-url>/schemas/copilot # Copilot
66
- ```
67
-
68
- ---
69
-
70
- ## 🧠 What Kalibr Does
71
-
72
- Kalibr turns your Python functions into production-ready multi-model APIs.
73
-
74
- ```python
75
- from kalibr import Kalibr
76
-
77
- app = Kalibr(title="Inventory API")
78
-
79
- @app.action("get_inventory", "Fetch inventory data")
80
- def get_inventory(product_id: str):
81
- return {"product_id": product_id, "stock": 42}
82
- ```
83
-
84
- Result:
85
- ChatGPT, Claude, Gemini, and Copilot can all call `get_inventory()` using their native protocols — no schema work required.
86
-
87
- ---
88
-
89
- ## 💪 Two Modes
90
-
91
- ### **Function-Level (Simple)**
92
- Ideal for one-off APIs or scripts.
93
-
94
- ```python
95
- from kalibr import Kalibr
96
-
97
- app = Kalibr(title="My API")
98
-
99
- @app.action("calculate_price", "Calculate price total")
100
- def calculate_price(product_id: str, quantity: int):
101
- return {"total": quantity * 19.99}
102
- ```
103
-
104
- ### **App-Level (Advanced)**
105
- Use `KalibrApp` for complete control — file uploads, sessions, streaming, and workflows.
106
-
107
- ```python
108
- from kalibr import KalibrApp
109
- from kalibr.types import FileUpload, Session
110
-
111
- app = KalibrApp(title="Advanced API")
112
-
113
- @app.file_handler("analyze_doc", [".pdf", ".docx"])
114
- async def analyze_doc(file: FileUpload):
115
- return {"filename": file.filename, "analysis": "..."}
116
-
117
- @app.session_action("save_data", "Save session data")
118
- async def save_data(session: Session, data: dict):
119
- session.set("my_data", data)
120
- return {"saved": True}
121
- ```
122
-
123
- ---
124
-
125
- ## 📚 Examples Included
126
-
127
- After running `kalibr-connect examples`, you’ll get:
128
-
129
- - `basic_kalibr_example.py` – simple function-level demo
130
- - `enhanced_kalibr_example.py` – full app with sessions, uploads, and streaming
131
-
132
- ---
133
-
134
- ## 🤖 AI Platform Integration
135
-
136
- ### ChatGPT (GPT Actions)
137
- 1. Copy schema URL:
138
- `https://<your-domain>/gpt-actions.json`
139
- 2. In GPT Builder → *Actions* → *Import from URL*
140
- 3. Done — ChatGPT can call your endpoints.
141
-
142
- ### Claude (MCP)
143
- Add to Claude Desktop config:
144
- ```json
145
- {
146
- "mcp": {
147
- "servers": {
148
- "my-api": {
149
- "url": "https://<your-domain>/mcp.json"
150
- }
151
- }
152
- }
153
- }
154
- ```
155
-
156
- ### Gemini / Copilot
157
- Use:
158
- ```
159
- https://<your-domain>/schemas/gemini
160
- https://<your-domain>/schemas/copilot
161
- ```
162
-
163
- ---
164
-
165
- ## 🎯 Common Use Cases
166
-
167
- - **Customer Service APIs** — let AI handle orders or refunds
168
- - **Data Analysis** — query your analytics through AI
169
- - **Document Processing** — parse or summarize uploaded docs
170
- - **Business Automation** — trigger internal workflows
171
- - **Internal Tools** — expose secure internal logic to assistants
172
-
173
- ---
174
-
175
- ## 🔧 CLI Reference
176
-
177
- ```bash
178
- kalibr-connect examples # Copy examples
179
- kalibr-connect serve my_app.py # Run locally
180
- kalibr-connect version # Show version
181
- kalibr-connect --help # Full CLI
182
- ```
183
-
184
- ---
185
-
186
- ## ⚡ Key Features
187
-
188
- ✅ Multi-Model Support — GPT, Claude, Gemini, Copilot
189
- ✅ Automatic Schema Generation
190
- ✅ Environment-Aware Base URLs (v1.0.21+)
191
- ✅ File Uploads
192
- ✅ Session Management
193
- ✅ Streaming Responses
194
- ✅ Workflow Support
195
- ✅ Type-Safe API Generation
196
- ✅ Async / Await Ready
197
-
198
- ---
199
-
200
- ## 🔥 Why Kalibr?
201
-
202
- Without Kalibr:
203
- - Learn 4 model specs
204
- - Maintain 4 codebases
205
- - Duplicate effort
206
-
207
- With Kalibr:
208
- - One Python function
209
- - Four schemas generated automatically
210
- - Deploy anywhere
211
-
212
- ---
213
-
214
- ## 🆕 Version 1.0.21+
215
-
216
- - **Automatic Base-URL Detection**
217
- - Works with `KALIBR_BASE_URL` or `FLY_APP_NAME`
218
- - Fixes all localhost references in deployed schemas
219
- - Ready for **MCP ecosystem production use**
220
- - Drop-in backwards compatibility
221
-
222
- ---
223
-
224
- ## 🧩 License
225
-
226
- MIT License — see `LICENSE` file for details.
227
-
228
- ---
229
-
230
- **Kalibr SDK — the unified layer between AI models and the real world.**
231
- Write once. Deploy anywhere. Integrate everything.
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