swarmauri 0.7.3.dev2__tar.gz → 0.7.4.dev18__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: swarmauri
3
- Version: 0.7.3.dev2
3
+ Version: 0.7.4.dev18
4
4
  Summary: Namespace package for components, packages, and plugins within the Swarmauri framework.
5
5
  License: Apache-2.0
6
6
  Author: Jacob Stewart
@@ -40,8 +40,8 @@ Description-Content-Type: text/markdown
40
40
  <p align="center">
41
41
  <a href="https://pypi.org/project/swarmauri/">
42
42
  <img src="https://img.shields.io/pypi/dm/swarmauri" alt="PyPI - Downloads"/></a>
43
- <a href="https://github.com/swarmauri/swarmauri-sdk/blob/master/pkgs/swarmauri/README.md">
44
- <img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/swarmauri/swarmauri-sdk/pkgs/swarmauri/README.md&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="GitHub Hits"/></a>
43
+ <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/swarmauri/">
44
+ <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/swarmauri.svg"/></a>
45
45
  <a href="https://pypi.org/project/swarmauri/">
46
46
  <img src="https://img.shields.io/pypi/pyversions/swarmauri" alt="PyPI - Python Version"/></a>
47
47
  <a href="https://pypi.org/project/swarmauri/">
@@ -54,7 +54,18 @@ Description-Content-Type: text/markdown
54
54
 
55
55
  # Swarmauri SDK
56
56
 
57
- The Swarmauri SDK offers a comprehensive suite of tools designed for building distributed, extensible systems using the Swarmauri framework.
57
+ The Swarmauri SDK offers a comprehensive suite of tools designed for building distributed, extensible systems using the Swarmauri framework.
58
+
59
+ ## Swarmauri Namespace Microkernel
60
+
61
+ The `swarmauri` package is implemented as a namespace microkernel. When the
62
+ package is imported it registers a custom importer that consults the interface
63
+ and plugin citizenship registries to locate actual implementations. This design
64
+ keeps the namespace lightweight while still allowing first-party and community
65
+ plugins to be discovered and loaded on demand. New resource kinds are declared
66
+ in `interface_registry.py`, then mapped to plugin modules via
67
+ `plugin_citizenship_registry.py`. For a deeper look at the import flow, see
68
+ [`docs/callflow.md`](docs/callflow.md).
58
69
 
59
70
  ## Core
60
71
  - **Core Interfaces**: Define the fundamental communication and data-sharing protocols between components in a Swarmauri-based system.
@@ -76,7 +87,7 @@ The Swarmauri SDK offers a comprehensive suite of tools designed for building di
76
87
  - **Polymorphism**: Allows for dynamic behavior switching between components, enabling flexible, context-aware system behavior.
77
88
  - **Discriminated Unions**: Provides a robust method for handling multiple possible object types in a type-safe manner.
78
89
  - **Serialization**: Efficiently encode and decode data for transmission across different environments and system components, with support for both standard and custom serialization formats.
79
- - **Intensional and Extensional Programming**: Leverages both rule-based (intensional) and set-based (extensional) approaches to building and manipulating complex data structures, offering developers a wide range of tools for system design.
90
+ - **Intensional and Extensional Programming**: The microkernel continues to leverage both rule-based (intensional) patterns and set-based (extensional) plugin discovery, allowing you to build and manipulate complex data structures with ease.
80
91
 
81
92
  ## Use Cases
82
93
 
@@ -100,6 +111,10 @@ The Swarmauri SDK is an evolving platform, and the community is encouraged to co
100
111
  ### Plugin Citizenship Registry
101
112
  - [plugin_citizenship_registry.py](swarmauri/plugin_citizenship_registry.py): Maintains a registry of plugins and their citizenship status within the Swarmauri ecosystem.
102
113
 
