Then, during runtime, one could do the following::
print(model.connected_variables['frog_list'])
Additional Information for developers. Currently (Dec 2022), the way kmos3 processes things from the build file to the Runtime environment is as follows:
A person's build file makes a Project class object (typically "kmc_model"), for example in https://github.com/kmos3/kmos3/blob/master/examples/MyFirstDiffusion__build.py
That build file makes an xml file (or ini file), which occurs in types.py _get_etree_xml or _get_etree_ini where a string is made that then gets written to file.
That xml/ini is then read back in and validated , which occurs against a DTD. A new Project class object is made from what is read back in.
It is important to recognize that the new Project class object has many attributes that are the same as the one in the build file, but it is not the same object. It has fewer of the original attributes due to hardcoded mapping during xml writing and xml reading.
When the source code compilation occurs, kmc_settings. is made. What is in kmc_settings roughly mirrors the original Project class object, but it is actually from the new Project class object that has been created from the xml.