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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: super-solid-system
3
- Version: 1.0.1
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.1-brightgreen"/>
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
- ```mermaid
62
- graph TD
63
- S["SuperSolidSystem"]
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
- ```mermaid
331
- graph LR
332
- A["InternalLib"] -->|not found| B["EntryPoints"]
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.1-brightgreen"/>
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
- ```mermaid
37
- graph TD
38
- S["SuperSolidSystem"]
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
- ```mermaid
306
- graph LR
307
- A["InternalLib"] -->|not found| B["EntryPoints"]
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.1"
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"