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
I'm wondering about the why here. Is it to make generating API docs easier? The plugins already have the hooks that describe what expose / configure / define / etc.
A sphinx directive could help w/ the docs by calling e.g., Plugin.defineParameters and parse the returned dictionary with relative ease. Similarly for the other things.
Or something like Plugin.gatherAllDefines that just calls the hooks defined on the class and collects those definitions?
As I said above "It would also make it easier to audit if a Parameter or Setting is still being used." I have seen literally hundreds of parameters go unused for years because some team lost track of the fact they created it and they stopped using it.
The "problem" in ARMI is we made it really easy to create new settings, parameters, flags, etc. But it is even easier to stop using them and leave them around, uselessly cluttering a simulation.
A sphinx directive could help w/ the docs by calling e.g., Plugin.defineParameters
Sure! Something like that fits nicely into option (2) above.
An
ArmiPlugin
can define several things for a simulation. I see two options:This would make documentation easier. It would also make it easier to audit if a
Parameter
orSetting
is still being used.Important Examples
armi/armi/plugins.py
Line 188 in 3049a0c
armi/armi/plugins.py
Line 422 in 3049a0c
But Also
armi/armi/plugins.py
Line 287 in 3049a0c
armi/armi/plugins.py
Line 316 in 3049a0c
armi/armi/plugins.py
Line 335 in 3049a0c
armi/armi/plugins.py
Line 371 in 3049a0c
armi/armi/plugins.py
Line 407 in 3049a0c
armi/armi/plugins.py
Line 459 in 3049a0c
armi/armi/plugins.py
Line 491 in 3049a0c
The text was updated successfully, but these errors were encountered: