ai-microcore 5.0.0.dev6__tar.gz → 5.0.0.dev7__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.
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/PKG-INFO +4 -2
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/__init__.py +1 -1
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/message_types.py +19 -5
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/pyproject.toml +16 -1
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/LICENSE +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/README.md +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/_env.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/_llm_functions.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/_prepare_llm_args.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/__init__.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/ai-func.json.j2 +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/ai-func.pythonic.j2 +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/ai-func.tag.j2 +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_modules.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/configuration.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/embedding_db/__init__.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/embedding_db/chromadb.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/embedding_db/qdrant.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/file_cache.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/file_storage.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/images.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/interactive_setup.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/json_parsing.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/__init__.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/anthropic.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/google_genai.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/local_llm.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/local_transformers.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/openai.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/shared.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm_backends.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/lm_client.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/logging.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/mcp.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/metrics.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/presets.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/python.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/templating/__init__.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/templating/jinja2.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/text2speech/elevenlabs.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/tokenizing.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/types.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ui.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/utils.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/wrappers/__init__.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/wrappers/llm_response_wrapper.py +0 -0
- {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/wrappers/prompt_wrapper.py +0 -0
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ai-microcore
|
|
3
|
-
Version: 5.0.0.
|
|
3
|
+
Version: 5.0.0.dev7
|
|
4
4
|
Summary: # Minimalistic Foundation for AI Applications
|
|
5
|
-
Keywords: llm,large language models,ai,similarity search,ai search,gpt,openai,framework,adapter
|
|
5
|
+
Keywords: llm,large language models,ai,similarity search,ai search,gpt,openai,framework,adapter,anthropic,google gemini,google vertex ai
|
|
6
6
|
Author-email: Vitalii Stepanenko <mail@vitaliy.in>
|
|
7
7
|
Maintainer-email: Vitalii Stepanenko <mail@vitaliy.in>
|
|
8
8
|
Requires-Python: >=3.10
|
|
9
9
|
Description-Content-Type: text/markdown
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
11
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -29,6 +30,7 @@ Requires-Dist: mcp>=1.10.1,<2.0
|
|
|
29
30
|
Requires-Dist: fastmcp>=2.10.2,<3.0
|
|
30
31
|
Requires-Dist: docstring_parser~=0.16.0
|
|
31
32
|
Requires-Dist: httpx~=0.28.1
|
|
33
|
+
Project-URL: Bug Tracker, https://github.com/Nayjest/ai-microcore/issues
|
|
32
34
|
Project-URL: Source Code, https://github.com/Nayjest/ai-microcore
|
|
33
35
|
|
|
34
36
|
# AI MicroCore: A Minimalistic Foundation for AI Applications
|
|
@@ -4,7 +4,10 @@ Message classes for OpenAI-like Chat APIs.
|
|
|
4
4
|
import abc
|
|
5
5
|
from enum import Enum
|
|
6
6
|
from dataclasses import dataclass, field
|
|
7
|
-
from typing import ClassVar
|
|
7
|
+
from typing import ClassVar, Any
|
|
8
|
+
|
|
9
|
+
from pydantic import GetCoreSchemaHandler
|
|
10
|
+
from pydantic_core import core_schema
|
|
8
11
|
|
|
9
12
|
|
|
10
13
|
class Role(str, Enum):
|
|
@@ -23,19 +26,30 @@ DEFAULT_MESSAGE_ROLE = Role.USER
|
|
|
23
26
|
"""Default role for messages if not specified (USER)."""
|
|
24
27
|
|
|
25
28
|
|
|
26
|
-
class
|
|
29
|
+
class _PydanticPassthrough:
|
|
30
|
+
"""
|
|
31
|
+
Mixin that allows Pydantic to accept instances of this class without transformation.
|
|
32
|
+
"""
|
|
33
|
+
@classmethod
|
|
34
|
+
def __get_pydantic_core_schema__(
|
|
35
|
+
cls, source_type: Any, handler: GetCoreSchemaHandler # pylint: disable=unused-argument
|
|
36
|
+
) -> core_schema.CoreSchema:
|
|
37
|
+
return core_schema.any_schema()
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class MsgContentPart(_PydanticPassthrough):
|
|
27
41
|
"""
|
|
28
42
|
Base class for individual parts of multipart message content.
|
|
29
43
|
"""
|
|
30
44
|
|
|
31
45
|
|
|
32
|
-
class MsgContent:
|
|
46
|
+
class MsgContent(_PydanticPassthrough):
|
|
33
47
|
"""
|
|
34
48
|
Base class for message content.
|
|
35
49
|
"""
|
|
36
50
|
|
|
37
51
|
|
|
38
|
-
class MsgMultipartContent(MsgContent,
|
|
52
|
+
class MsgMultipartContent(MsgContent, abc.ABC):
|
|
39
53
|
"""
|
|
40
54
|
Abstract base class for multipart message content.
|
|
41
55
|
"""
|
|
@@ -55,7 +69,7 @@ TMsgContent = str | MsgContent | list[TMsgContentPart]
|
|
|
55
69
|
|
|
56
70
|
|
|
57
71
|
@dataclass
|
|
58
|
-
class Msg:
|
|
72
|
+
class Msg(_PydanticPassthrough):
|
|
59
73
|
"""
|
|
60
74
|
Represents a message in a chat conversation.
|
|
61
75
|
"""
|
|
@@ -5,10 +5,24 @@ build-backend = "flit_core.buildapi"
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ai-microcore"
|
|
7
7
|
dynamic = ["description", "version"]
|
|
8
|
-
keywords = [
|
|
8
|
+
keywords = [
|
|
9
|
+
"llm",
|
|
10
|
+
"large language models",
|
|
11
|
+
"ai",
|
|
12
|
+
"similarity search",
|
|
13
|
+
"ai search",
|
|
14
|
+
"gpt",
|
|
15
|
+
"openai",
|
|
16
|
+
"framework",
|
|
17
|
+
"adapter",
|
|
18
|
+
"anthropic",
|
|
19
|
+
"google gemini",
|
|
20
|
+
"google vertex ai",
|
|
21
|
+
]
|
|
9
22
|
readme = "README.md"
|
|
10
23
|
classifiers = [
|
|
11
24
|
"Programming Language :: Python :: 3",
|
|
25
|
+
"Programming Language :: Python :: 3.10",
|
|
12
26
|
"Programming Language :: Python :: 3.11",
|
|
13
27
|
"Programming Language :: Python :: 3.12",
|
|
14
28
|
"Programming Language :: Python :: 3.13",
|
|
@@ -45,6 +59,7 @@ license = { file = "LICENSE" }
|
|
|
45
59
|
|
|
46
60
|
[project.urls]
|
|
47
61
|
"Source Code" = "https://github.com/Nayjest/ai-microcore"
|
|
62
|
+
"Bug Tracker" = "https://github.com/Nayjest/ai-microcore/issues"
|
|
48
63
|
|
|
49
64
|
[tool.flit.module]
|
|
50
65
|
name = "microcore"
|
|
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
|
{ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/wrappers/llm_response_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|