114
+ When introducing a new resource kind or class, remember to update both the
115
+ `plugin_citizenship_registry.py` and `interface_registry.py` so the framework can
116
+ discover and validate your additions.
117
+
103
118
  ### Plugin Manager
104
119
  - [plugin_manager.py](swarmauri/plugin_manager.py): Oversees the loading, initialization, and management of plugins to extend the functionality of the Swarmauri framework.
105
120
 
@@ -3,8 +3,8 @@
3
3
  <p align="center">
4
4
  <a href="https://pypi.org/project/swarmauri/">
5
5
  <img src="https://img.shields.io/pypi/dm/swarmauri" alt="PyPI - Downloads"/></a>
6
- <a href="https://github.com/swarmauri/swarmauri-sdk/blob/master/pkgs/swarmauri/README.md">
7
- <img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/swarmauri/swarmauri-sdk/pkgs/swarmauri/README.md&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false" alt="GitHub Hits"/></a>
6
+ <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/swarmauri/">
7
+ <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/swarmauri.svg"/></a>
8
8
  <a href="https://pypi.org/project/swarmauri/">
9
9
  <img src="https://img.shields.io/pypi/pyversions/swarmauri" alt="PyPI - Python Version"/></a>
10
10
  <a href="https://pypi.org/project/swarmauri/">
@@ -17,7 +17,18 @@
17
17
 
18
18
  # Swarmauri SDK
19
19
 
20
- The Swarmauri SDK offers a comprehensive suite of tools designed for building distributed, extensible systems using the Swarmauri framework.
20
+ The Swarmauri SDK offers a comprehensive suite of tools designed for building distributed, extensible systems using the Swarmauri framework.
21
+
22
+ ## Swarmauri Namespace Microkernel
23
+
24
+ The `swarmauri` package is implemented as a namespace microkernel. When the
25
+ package is imported it registers a custom importer that consults the interface
26
+ and plugin citizenship registries to locate actual implementations. This design
27
+ keeps the namespace lightweight while still allowing first-party and community
28
+ plugins to be discovered and loaded on demand. New resource kinds are declared
29
+ in `interface_registry.py`, then mapped to plugin modules via
30
+ `plugin_citizenship_registry.py`. For a deeper look at the import flow, see
31
+ [`docs/callflow.md`](docs/callflow.md).
21
32
 
22
33
  ## Core
23
34
  - **Core Interfaces**: Define the fundamental communication and data-sharing protocols between components in a Swarmauri-based system.
@@ -39,7 +50,7 @@ The Swarmauri SDK offers a comprehensive suite of tools designed for building di
39
50
  - **Polymorphism**: Allows for dynamic behavior switching between components, enabling flexible, context-aware system behavior.
40
51
  - **Discriminated Unions**: Provides a robust method for handling multiple possible object types in a type-safe manner.
41
52
  - **Serialization**: Efficiently encode and decode data for transmission across different environments and system components, with support for both standard and custom serialization formats.
42
- - **Intensional and Extensional Programming**: Leverages both rule-based (intensional) and set-based (extensional) approaches to building and manipulating complex data structures, offering developers a wide range of tools for system design.
53
+ - **Intensional and Extensional Programming**: The microkernel continues to leverage both rule-based (intensional) patterns and set-based (extensional) plugin discovery, allowing you to build and manipulate complex data structures with ease.
43
54
 
44
55
  ## Use Cases
45
56
 
@@ -63,6 +74,10 @@ The Swarmauri SDK is an evolving platform, and the community is encouraged to co
63
74
  ### Plugin Citizenship Registry
64
75
  - [plugin_citizenship_registry.py](swarmauri/plugin_citizenship_registry.py): Maintains a registry of plugins and their citizenship status within the Swarmauri ecosystem.
65
76
 
77
+ When introducing a new resource kind or class, remember to update both the
78
+ `plugin_citizenship_registry.py` and `interface_registry.py` so the framework can
79
+ discover and validate your additions.
80
+
66
81
  ### Plugin Manager
