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.
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/PKG-INFO +20 -5
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/README.md +19 -4
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/pyproject.toml +1 -1
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/swarmauri/interface_registry.py +8 -0
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/swarmauri/plugin_citizenship_registry.py +5 -0
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/LICENSE +0 -0
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/swarmauri/__init__.py +0 -0
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/swarmauri/cli.py +0 -0
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/swarmauri/importer.py +0 -0
- {swarmauri-0.7.3.dev2 → swarmauri-0.7.4.dev18}/swarmauri/plugin_manager.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: swarmauri
|
|
3
|
-
Version: 0.7.
|
|
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/
|
|
44
|
-
<img src="https://hits.
|
|
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**:
|
|
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/
|
|
7
|
-
<img src="https://hits.
|
|
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**:
|
|
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
|
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|