Skip to content

Commit 6dba4a8

Browse files
committed
Update project configuration
1 parent c3a03b9 commit 6dba4a8

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

doc/design.rst

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,8 @@ _________________
211211
- Sets up an appropriate poetry based python environment
212212

213213

214-
Known Issues
215-
------------
214+
Known Issues (Sins)
215+
--------------------
216216

217217
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.
218218

@@ -261,37 +261,39 @@ The naming is not consistent across the project name (python-toolbox) and the Py
261261

262262
- `Issue-325 <https://github.com/exasol/python-toolbox/issues/325>`_
263263

264-
Cluttered Configuration
265-
+++++++++++++++++++++++
264+
Project Configuration
265+
+++++++++++++++++++++
266266

267267
**Description:**
268+
Currently, the documentation regarding the configuration of projects using the toolbox has various gaps and does not follow a clear configuration hierarchy or structure.
268269

269270
**Downsides:**
270271

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).
273276

274277
**Rationale/History:**
275278

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.
278281

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:**
282283

283-
**Ideas/Possible Solutions:**
284+
Currently used methods to configure toolbox-based projects:
284285

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)
286291

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:
292293

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.
296+
- Document configuration hierarchy and usage.
295297

296298

297299
Nox Task Runner

0 commit comments

Comments
 (0)