2. The Python source organization#
2.1. Conventions#
The following conventions, which are intended to facilitate the reading of scripts, are imperfectly applied
a class name starts with a capital letter;
the identifier of a Python list object starts with the prefix l_ (this rule is used in Eficas);
in the packages used by the supervisor (Kernel, Execution, Execution, Validation, Validation, Build and Accas) only one class is defined per module, i.e. per file*.py;
in the packages used by the supervisor (Kernel, Execution, Execution, Validation, Validation, Build, and Accas) the name of each module starts with a prefix indicating the name of the package.
2.2. Python module typology#
Each class is defined in a module: for example, class MCSIMP is defined in the N_ MCSIMP .py module where the N_ prefix designates the name of the package (Kernel) containing the module.
The package technique makes it possible to divide the modules according to the field of activity in which it acts. Each domain corresponds to a Python package
For example, class MCSIMP exists in each of the five packages,
·Core: N_ MCIMP. SIMP;
·Validation: V_ MCSIMP. SIMP;
·Hmm: I_ MCIMP. SIMP;
·Battery: A_ MCIMP. SIMP;
·Build: B_ MCIMP. SIMP;
Nucleus
This package essentially contains the command set factory class system.
Validation
This package contains modules that perform object validity checks (commands, conditional blocks, keywords,…).
Build
This package is only present in the supervisor contains the modules dealing with macro commands and methods for requesting the command set from API -C: the GETVxxx interfaces.
Accas
This package is the most important. In particular, it contains the most comprehensive classes used by the Eficas graphical interface as well as by the Code_Aster supervisor. It is in this package that you should look for objects and methods specialized in the processing — not graphical — of orders:
loading the catalog;
loading a command set;
Executing the command set.
The daughter classes defined in this package are defined by inheritance from parent classes that have the same name as the daughter classes but are located in a different package.
IHM
The classes in this package enrich the Core classes with methods — not linked to the graphical aspect — used by the Eficas graphical interface.
Editor
This package contains the graphics processing modules for the command set.
2.3. Hierarchy of source directories#
2.3.1. Supervisor python sources#
The Code_Aster supervisor is composed of python modules written:
in C for the supervisor application interface: the aster module (astermodule.c);
in Python for the management of the command set (loading, organization,…).
The diagram below shows the directories containing the supervisor’s Python sources.

2.3.2. The sources of the Eficas graphical interface#
The sources are organized in directories under the Eficas installation directory:

2.4. The environment#
This paragraph describes the prerequisites for the operation of the Supervisor and the Eficas graphical interface.
2.4.1. Python interpreter installation#
To be informed
2.4.2. Shell configuration settings#
To be informed
2.4.3. Installing the Eficas graphical interface#
To be informed
2.4.4. Supervisor Update#
To be informed