armi.apps module¶
The base ARMI App class.
This module defines the App class, which is used to configure the ARMI
Framework for a specific application. An App implements a simple interface for
customizing much of the Framework’s behavior.
Historical Fun Fact
This pattern is used by many frameworks as a way of encapsulating what would
otherwise be global state. The ARMI Framework has historically made heavy use of
global state (e.g., armi.nucDirectory.nuclideBases), and it will take
quite a bit of effort to refactor the code to access such things through an App
object. We are planning to do this, but for now this App class is somewhat
rudimentary.
-
class
armi.apps.App[source]¶ Bases:
objectThe main point of customization for the ARMI Framework.
The App class is intended to be subclassed in order to customize the functionality and look-and-feel of the ARMI Framework for a specific use case.
This mostly initializes the default plugin manager. Subclasses are free to adopt this plugin manager and register more plugins of their own, or to throw it away and start from scratch if they do not wish to use the default Framework plugins.
For a description of the things that an ARMI plugin can do, see the
armi.pluginsmodule.-
name= 'ARMI'¶
-
property
pluginManager¶ Return the App’s PluginManager
-
property
splashText¶ Return a textual splash screen.
Specific applications will want to customize this, but by default the ARMI one is produced.
-