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.
Files changed (47) hide show
  1. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/PKG-INFO +4 -2
  2. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/__init__.py +1 -1
  3. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/message_types.py +19 -5
  4. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/pyproject.toml +16 -1
  5. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/LICENSE +0 -0
  6. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/README.md +0 -0
  7. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/_env.py +0 -0
  8. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/_llm_functions.py +0 -0
  9. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/_prepare_llm_args.py +0 -0
  10. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/__init__.py +0 -0
  11. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/ai-func.json.j2 +0 -0
  12. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/ai-func.pythonic.j2 +0 -0
  13. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_func/ai-func.tag.j2 +0 -0
  14. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ai_modules.py +0 -0
  15. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/configuration.py +0 -0
  16. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/embedding_db/__init__.py +0 -0
  17. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/embedding_db/chromadb.py +0 -0
  18. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/embedding_db/qdrant.py +0 -0
  19. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/file_cache.py +0 -0
  20. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/file_storage.py +0 -0
  21. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/images.py +0 -0
  22. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/interactive_setup.py +0 -0
  23. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/json_parsing.py +0 -0
  24. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/__init__.py +0 -0
  25. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/anthropic.py +0 -0
  26. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/google_genai.py +0 -0
  27. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/local_llm.py +0 -0
  28. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/local_transformers.py +0 -0
  29. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/openai.py +0 -0
  30. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm/shared.py +0 -0
  31. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/llm_backends.py +0 -0
  32. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/lm_client.py +0 -0
  33. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/logging.py +0 -0
  34. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/mcp.py +0 -0
  35. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/metrics.py +0 -0
  36. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/presets.py +0 -0
  37. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/python.py +0 -0
  38. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/templating/__init__.py +0 -0
  39. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/templating/jinja2.py +0 -0
  40. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/text2speech/elevenlabs.py +0 -0
  41. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/tokenizing.py +0 -0
  42. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/types.py +0 -0
  43. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/ui.py +0 -0
  44. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/utils.py +0 -0
  45. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/wrappers/__init__.py +0 -0
  46. {ai_microcore-5.0.0.dev6 → ai_microcore-5.0.0.dev7}/microcore/wrappers/llm_response_wrapper.py +0 -0
  47. {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.dev6
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
@@ -231,4 +231,4 @@ __all__ = [
231
231
  # "wrappers",
232
232
  ]
233
233
 
234
- __version__ = "5.0.0dev6"
234
+ __version__ = "5.0.0.dev7"
@@ -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 MsgContentPart:
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, abc.ABC):
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 = ["llm", "large language models", "ai", "similarity search", "ai search", "gpt", "openai", "framework", "adapter"]
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"