67
82
  - [plugin_manager.py](swarmauri/plugin_manager.py): Oversees the loading, initialization, and management of plugins to extend the functionality of the Swarmauri framework.
68
83
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "swarmauri"
3
- version = "0.7.3.dev2"
3
+ version = "0.7.4.dev18"
4
4
  description = "Namespace package for components, packages, and plugins within the Swarmauri framework."
5
5
  license = "Apache-2.0"
6
6
  readme = "README.md"
@@ -46,6 +46,10 @@ from swarmauri_base.tools.ToolBase import ToolBase
46
46
  from swarmauri_base.transports.TransportBase import TransportBase
47
47
  from swarmauri_base.vector_stores.VectorStoreBase import VectorStoreBase
48
48
  from swarmauri_base.vectors.VectorBase import VectorBase
49
+ from swarmauri_base.logger_formatters.FormatterBase import FormatterBase
50
+ from swarmauri_base.loggers.LoggerBase import LoggerBase
51
+ from swarmauri_base.logger_handlers.HandlerBase import HandlerBase
52
+ from swarmauri_base.rate_limits.RateLimitBase import RateLimitBase
49
53
 
50
54
  # Configure logging
51
55
  logger = logging.getLogger(__name__)
@@ -99,6 +103,10 @@ class InterfaceRegistry:
99
103
  "swarmauri.utils": None,
100
104
  "swarmauri.vector_stores": VectorStoreBase,
101
105
  "swarmauri.vectors": VectorBase,
106
+ "swarmauri.logger_formatters": FormatterBase,
107
+ "swarmauri.loggers": LoggerBase,
108
+ "swarmauri.logger_handlers": HandlerBase,
109
+ "swarmauri.rate_limits": RateLimitBase,
102
110
  }
103
111
 
104
112
  @classmethod
@@ -112,6 +112,7 @@ class PluginCitizenshipRegistry:
112
112
  "swarmauri.llms.AI21StudioModel": "swarmauri_standard.llms.AI21StudioModel",
113
113
  "swarmauri.llms.AnthropicModel": "swarmauri_standard.llms.AnthropicModel",
114
114
  "swarmauri.llms.AnthropicToolModel": "swarmauri_standard.llms.AnthropicToolModel",
115
+ "swarmauri.llms.CerebrasModel": "swarmauri_standard.llms.CerebrasModel",
115
116
  "swarmauri.llms.CohereModel": "swarmauri_standard.llms.CohereModel",
116
117
  "swarmauri.llms.CohereToolModel": "swarmauri_standard.llms.CohereToolModel",
117
118
  "swarmauri.llms.DeepInfraModel": "swarmauri_standard.llms.DeepInfraModel",
@@ -272,6 +273,10 @@ class PluginCitizenshipRegistry:
272
273
  "swarmauri.embeddings.NmfEmbedding": "swarmauri_embedding_nmf.NmfEmbedding",
273
274
  "swarmauri.parsers.BeautifulSoupElementParser": "swarmauri_parser_beautifulsoupelement.BeautifulSoupElementParser",
274
275
  "swarmauri.distances.MinkowskiDistance": "swarmauri_distance_minkowski.MinkowskiDistance",
276
+ "swarmauri.loggers.Logger": "swarmauri_standard.loggers.Logger",
277
+ "swarmauri.logger_handlers.StreamHandler": "swarmauri_standard.logger_handlers.StreamHandler",
278
+ "swarmauri.logger_formatters.LoggerFormatter": "swarmauri_standard.logger_formatters.LoggerFormatter",
279
+ "swarmauri.rate_limits.TokenBucketRateLimit": "swarmauri_standard.rate_limits.TokenBucketRateLimit",
275
280
  }
276
281
  SECOND_CLASS_REGISTRY: Dict[str, str] = {}
277
282
  THIRD_CLASS_REGISTRY: Dict[str, str] = {}
File without changes