wexample-wex-addon-dev-css 6.0.88__tar.gz → 6.0.89__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.
@@ -0,0 +1,111 @@
1
+ Metadata-Version: 2.1
2
+ Name: wexample-wex-addon-dev-css
3
+ Version: 6.0.89
4
+ Summary: Plugs a named CSS addon manager into the wex CLI kernel, serving as the registration entry point for CSS development tooling within the wex addon ecosystem
5
+ Author-Email: weeger <contact@wexample.com>
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.10
11
+ Requires-Dist: attrs>=23.1.0
12
+ Requires-Dist: cattrs>=23.1.0
13
+ Requires-Dist: wexample-wex-addon-app>=34.2.0
14
+ Provides-Extra: dev
15
+ Requires-Dist: pytest; extra == "dev"
16
+ Requires-Dist: pytest-cov; extra == "dev"
17
+ Description-Content-Type: text/markdown
18
+
19
+ # wex_addon_dev_css
20
+
21
+ Version: 6.0.89
22
+
23
+ Plugs a named CSS addon manager into the wex CLI kernel, serving as the registration entry point for CSS development tooling within the wex addon ecosystem
24
+
25
+ ## Table of Contents
26
+
27
+ - [Install](#install)
28
+ - [Tests](#tests)
29
+ - [Roadmap](#roadmap)
30
+ - [Status Compatibility](#status-compatibility)
31
+ - [Useful Links](#useful-links)
32
+
33
+ ## Installation
34
+
35
+ ```bash
36
+ pip install wexample-wex-addon-dev-css
37
+ ```
38
+
39
+ Requires Python >=3.10.
40
+
41
+ ## Tests
42
+
43
+ This project uses `pytest` for testing and `pytest-cov` for code coverage analysis.
44
+
45
+ ### Installation
46
+
47
+ First, install the required testing dependencies:
48
+ ```bash
49
+ .venv/bin/python -m pip install pytest pytest-cov
50
+ ```
51
+
52
+ ### Basic Usage
53
+
54
+ Run all tests with coverage:
55
+ ```bash
56
+ .venv/bin/python -m pytest --cov --cov-report=html
57
+ ```
58
+
59
+ ### Common Commands
60
+ ```bash
61
+ # Run tests with coverage for a specific module
62
+ .venv/bin/python -m pytest --cov=your_module
63
+
64
+ # Show which lines are not covered
65
+ .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing
66
+
67
+ # Generate an HTML coverage report
68
+ .venv/bin/python -m pytest --cov=your_module --cov-report=html
69
+
70
+ # Combine terminal and HTML reports
71
+ .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing --cov-report=html
72
+
73
+ # Run specific test file with coverage
74
+ .venv/bin/python -m pytest tests/test_file.py --cov=your_module --cov-report=term-missing
75
+ ```
76
+
77
+ ### Viewing HTML Reports
78
+
79
+ After generating an HTML report, open `htmlcov/index.html` in your browser to view detailed line-by-line coverage information.
80
+
81
+ ### Coverage Threshold
82
+
83
+ To enforce a minimum coverage percentage:
84
+ ```bash
85
+ .venv/bin/python -m pytest --cov=your_module --cov-fail-under=80
86
+ ```
87
+
88
+ This will cause the test suite to fail if coverage drops below 80%.
89
+
90
+ ## Known Limitations & Roadmap
91
+
92
+ Current limitations and planned features are tracked in the GitHub issues.
93
+
94
+ See the [project roadmap](https://github.com/wexample/python-wex_addon_dev_css/issues) for upcoming features and improvements.
95
+
96
+ ## Status & Compatibility
97
+
98
+ **Maturity**: Production-ready
99
+
100
+ **Python Support**: >=3.10
101
+
102
+ **OS Support**: Linux, macOS, Windows
103
+
104
+ **Status**: Actively maintained
105
+
106
+ ## Useful Links
107
+
108
+ - **Homepage**: https://github.com/wexample/python-wex-addon-dev-css
109
+ - **Issue Tracker**: https://github.com/wexample/python-wex-addon-dev-css/issues
110
+ - **Discussions**: https://github.com/wexample/python-wex-addon-dev-css/discussions
111
+ - **PyPI**: [pypi.org/project/wexample-wex-addon-dev-css](https://pypi.org/project/wexample-wex-addon-dev-css/)
@@ -0,0 +1,93 @@
1
+ # wex_addon_dev_css
2
+
3
+ Version: 6.0.89
4
+
5
+ Plugs a named CSS addon manager into the wex CLI kernel, serving as the registration entry point for CSS development tooling within the wex addon ecosystem
6
+
7
+ ## Table of Contents
8
+
9
+ - [Install](#install)
10
+ - [Tests](#tests)
11
+ - [Roadmap](#roadmap)
12
+ - [Status Compatibility](#status-compatibility)
13
+ - [Useful Links](#useful-links)
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ pip install wexample-wex-addon-dev-css
19
+ ```
20
+
21
+ Requires Python >=3.10.
22
+
23
+ ## Tests
24
+
25
+ This project uses `pytest` for testing and `pytest-cov` for code coverage analysis.
26
+
27
+ ### Installation
28
+
29
+ First, install the required testing dependencies:
30
+ ```bash
31
+ .venv/bin/python -m pip install pytest pytest-cov
32
+ ```
33
+
34
+ ### Basic Usage
35
+
36
+ Run all tests with coverage:
37
+ ```bash
38
+ .venv/bin/python -m pytest --cov --cov-report=html
39
+ ```
40
+
41
+ ### Common Commands
42
+ ```bash
43
+ # Run tests with coverage for a specific module
44
+ .venv/bin/python -m pytest --cov=your_module
45
+
46
+ # Show which lines are not covered
47
+ .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing
48
+
49
+ # Generate an HTML coverage report
50
+ .venv/bin/python -m pytest --cov=your_module --cov-report=html
51
+
52
+ # Combine terminal and HTML reports
53
+ .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing --cov-report=html
54
+
55
+ # Run specific test file with coverage
56
+ .venv/bin/python -m pytest tests/test_file.py --cov=your_module --cov-report=term-missing
57
+ ```
58
+
59
+ ### Viewing HTML Reports
60
+
61
+ After generating an HTML report, open `htmlcov/index.html` in your browser to view detailed line-by-line coverage information.
62
+
63
+ ### Coverage Threshold
64
+
65
+ To enforce a minimum coverage percentage:
66
+ ```bash
67
+ .venv/bin/python -m pytest --cov=your_module --cov-fail-under=80
68
+ ```
69
+
70
+ This will cause the test suite to fail if coverage drops below 80%.
71
+
72
+ ## Known Limitations & Roadmap
73
+
74
+ Current limitations and planned features are tracked in the GitHub issues.
75
+
76
+ See the [project roadmap](https://github.com/wexample/python-wex_addon_dev_css/issues) for upcoming features and improvements.
77
+
78
+ ## Status & Compatibility
79
+
80
+ **Maturity**: Production-ready
81
+
82
+ **Python Support**: >=3.10
83
+
84
+ **OS Support**: Linux, macOS, Windows
85
+
86
+ **Status**: Actively maintained
87
+
88
+ ## Useful Links
89
+
90
+ - **Homepage**: https://github.com/wexample/python-wex-addon-dev-css
91
+ - **Issue Tracker**: https://github.com/wexample/python-wex-addon-dev-css/issues
92
+ - **Discussions**: https://github.com/wexample/python-wex-addon-dev-css/discussions
93
+ - **PyPI**: [pypi.org/project/wexample-wex-addon-dev-css](https://pypi.org/project/wexample-wex-addon-dev-css/)
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
6
6
 
7
7
  [project]
8
8
  name = "wexample-wex-addon-dev-css"
9
- version = "6.0.88"
9
+ version = "6.0.89"
10
10
  description = "Plugs a named CSS addon manager into the wex CLI kernel, serving as the registration entry point for CSS development tooling within the wex addon ecosystem"
11
11
  authors = [
12
12
  { name = "weeger", email = "contact@wexample.com" },
@@ -20,7 +20,7 @@ classifiers = [
20
20
  dependencies = [
21
21
  "attrs>=23.1.0",
22
22
  "cattrs>=23.1.0",
23
- "wexample-wex-addon-app>=34.1.0",
23
+ "wexample-wex-addon-app>=34.2.0",
24
24
  ]
25
25
 
26
26
  [project.readme]
@@ -1,228 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: wexample-wex-addon-dev-css
3
- Version: 6.0.88
4
- Summary: Plugs a named CSS addon manager into the wex CLI kernel, serving as the registration entry point for CSS development tooling within the wex addon ecosystem
5
- Author-Email: weeger <contact@wexample.com>
6
- License: MIT
7
- Classifier: Programming Language :: Python :: 3
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.10
11
- Requires-Dist: attrs>=23.1.0
12
- Requires-Dist: cattrs>=23.1.0
13
- Requires-Dist: wexample-wex-addon-app>=34.1.0
14
- Provides-Extra: dev
15
- Requires-Dist: pytest; extra == "dev"
16
- Requires-Dist: pytest-cov; extra == "dev"
17
- Description-Content-Type: text/markdown
18
-
19
- # wex_addon_dev_css
20
-
21
- Version: 6.0.88
22
-
23
- `wex_addon_dev_css` registers a `CssAddonManager` — a named subclass of `AbstractAddonManager` — into the wex CLI kernel, making it the entry point for CSS development tooling within the wex addon ecosystem. It carries no commands of its own; its role is to give the kernel a named CSS addon slot that other packages and addons can target. It is intended for developers working inside the wex ecosystem who need CSS tooling exposed through the CLI.
24
-
25
- ## Table of Contents
26
-
27
- - [Installation](#installation)
28
- - [Quickstart](#quickstart)
29
- - [Tests](#tests)
30
- - [Architecture](#architecture)
31
- - [Integration in the Suite](#integration-in-the-suite)
32
- - [Dependencies](#dependencies)
33
- - [Versioning & Compatibility Policy](#versioning--compatibility-policy)
34
- - [License](#license)
35
- - [About us](#about-us)
36
- - [Known Limitations & Roadmap](#known-limitations--roadmap)
37
- - [Status & Compatibility](#status--compatibility)
38
- - [Useful Links](#useful-links)
39
- - [Migration Notes](#migration-notes)
40
-
41
- ## Installation
42
-
43
- ```bash
44
- pip install wexample-wex-addon-dev-css
45
- ```
46
-
47
- Requires Python >=3.10.
48
-
49
- ## Quickstart
50
-
51
- Install the package:
52
-
53
- ```bash
54
- pip install wexample-wex-addon-dev-css
55
- ```
56
-
57
- The public entry point is `CssAddonManager`, defined in src/wexample_wex_addon_dev_css/css_addon_manager.py:
58
-
59
- ```python
60
- from wexample_wex_addon_dev_css.css_addon_manager import CssAddonManager
61
- ```
62
-
63
- Pass it to the kernel's `setup()` call to register the CSS addon slot:
64
-
65
- ```python
66
- from wexample_wex_core.common.kernel import Kernel
67
-
68
- kernel = Kernel()
69
- kernel.setup(addons=[CssAddonManager])
70
- ```
71
-
72
- After `setup()` returns, the kernel holds a `css` addon entry (the name is derived from the class by stripping the `AddonManager` suffix). Other packages that target the CSS slot can then resolve it via `kernel.get_addons()["css"]`. The manager itself carries no commands; its presence in the addon list is the registration.
73
-
74
- ## Tests
75
-
76
- This project uses `pytest` for testing and `pytest-cov` for code coverage analysis.
77
-
78
- ### Installation
79
-
80
- First, install the required testing dependencies:
81
- ```bash
82
- .venv/bin/python -m pip install pytest pytest-cov
83
- ```
84
-
85
- ### Basic Usage
86
-
87
- Run all tests with coverage:
88
- ```bash
89
- .venv/bin/python -m pytest --cov --cov-report=html
90
- ```
91
-
92
- ### Common Commands
93
- ```bash
94
- # Run tests with coverage for a specific module
95
- .venv/bin/python -m pytest --cov=your_module
96
-
97
- # Show which lines are not covered
98
- .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing
99
-
100
- # Generate an HTML coverage report
101
- .venv/bin/python -m pytest --cov=your_module --cov-report=html
102
-
103
- # Combine terminal and HTML reports
104
- .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing --cov-report=html
105
-
106
- # Run specific test file with coverage
107
- .venv/bin/python -m pytest tests/test_file.py --cov=your_module --cov-report=term-missing
108
- ```
109
-
110
- ### Viewing HTML Reports
111
-
112
- After generating an HTML report, open `htmlcov/index.html` in your browser to view detailed line-by-line coverage information.
113
-
114
- ### Coverage Threshold
115
-
116
- To enforce a minimum coverage percentage:
117
- ```bash
118
- .venv/bin/python -m pytest --cov=your_module --cov-fail-under=80
119
- ```
120
-
121
- This will cause the test suite to fail if coverage drops below 80%.
122
-
123
- ## Architecture
124
-
125
- The package contains one Python module under `src/wexample_wex_addon_dev_css/`. Its entire public surface is `CssAddonManager`, defined in src/wexample_wex_addon_dev_css/css_addon_manager.py.
126
-
127
- ### Parts
128
-
129
- **`CssAddonManager`** subclasses `AbstractAddonManager` from `wexample_wex_core` and adds nothing — its body is `pass`. All behaviour comes from the base class.
130
-
131
- **`AbstractAddonManager`** (in `wexample-wex-core`) carries the registration logic. It inherits from:
132
-
133
- - `AbstractKernelChild` — gives the instance a reference to the kernel that owns it.
134
- - `HasSnakeShortClassNameClassMixin` — derives the addon slot name by stripping the `AddonManager` suffix from the class name and snake-casing the result. `CssAddonManager` → `Css` → `css`.
135
- - `WithWorkdirMixin` — sets the addon's workdir to the directory of the class file during `__attrs_post_init__`.
136
- - `HasTwoStepInit` — enforces the two-phase `attrs` initialisation pattern the kernel uses for all its children.
137
-
138
- The base class exposes hook methods (`get_command_resolver_classes`, `get_middlewares_classes`, `get_step_guard_classes`, `get_workdir_types`, etc.) that a richer addon would override. `CssAddonManager` inherits all of them and returns their defaults (empty lists/dicts).
139
-
140
- ### Registration path
141
-
142
- 1. A caller constructs a kernel and passes `CssAddonManager` in the `addons` list to `kernel.setup()`.
143
- 2. The kernel instantiates the class, triggering `__attrs_post_init__`, which calls `_init_workdir` with the directory containing src/wexample_wex_addon_dev_css/css_addon_manager.py as the entrypoint path.
144
- 3. The kernel indexes the instance under the key `css` (the result of `CssAddonManager.get_name()`).
145
- 4. Any downstream package that needs the CSS slot calls `kernel.get_addons()["css"]` to retrieve the manager.
146
-
147
- The package itself issues no CLI commands and registers no resolvers. Its only job is to occupy the `css` slot so that other packages in the ecosystem have a stable, named target to extend or query.
148
-
149
- ### Package layout
150
-
151
- ```
152
- src/
153
- └── wexample_wex_addon_dev_css/
154
- ├── __init__.py # empty
155
- ├── py.typed # PEP 561 marker
156
- └── css_addon_manager.py # CssAddonManager
157
- ```
158
-
159
- The build backend is `pdm-backend`. `pyproject.toml` declares one runtime dependency group: `wexample-wex-addon-app`, which pulls in the wex-core base classes; plus `attrs` and `cattrs` for the attrs-based init pattern.
160
-
161
- ## Integration in the Suite
162
-
163
- This package is part of the Wexample Suite — a collection of high-quality, modular tools designed to work seamlessly together across multiple languages and environments.
164
-
165
- ### Related Packages
166
-
167
- The suite includes packages for configuration management, file handling, prompts, and more. Each package can be used independently or as part of the integrated suite.
168
-
169
- ## Dependencies
170
-
171
- - attrs: >=23.1.0
172
- - cattrs: >=23.1.0
173
- - wexample-wex-addon-app: >=34.1.0
174
-
175
- ## Versioning & Compatibility Policy
176
-
177
- Wexample packages follow **Semantic Versioning** (SemVer):
178
-
179
- - **MAJOR**: Breaking changes
180
- - **MINOR**: New features, backward compatible
181
- - **PATCH**: Bug fixes, backward compatible
182
-
183
- We maintain backward compatibility within major versions and provide clear migration guides for breaking changes.
184
-
185
- ## License
186
-
187
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
188
-
189
- Free to use in both personal and commercial projects.
190
-
191
- ## About us
192
-
193
- [Wexample](https://wexample.com) stands as a cornerstone of the digital ecosystem — a collective of seasoned engineers, researchers, and creators driven by a relentless pursuit of technological excellence. More than a media platform, it has grown into a vibrant community where innovation meets craftsmanship, and where every line of code reflects a commitment to clarity, durability, and shared intelligence.
194
-
195
- This packages suite embodies this spirit. Trusted by professionals and enthusiasts alike, it delivers a consistent, high-quality foundation for modern development — open, elegant, and battle-tested. Its reputation is built on years of collaboration, refinement, and rigorous attention to detail, making it a natural choice for those who demand both robustness and beauty in their tools.
196
-
197
- Wexample cultivates a culture of mastery. Each package, each contribution carries the mark of a community that values precision, ethics, and innovation — a community proud to shape the future of digital craftsmanship.
198
-
199
- Built and maintained by [Romain Weeger](https://weeger.io).
200
-
201
- ## Known Limitations & Roadmap
202
-
203
- Current limitations and planned features are tracked in the GitHub issues.
204
-
205
- See the [project roadmap](https://github.com/wexample/python-wex_addon_dev_css/issues) for upcoming features and improvements.
206
-
207
- ## Status & Compatibility
208
-
209
- **Maturity**: Production-ready
210
-
211
- **Python Support**: >=3.10
212
-
213
- **OS Support**: Linux, macOS, Windows
214
-
215
- **Status**: Actively maintained
216
-
217
- ## Useful Links
218
-
219
- - **Homepage**: https://github.com/wexample/python-wex-addon-dev-css
220
- - **Issue Tracker**: https://github.com/wexample/python-wex-addon-dev-css/issues
221
- - **Discussions**: https://github.com/wexample/python-wex-addon-dev-css/discussions
222
- - **PyPI**: [pypi.org/project/wexample-wex-addon-dev-css](https://pypi.org/project/wexample-wex-addon-dev-css/)
223
-
224
- ## Migration Notes
225
-
226
- When upgrading between major versions, refer to the migration guides in the documentation.
227
-
228
- Breaking changes are clearly documented with upgrade paths and examples.
@@ -1,210 +0,0 @@
1
- # wex_addon_dev_css
2
-
3
- Version: 6.0.88
4
-
5
- `wex_addon_dev_css` registers a `CssAddonManager` — a named subclass of `AbstractAddonManager` — into the wex CLI kernel, making it the entry point for CSS development tooling within the wex addon ecosystem. It carries no commands of its own; its role is to give the kernel a named CSS addon slot that other packages and addons can target. It is intended for developers working inside the wex ecosystem who need CSS tooling exposed through the CLI.
6
-
7
- ## Table of Contents
8
-
9
- - [Installation](#installation)
10
- - [Quickstart](#quickstart)
11
- - [Tests](#tests)
12
- - [Architecture](#architecture)
13
- - [Integration in the Suite](#integration-in-the-suite)
14
- - [Dependencies](#dependencies)
15
- - [Versioning & Compatibility Policy](#versioning--compatibility-policy)
16
- - [License](#license)
17
- - [About us](#about-us)
18
- - [Known Limitations & Roadmap](#known-limitations--roadmap)
19
- - [Status & Compatibility](#status--compatibility)
20
- - [Useful Links](#useful-links)
21
- - [Migration Notes](#migration-notes)
22
-
23
- ## Installation
24
-
25
- ```bash
26
- pip install wexample-wex-addon-dev-css
27
- ```
28
-
29
- Requires Python >=3.10.
30
-
31
- ## Quickstart
32
-
33
- Install the package:
34
-
35
- ```bash
36
- pip install wexample-wex-addon-dev-css
37
- ```
38
-
39
- The public entry point is `CssAddonManager`, defined in src/wexample_wex_addon_dev_css/css_addon_manager.py:
40
-
41
- ```python
42
- from wexample_wex_addon_dev_css.css_addon_manager import CssAddonManager
43
- ```
44
-
45
- Pass it to the kernel's `setup()` call to register the CSS addon slot:
46
-
47
- ```python
48
- from wexample_wex_core.common.kernel import Kernel
49
-
50
- kernel = Kernel()
51
- kernel.setup(addons=[CssAddonManager])
52
- ```
53
-
54
- After `setup()` returns, the kernel holds a `css` addon entry (the name is derived from the class by stripping the `AddonManager` suffix). Other packages that target the CSS slot can then resolve it via `kernel.get_addons()["css"]`. The manager itself carries no commands; its presence in the addon list is the registration.
55
-
56
- ## Tests
57
-
58
- This project uses `pytest` for testing and `pytest-cov` for code coverage analysis.
59
-
60
- ### Installation
61
-
62
- First, install the required testing dependencies:
63
- ```bash
64
- .venv/bin/python -m pip install pytest pytest-cov
65
- ```
66
-
67
- ### Basic Usage
68
-
69
- Run all tests with coverage:
70
- ```bash
71
- .venv/bin/python -m pytest --cov --cov-report=html
72
- ```
73
-
74
- ### Common Commands
75
- ```bash
76
- # Run tests with coverage for a specific module
77
- .venv/bin/python -m pytest --cov=your_module
78
-
79
- # Show which lines are not covered
80
- .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing
81
-
82
- # Generate an HTML coverage report
83
- .venv/bin/python -m pytest --cov=your_module --cov-report=html
84
-
85
- # Combine terminal and HTML reports
86
- .venv/bin/python -m pytest --cov=your_module --cov-report=term-missing --cov-report=html
87
-
88
- # Run specific test file with coverage
89
- .venv/bin/python -m pytest tests/test_file.py --cov=your_module --cov-report=term-missing
90
- ```
91
-
92
- ### Viewing HTML Reports
93
-
94
- After generating an HTML report, open `htmlcov/index.html` in your browser to view detailed line-by-line coverage information.
95
-
96
- ### Coverage Threshold
97
-
98
- To enforce a minimum coverage percentage:
99
- ```bash
100
- .venv/bin/python -m pytest --cov=your_module --cov-fail-under=80
101
- ```
102
-
103
- This will cause the test suite to fail if coverage drops below 80%.
104
-
105
- ## Architecture
106
-
107
- The package contains one Python module under `src/wexample_wex_addon_dev_css/`. Its entire public surface is `CssAddonManager`, defined in src/wexample_wex_addon_dev_css/css_addon_manager.py.
108
-
109
- ### Parts
110
-
111
- **`CssAddonManager`** subclasses `AbstractAddonManager` from `wexample_wex_core` and adds nothing — its body is `pass`. All behaviour comes from the base class.
112
-
113
- **`AbstractAddonManager`** (in `wexample-wex-core`) carries the registration logic. It inherits from:
114
-
115
- - `AbstractKernelChild` — gives the instance a reference to the kernel that owns it.
116
- - `HasSnakeShortClassNameClassMixin` — derives the addon slot name by stripping the `AddonManager` suffix from the class name and snake-casing the result. `CssAddonManager` → `Css` → `css`.
117
- - `WithWorkdirMixin` — sets the addon's workdir to the directory of the class file during `__attrs_post_init__`.
118
- - `HasTwoStepInit` — enforces the two-phase `attrs` initialisation pattern the kernel uses for all its children.
119
-
120
- The base class exposes hook methods (`get_command_resolver_classes`, `get_middlewares_classes`, `get_step_guard_classes`, `get_workdir_types`, etc.) that a richer addon would override. `CssAddonManager` inherits all of them and returns their defaults (empty lists/dicts).
121
-
122
- ### Registration path
123
-
124
- 1. A caller constructs a kernel and passes `CssAddonManager` in the `addons` list to `kernel.setup()`.
125
- 2. The kernel instantiates the class, triggering `__attrs_post_init__`, which calls `_init_workdir` with the directory containing src/wexample_wex_addon_dev_css/css_addon_manager.py as the entrypoint path.
126
- 3. The kernel indexes the instance under the key `css` (the result of `CssAddonManager.get_name()`).
127
- 4. Any downstream package that needs the CSS slot calls `kernel.get_addons()["css"]` to retrieve the manager.
128
-
129
- The package itself issues no CLI commands and registers no resolvers. Its only job is to occupy the `css` slot so that other packages in the ecosystem have a stable, named target to extend or query.
130
-
131
- ### Package layout
132
-
133
- ```
134
- src/
135
- └── wexample_wex_addon_dev_css/
136
- ├── __init__.py # empty
137
- ├── py.typed # PEP 561 marker
138
- └── css_addon_manager.py # CssAddonManager
139
- ```
140
-
141
- The build backend is `pdm-backend`. `pyproject.toml` declares one runtime dependency group: `wexample-wex-addon-app`, which pulls in the wex-core base classes; plus `attrs` and `cattrs` for the attrs-based init pattern.
142
-
143
- ## Integration in the Suite
144
-
145
- This package is part of the Wexample Suite — a collection of high-quality, modular tools designed to work seamlessly together across multiple languages and environments.
146
-
147
- ### Related Packages
148
-
149
- The suite includes packages for configuration management, file handling, prompts, and more. Each package can be used independently or as part of the integrated suite.
150
-
151
- ## Dependencies
152
-
153
- - attrs: >=23.1.0
154
- - cattrs: >=23.1.0
155
- - wexample-wex-addon-app: >=34.1.0
156
-
157
- ## Versioning & Compatibility Policy
158
-
159
- Wexample packages follow **Semantic Versioning** (SemVer):
160
-
161
- - **MAJOR**: Breaking changes
162
- - **MINOR**: New features, backward compatible
163
- - **PATCH**: Bug fixes, backward compatible
164
-
165
- We maintain backward compatibility within major versions and provide clear migration guides for breaking changes.
166
-
167
- ## License
168
-
169
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
170
-
171
- Free to use in both personal and commercial projects.
172
-
173
- ## About us
174
-
175
- [Wexample](https://wexample.com) stands as a cornerstone of the digital ecosystem — a collective of seasoned engineers, researchers, and creators driven by a relentless pursuit of technological excellence. More than a media platform, it has grown into a vibrant community where innovation meets craftsmanship, and where every line of code reflects a commitment to clarity, durability, and shared intelligence.
176
-
177
- This packages suite embodies this spirit. Trusted by professionals and enthusiasts alike, it delivers a consistent, high-quality foundation for modern development — open, elegant, and battle-tested. Its reputation is built on years of collaboration, refinement, and rigorous attention to detail, making it a natural choice for those who demand both robustness and beauty in their tools.
178
-
179
- Wexample cultivates a culture of mastery. Each package, each contribution carries the mark of a community that values precision, ethics, and innovation — a community proud to shape the future of digital craftsmanship.
180
-
181
- Built and maintained by [Romain Weeger](https://weeger.io).
182
-
183
- ## Known Limitations & Roadmap
184
-
185
- Current limitations and planned features are tracked in the GitHub issues.
186
-
187
- See the [project roadmap](https://github.com/wexample/python-wex_addon_dev_css/issues) for upcoming features and improvements.
188
-
189
- ## Status & Compatibility
190
-
191
- **Maturity**: Production-ready
192
-
193
- **Python Support**: >=3.10
194
-
195
- **OS Support**: Linux, macOS, Windows
196
-
197
- **Status**: Actively maintained
198
-
199
- ## Useful Links
200
-
201
- - **Homepage**: https://github.com/wexample/python-wex-addon-dev-css
202
- - **Issue Tracker**: https://github.com/wexample/python-wex-addon-dev-css/issues
203
- - **Discussions**: https://github.com/wexample/python-wex-addon-dev-css/discussions
204
- - **PyPI**: [pypi.org/project/wexample-wex-addon-dev-css](https://pypi.org/project/wexample-wex-addon-dev-css/)
205
-
206
- ## Migration Notes
207
-
208
- When upgrading between major versions, refer to the migration guides in the documentation.
209
-
210
- Breaking changes are clearly documented with upgrade paths and examples.