super-solid-system 1.0.1__tar.gz → 1.0.2__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.
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/PKG-INFO +8 -35
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/README.md +7 -34
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/pyproject.toml +55 -55
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/LICENSE +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/__init__.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/__init__.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/discovery.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/engine.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/events.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/health.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/registry.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/security.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/core/system.py +0 -0
- {super_solid_system-1.0.1 → super_solid_system-1.0.2}/supersolid/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: super-solid-system
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: A lightweight, type-safe microkernel & plug-and-play framework for Python.
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -38,7 +38,7 @@ Description-Content-Type: text/markdown
|
|
|
38
38
|
<img alt="License" src="https://img.shields.io/badge/license-Apache%202.0-green"/>
|
|
39
39
|
<img alt="Tests" src="https://img.shields.io/badge/tests-43%2F43%20passing-brightgreen"/>
|
|
40
40
|
<img alt="Coverage" src="https://img.shields.io/badge/coverage-100%25-brightgreen"/>
|
|
41
|
-
<img alt="Status" src="https://img.shields.io/badge/status-v1.0.
|
|
41
|
+
<img alt="Status" src="https://img.shields.io/badge/status-v1.0.2-brightgreen"/>
|
|
42
42
|
</p>
|
|
43
43
|
|
|
44
44
|
> A lightweight, type-safe microkernel & plug-and-play framework for Python.
|
|
@@ -58,31 +58,9 @@ No magic, no hidden state, no framework lock-in. Just clean abstractions you sub
|
|
|
58
58
|
|
|
59
59
|
## Architecture
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
EB["SuperSolidEventBus"]
|
|
65
|
-
E1["SuperSolidEngine A"]
|
|
66
|
-
E2["SuperSolidEngine B"]
|
|
67
|
-
R1["SuperSolidRegistry 1"]
|
|
68
|
-
R2["SuperSolidRegistry 2"]
|
|
69
|
-
R3["SuperSolidRegistry 3"]
|
|
70
|
-
D["DiscoveryStrategy Chain"]
|
|
71
|
-
SP["SecurityPolicy"]
|
|
72
|
-
H["HealthCheckable"]
|
|
73
|
-
|
|
74
|
-
S -->|starts / stops| E1
|
|
75
|
-
S -->|starts / stops| E2
|
|
76
|
-
S -->|publishes signals| EB
|
|
77
|
-
E1 -->|routes loads to| R1
|
|
78
|
-
E1 -->|routes loads to| R2
|
|
79
|
-
E2 -->|routes loads to| R3
|
|
80
|
-
R1 -->|discovers plugins via| D
|
|
81
|
-
R1 -.->|enforced by| SP
|
|
82
|
-
R2 -.->|enforced by| SP
|
|
83
|
-
E1 -.->|implements| H
|
|
84
|
-
E2 -.->|implements| H
|
|
85
|
-
```
|
|
61
|
+
<p align="center">
|
|
62
|
+
<img src="https://raw.githubusercontent.com/super-solid-framework/super-solid-system/main/docs/architecture.svg" alt="Architecture Diagram" width="700"/>
|
|
63
|
+
</p>
|
|
86
64
|
|
|
87
65
|
The core loop is simple:
|
|
88
66
|
|
|
@@ -327,14 +305,9 @@ event.model_dump_json()
|
|
|
327
305
|
|
|
328
306
|
When you call `registry.load()` for something that isn't registered yet, the registry runs a **discovery chain** to try to find it automatically. The default chain has three strategies:
|
|
329
307
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
B -->|not found| C["PluginDirectory"]
|
|
334
|
-
style A fill:#4a9,stroke:#333,color:#fff
|
|
335
|
-
style B fill:#49a,stroke:#333,color:#fff
|
|
336
|
-
style C fill:#a94,stroke:#333,color:#fff
|
|
337
|
-
```
|
|
308
|
+
<p align="center">
|
|
309
|
+
<img src="https://raw.githubusercontent.com/super-solid-framework/super-solid-system/main/docs/discovery.svg" alt="Discovery Chain Diagram" width="550"/>
|
|
310
|
+
</p>
|
|
338
311
|
|
|
339
312
|
| Strategy | Where it looks |
|
|
340
313
|
| :---------------- | :------------------------------------------------------------------------ |
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<img alt="License" src="https://img.shields.io/badge/license-Apache%202.0-green"/>
|
|
14
14
|
<img alt="Tests" src="https://img.shields.io/badge/tests-43%2F43%20passing-brightgreen"/>
|
|
15
15
|
<img alt="Coverage" src="https://img.shields.io/badge/coverage-100%25-brightgreen"/>
|
|
16
|
-
<img alt="Status" src="https://img.shields.io/badge/status-v1.0.
|
|
16
|
+
<img alt="Status" src="https://img.shields.io/badge/status-v1.0.2-brightgreen"/>
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
> A lightweight, type-safe microkernel & plug-and-play framework for Python.
|
|
@@ -33,31 +33,9 @@ No magic, no hidden state, no framework lock-in. Just clean abstractions you sub
|
|
|
33
33
|
|
|
34
34
|
## Architecture
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
EB["SuperSolidEventBus"]
|
|
40
|
-
E1["SuperSolidEngine A"]
|
|
41
|
-
E2["SuperSolidEngine B"]
|
|
42
|
-
R1["SuperSolidRegistry 1"]
|
|
43
|
-
R2["SuperSolidRegistry 2"]
|
|
44
|
-
R3["SuperSolidRegistry 3"]
|
|
45
|
-
D["DiscoveryStrategy Chain"]
|
|
46
|
-
SP["SecurityPolicy"]
|
|
47
|
-
H["HealthCheckable"]
|
|
48
|
-
|
|
49
|
-
S -->|starts / stops| E1
|
|
50
|
-
S -->|starts / stops| E2
|
|
51
|
-
S -->|publishes signals| EB
|
|
52
|
-
E1 -->|routes loads to| R1
|
|
53
|
-
E1 -->|routes loads to| R2
|
|
54
|
-
E2 -->|routes loads to| R3
|
|
55
|
-
R1 -->|discovers plugins via| D
|
|
56
|
-
R1 -.->|enforced by| SP
|
|
57
|
-
R2 -.->|enforced by| SP
|
|
58
|
-
E1 -.->|implements| H
|
|
59
|
-
E2 -.->|implements| H
|
|
60
|
-
```
|
|
36
|
+
<p align="center">
|
|
37
|
+
<img src="https://raw.githubusercontent.com/super-solid-framework/super-solid-system/main/docs/architecture.svg" alt="Architecture Diagram" width="700"/>
|
|
38
|
+
</p>
|
|
61
39
|
|
|
62
40
|
The core loop is simple:
|
|
63
41
|
|
|
@@ -302,14 +280,9 @@ event.model_dump_json()
|
|
|
302
280
|
|
|
303
281
|
When you call `registry.load()` for something that isn't registered yet, the registry runs a **discovery chain** to try to find it automatically. The default chain has three strategies:
|
|
304
282
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
B -->|not found| C["PluginDirectory"]
|
|
309
|
-
style A fill:#4a9,stroke:#333,color:#fff
|
|
310
|
-
style B fill:#49a,stroke:#333,color:#fff
|
|
311
|
-
style C fill:#a94,stroke:#333,color:#fff
|
|
312
|
-
```
|
|
283
|
+
<p align="center">
|
|
284
|
+
<img src="https://raw.githubusercontent.com/super-solid-framework/super-solid-system/main/docs/discovery.svg" alt="Discovery Chain Diagram" width="550"/>
|
|
285
|
+
</p>
|
|
313
286
|
|
|
314
287
|
| Strategy | Where it looks |
|
|
315
288
|
| :---------------- | :------------------------------------------------------------------------ |
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
[project]
|
|
2
|
-
name = "super-solid-system"
|
|
3
|
-
version = "1.0.
|
|
4
|
-
description = "A lightweight, type-safe microkernel & plug-and-play framework for Python."
|
|
5
|
-
authors = [
|
|
6
|
-
{name = "Doth-J", email = "theodjoan@gmail.com"}
|
|
7
|
-
]
|
|
8
|
-
license = "Apache-2.0"
|
|
9
|
-
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.10"
|
|
11
|
-
keywords = [
|
|
12
|
-
"microkernel",
|
|
13
|
-
"plugin",
|
|
14
|
-
"registry",
|
|
15
|
-
"modular",
|
|
16
|
-
"framework",
|
|
17
|
-
"dependency-injection",
|
|
18
|
-
"type-safe",
|
|
19
|
-
]
|
|
20
|
-
classifiers = [
|
|
21
|
-
"Development Status :: 5 - Production/Stable",
|
|
22
|
-
"Intended Audience :: Developers",
|
|
23
|
-
"Programming Language :: Python :: 3",
|
|
24
|
-
"Programming Language :: Python :: 3.10",
|
|
25
|
-
"Programming Language :: Python :: 3.11",
|
|
26
|
-
"Programming Language :: Python :: 3.12",
|
|
27
|
-
"Programming Language :: Python :: 3.13",
|
|
28
|
-
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
|
29
|
-
"Typing :: Typed",
|
|
30
|
-
]
|
|
31
|
-
dependencies = [
|
|
32
|
-
"pydantic (>=2.0.0)"
|
|
33
|
-
]
|
|
34
|
-
|
|
35
|
-
[project.urls]
|
|
36
|
-
Homepage = "https://github.com/super-solid-framework/super-solid-system"
|
|
37
|
-
Repository = "https://github.com/super-solid-framework/super-solid-system"
|
|
38
|
-
Issues = "https://github.com/super-solid-framework/super-solid-system/issues"
|
|
39
|
-
|
|
40
|
-
[tool.poetry]
|
|
41
|
-
packages = [{include = "supersolid"}]
|
|
42
|
-
|
|
43
|
-
[build-system]
|
|
44
|
-
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
|
45
|
-
build-backend = "poetry.core.masonry.api"
|
|
46
|
-
|
|
47
|
-
[dependency-groups]
|
|
48
|
-
test = [
|
|
49
|
-
"pytest (>=9.1.1,<10.0.0)",
|
|
50
|
-
"pytest-cov (>=5.0.0,<7.0.0)"
|
|
51
|
-
]
|
|
52
|
-
|
|
53
|
-
[tool.pytest.ini_options]
|
|
54
|
-
testpaths = ["tests"]
|
|
55
|
-
addopts = "--cov=supersolid --cov-report=term-missing"
|
|
1
|
+
[project]
|
|
2
|
+
name = "super-solid-system"
|
|
3
|
+
version = "1.0.2"
|
|
4
|
+
description = "A lightweight, type-safe microkernel & plug-and-play framework for Python."
|
|
5
|
+
authors = [
|
|
6
|
+
{name = "Doth-J", email = "theodjoan@gmail.com"}
|
|
7
|
+
]
|
|
8
|
+
license = "Apache-2.0"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
keywords = [
|
|
12
|
+
"microkernel",
|
|
13
|
+
"plugin",
|
|
14
|
+
"registry",
|
|
15
|
+
"modular",
|
|
16
|
+
"framework",
|
|
17
|
+
"dependency-injection",
|
|
18
|
+
"type-safe",
|
|
19
|
+
]
|
|
20
|
+
classifiers = [
|
|
21
|
+
"Development Status :: 5 - Production/Stable",
|
|
22
|
+
"Intended Audience :: Developers",
|
|
23
|
+
"Programming Language :: Python :: 3",
|
|
24
|
+
"Programming Language :: Python :: 3.10",
|
|
25
|
+
"Programming Language :: Python :: 3.11",
|
|
26
|
+
"Programming Language :: Python :: 3.12",
|
|
27
|
+
"Programming Language :: Python :: 3.13",
|
|
28
|
+
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
|
29
|
+
"Typing :: Typed",
|
|
30
|
+
]
|
|
31
|
+
dependencies = [
|
|
32
|
+
"pydantic (>=2.0.0)"
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
[project.urls]
|
|
36
|
+
Homepage = "https://github.com/super-solid-framework/super-solid-system"
|
|
37
|
+
Repository = "https://github.com/super-solid-framework/super-solid-system"
|
|
38
|
+
Issues = "https://github.com/super-solid-framework/super-solid-system/issues"
|
|
39
|
+
|
|
40
|
+
[tool.poetry]
|
|
41
|
+
packages = [{include = "supersolid"}]
|
|
42
|
+
|
|
43
|
+
[build-system]
|
|
44
|
+
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
|
45
|
+
build-backend = "poetry.core.masonry.api"
|
|
46
|
+
|
|
47
|
+
[dependency-groups]
|
|
48
|
+
test = [
|
|
49
|
+
"pytest (>=9.1.1,<10.0.0)",
|
|
50
|
+
"pytest-cov (>=5.0.0,<7.0.0)"
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
[tool.pytest.ini_options]
|
|
54
|
+
testpaths = ["tests"]
|
|
55
|
+
addopts = "--cov=supersolid --cov-report=term-missing"
|
|
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
|