kalibr 1.0.16__tar.gz → 1.0.18__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 (37) hide show
  1. kalibr-1.0.18/MANIFEST.in +3 -0
  2. kalibr-1.0.18/PKG-INFO +94 -0
  3. kalibr-1.0.18/README.md +45 -0
  4. kalibr-1.0.18/examples/basic_kalibr_example.py +66 -0
  5. kalibr-1.0.18/kalibr/__init__.py +8 -0
  6. kalibr-1.0.18/kalibr/__main__.py +620 -0
  7. kalibr-1.0.18/kalibr/deployment.py +26 -0
  8. kalibr-1.0.18/kalibr/kalibr.py +249 -0
  9. kalibr-1.0.18/kalibr/kalibr_app.py +68 -0
  10. kalibr-1.0.18/kalibr/schema_generators.py +212 -0
  11. kalibr-1.0.18/kalibr/types.py +106 -0
  12. kalibr-1.0.18/kalibr.egg-info/PKG-INFO +94 -0
  13. {kalibr-1.0.16 → kalibr-1.0.18}/kalibr.egg-info/SOURCES.txt +5 -5
  14. kalibr-1.0.18/kalibr.egg-info/requires.txt +19 -0
  15. kalibr-1.0.18/pyproject.toml +76 -0
  16. kalibr-1.0.18/setup.cfg +4 -0
  17. kalibr-1.0.18/setup.py +39 -0
  18. kalibr-1.0.16/KALIBR_SDK_COMPLETE.md +0 -647
  19. kalibr-1.0.16/MANIFEST.in +0 -5
  20. kalibr-1.0.16/PKG-INFO +0 -120
  21. kalibr-1.0.16/README.md +0 -100
  22. kalibr-1.0.16/examples/__init__.py +0 -0
  23. kalibr-1.0.16/examples/demo_app.py +0 -18
  24. kalibr-1.0.16/kalibr/__init__.py +0 -0
  25. kalibr-1.0.16/kalibr/__main__.py +0 -31
  26. kalibr-1.0.16/kalibr/kalibr_app.py +0 -71
  27. kalibr-1.0.16/kalibr/schema_generators.py +0 -13
  28. kalibr-1.0.16/kalibr.egg-info/PKG-INFO +0 -120
  29. kalibr-1.0.16/kalibr.egg-info/requires.txt +0 -4
  30. kalibr-1.0.16/pyproject.toml +0 -21
  31. kalibr-1.0.16/setup.cfg +0 -32
  32. kalibr-1.0.16/setup.py +0 -32
  33. /kalibr-1.0.16/LICENSE.txt → /kalibr-1.0.18/LICENSE +0 -0
  34. {kalibr-1.0.16 → kalibr-1.0.18}/examples/enhanced_kalibr_example.py +0 -0
  35. {kalibr-1.0.16 → kalibr-1.0.18}/kalibr.egg-info/dependency_links.txt +0 -0
  36. {kalibr-1.0.16 → kalibr-1.0.18}/kalibr.egg-info/entry_points.txt +0 -0
  37. {kalibr-1.0.16 → kalibr-1.0.18}/kalibr.egg-info/top_level.txt +0 -0
