You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/design.rst
+22-20Lines changed: 22 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -211,8 +211,8 @@ _________________
211
211
- Sets up an appropriate poetry based python environment
212
212
213
213
214
-
Known Issues
215
-
------------
214
+
Known Issues (Sins)
215
+
--------------------
216
216
217
217
This section documents flaws, sins, and known issues with the current design and/or its current implementation that were either known upfront or surfaced through the course of implementing it. Additionally, it attempts to explain why certain choices were made at the time, so one can better understand whether it may be reasonable to make changes now or in the future.
218
218
@@ -261,37 +261,39 @@ The naming is not consistent across the project name (python-toolbox) and the Py
Currently, the documentation regarding the configuration of projects using the toolbox has various gaps and does not follow a clear configuration hierarchy or structure.
268
269
269
270
**Downsides:**
270
271
271
-
- Multiple and scattered configuration points make management difficult.
272
-
- Tool leakage where configurations overlap or conflict.
272
+
- Multiple scattered configuration points make management and understanding difficult.
273
+
- Configurations overlap or conflict with unclear priorities.
274
+
- Tool leakage (e.g., the ``[isort]`` section in ``pyproject.toml``).
275
+
(If everything were done via toolbox config file(s), backing tools could be swapped more easily).
273
276
274
277
**Rationale/History:**
275
278
276
-
- Initial decisions aimed to simplify individual adjustments in the projects until a better understanding of what is needed could be achieved.
277
-
- Configuration scattered across various files and tools was a quick decision to expedite development and accommodate various tools.
279
+
- Initial decisions aimed to simplify individual adjustments in the projects until we had a better understanding of what needed to be configured.
280
+
- Scattering configuration across various files and tools was a hasty decision to expedite development and accommodate various tools.
278
281
279
-
while we needed to commonolize code we also needed to be somewhat flexible in the individual projects while also there was only one person
280
-
working on the toolbox on the side at the time it also wasn't possible to imidealty act on a need of the individual project(s).
281
-
THerfore the it was built with less restrictions to provide various kinds of flexibliity
282
+
**Ideas/Solutions:**
282
283
283
-
**Ideas/Possible Solutions:**
284
+
Currently used methods to configure toolbox-based projects:
284
285
285
-
Over time the flexibility should to be reduced to:
286
+
#. Project configuration: ``noxconfig.py``
287
+
#. Tool-specific configuration files or sections in ``pyproject.toml``
288
+
#. Implementing plugin extension points
289
+
#. Overwriting nox tasks with custom implementations
290
+
#. Replacing with customized workflows of the same name (only applicable for action/workflows)
286
291
287
-
- Centralize all configurations in the toolbox config file (`noxconfig.py`), considering renaming it to reflect its purpose better.
288
-
- Implement layered configurations:
289
-
1. Config file
290
-
2. Plugin/extension points
291
-
3. Custom overloads (properly documented inputs and outputs)
292
+
Refinement:
292
293
293
-
Note:
294
-
Already today there is prefered ways to do things but nothing is enforced yet.
294
+
- Centralize all toolbox based configurations in a toolbox config file (``noxconfig.py``).
295
+
- Rename the toolbox config file from ``noxconfig.py`` to a more appropriate name that reflects its purpose.
0 commit comments