@@ -0,0 +1,3 @@
1
+ include README.md LICENSE
2
+ recursive-include kalibr *.py
3
+ recursive-include examples *.py
kalibr-1.0.18/PKG-INFO ADDED
@@ -0,0 +1,94 @@
1
+ Metadata-Version: 2.4
2
+ Name: kalibr
3
+ Version: 1.0.18
4
+ Summary: Multi-Model AI Integration Framework
5
+ Home-page: https://github.com/devonakelley/kalibr-sdk
6
+ Author: Kalibr Team
7
+ Author-email: Kalibr Team <team@kalibr.dev>
8
+ License: MIT
9
+ Project-URL: Homepage, https://kalibr.dev
10
+ Project-URL: Documentation, https://kalibr.dev/docs
11
+ Project-URL: Repository, https://github.com/devonakelley/kalibr-sdk
12
+ Project-URL: Bug Reports, https://github.com/devonakelley/kalibr-sdk/issues
13
+ Keywords: ai,api,framework,gpt,claude,gemini,copilot,multi-model,sdk
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
23
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
+ Requires-Python: >=3.11
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: fastapi>=0.110.1
28
+ Requires-Dist: uvicorn>=0.25.0
29
+ Requires-Dist: pydantic>=2.6.4
30
+ Requires-Dist: typer>=0.9.0
31
+ Requires-Dist: requests>=2.31.0
32
+ Requires-Dist: python-jose[cryptography]>=3.3.0
33
+ Requires-Dist: passlib[bcrypt]>=1.7.4
34
+ Requires-Dist: python-multipart>=0.0.9
35
+ Requires-Dist: motor>=3.3.1
36
+ Requires-Dist: pymongo>=4.5.0
37
+ Requires-Dist: boto3>=1.34.129
38
+ Requires-Dist: aiofiles>=23.2.1
39
+ Provides-Extra: dev
40
+ Requires-Dist: pytest>=8.0.0; extra == "dev"
41
+ Requires-Dist: black>=24.1.1; extra == "dev"
42
+ Requires-Dist: isort>=5.13.2; extra == "dev"
43
+ Requires-Dist: flake8>=7.0.0; extra == "dev"
44
+ Requires-Dist: mypy>=1.8.0; extra == "dev"
45
+ Dynamic: author
46
+ Dynamic: home-page
47
+ Dynamic: license-file
48
+ Dynamic: requires-python
49
+
50
+ # Kalibr SDK
51
+
52
+ **Multi-Model AI Integration Framework**
53
+
54
+ Write once, deploy anywhere, connect to any AI model.
55
+
56
+ [![PyPI version](https://badge.fury.io/py/kalibr.svg)](https://badge.fury.io/py/kalibr)
57
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
58
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
59
+
60
+ ## Quick Start
61
+
62
+ ```bash
63
+ # Install
64
+ pip install kalibr
65
+
66
+ # Create app
67
+ kalibr init --template enhanced --name "My API"
68
+
69
+ # Test locally
70
+ kalibr serve enhanced_app.py
71
+
72
+ # Deploy to production
73
+ kalibr deploy enhanced_app.py --platform fly --name my-api
74
+ ```
75
+
76
+ ## Features
77
+
78
+ - ✅ **Multi-Model Support**: GPT Actions, Claude MCP, Gemini, Copilot
79
+ - ✅ **Enhanced Framework**: File uploads, sessions, streaming, workflows
80
+ - ✅ **Built-in Auth**: JWT, user management, protected routes
81
+ - ✅ **Easy Deployment**: Fly.io, AWS Lambda with one command
82
+ - ✅ **Analytics**: Automatic tracking, custom events, metrics
83
+
84
+ ## Documentation
85
+
86
+ See [KALIBR_SDK_COMPLETE.md](KALIBR_SDK_COMPLETE.md) for full documentation.
87
+
88
+ ## Examples
89
+
90
+ Check the [examples/](examples/) directory for sample applications.
91
+
92
+ ---
93
+
94
+ **Transform how you build AI-integrated applications! 🚀**
@@ -0,0 +1,45 @@
1
+ # Kalibr SDK
2
+
3
+ **Multi-Model AI Integration Framework**
4
+
5
+ Write once, deploy anywhere, connect to any AI model.
6
+
7
+ [![PyPI version](https://badge.fury.io/py/kalibr.svg)](https://badge.fury.io/py/kalibr)
8
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
+
11
+ ## Quick Start
12
+
13
+ ```bash
14
+ # Install
15
+ pip install kalibr
16
+
17
+ # Create app
18
+ kalibr init --template enhanced --name "My API"
19
+
20
+ # Test locally
21
+ kalibr serve enhanced_app.py
22
+
23
+ # Deploy to production
24
+ kalibr deploy enhanced_app.py --platform fly --name my-api
25
+ ```
26
+
27
+ ## Features
28
+
29
+ - ✅ **Multi-Model Support**: GPT Actions, Claude MCP, Gemini, Copilot
30
+ - ✅ **Enhanced Framework**: File uploads, sessions, streaming, workflows
31
+ - ✅ **Built-in Auth**: JWT, user management, protected routes
32
+ - ✅ **Easy Deployment**: Fly.io, AWS Lambda with one command
33
+ - ✅ **Analytics**: Automatic tracking, custom events, metrics
34
+
35
+ ## Documentation
36
+
37
+ See [KALIBR_SDK_COMPLETE.md](KALIBR_SDK_COMPLETE.md) for full documentation.
38
+
39
+ ## Examples
40
+
41
+ Check the [examples/](examples/) directory for sample applications.
42
+
43
+ ---
44
+
45
+ **Transform how you build AI-integrated applications! 🚀**
@@ -0,0 +1,66 @@
1
+ """
2
+ Basic Kalibr SDK Example - Function-level API integration
3
+ This demonstrates the original function-level capabilities of Kalibr.
4
+ """
5
+
6
+ from kalibr import Kalibr
7
+
8
+ # Create a basic Kalibr instance
9
+ sdk = Kalibr(title="Basic Kalibr Demo", base_url="http://localhost:8000")
10
+
11
+ @sdk.action("greet", "Greet someone with a personalized message")
12
+ def greet_user(name: str, greeting: str = "Hello"):
13
+ """Simple greeting function"""
14
+ return {"message": f"{greeting}, {name}! Welcome to Kalibr SDK."}
15
+
16
+ @sdk.action("calculate", "Perform basic mathematical operations")
17
+ def calculate(operation: str, a: float, b: float):
18
+ """Basic calculator functionality"""
19
+ operations = {
20
+ "add": a + b,
21
+ "subtract": a - b,
22
+ "multiply": a * b,
23
+ "divide": a / b if b != 0 else None
24
+ }
25
+
26
+ result = operations.get(operation)
27
+ if result is None:
28
+ return {"error": f"Invalid operation '{operation}' or division by zero"}
29
+
30
+ return {
31
+ "operation": operation,
32
+ "operands": [a, b],
33
+ "result": result
34
+ }
35
+
36
+ @sdk.action("validate_email", "Check if an email address is valid")
37
+ def validate_email(email: str):
38
+ """Simple email validation"""
39
+ import re
40
+
41
+ pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
42
+ is_valid = bool(re.match(pattern, email))
43
+
44
+ return {
45
+ "email": email,
46
+ "is_valid": is_valid,
47
+ "message": "Valid email address" if is_valid else "Invalid email format"
48
+ }
49
+
50
+ @sdk.action("text_stats", "Get statistics about a text string")
51
+ def text_statistics(text: str):
52
+ """Analyze text and return statistics"""
53
+ words = text.split()
54
+ sentences = text.split('.') + text.split('!') + text.split('?')
55
+ sentences = [s.strip() for s in sentences if s.strip()]
56
+
57
+ return {
58
+ "character_count": len(text),
59
+ "word_count": len(words),
60
+ "sentence_count": len(sentences),
61
+ "average_word_length": sum(len(word) for word in words) / len(words) if words else 0,
62
+ "longest_word": max(words, key=len) if words else None
63
+ }
64
+
65
+ # The SDK instance is automatically discovered by the Kalibr CLI
66
+ # To run this: kalibr serve basic_kalibr_example.py
@@ -0,0 +1,8 @@
1
+ """Kalibr SDK - Multi-Model AI Integration Framework"""
2
+
3
+ from kalibr.kalibr import Kalibr
4
+ # KalibrApp will be imported once it's properly implemented
5
+ # from kalibr.kalibr_app import KalibrApp
6
+
7
+ __version__ = "1.0.18"
8
+ __all__ = ["Kalibr"] # "KalibrApp" will be added once implemented