"""The :mod:`egttools` package implements methods to study evolutionary dynamics."""importimportlib.resourcestry:fromimportlib.resourcesimportfilesexceptImportError:fromimportlib_resourcesimportfilestry:# Load raw build info text_build_info_file=files(__package__).joinpath('numerical/egttools_build_info.txt')_raw_build_info=_build_info_file.read_text(encoding='utf-8').strip()# Parse into a structured dictionary_build_info_lines=_raw_build_info.splitlines()_build_info_dict={}forlinein_build_info_lines:if':'inline:key,value=line.split(':',1)_build_info_dict[key.strip()]=value.strip()# Expose structured info__build_info__=_build_info_dictexceptException:__build_info__={"Error":"Build information unavailable."}
[docs]defshow_build_info():""" Nicely print the EGTtools build information. """ifnotisinstance(__build_info__,dict):print("Build information unavailable.")returnif"Error"in__build_info__:print("Build information unavailable.")print("(No 'egttools_build_info.txt' found inside the package.)")else:print("\nEGTtools Build Information")print("-"*30)forkey,valuein__build_info__.items():print(f"{key:<20}: {value}")
try:importegttools.numericalasnumericalexceptException:raiseException("numerical package not initialized")else:# Now we delete the pre-loaded numpy, as it is not necessary# del numpyfrom.numerical.numerical_import__version__from.numerical.numerical_importVERSIONfrom.numerical.numerical_importis_openmp_enabledfrom.numerical.numerical_importis_blas_lapack_enabledfrom.numerical.numerical_importUSES_BOOSTfrom.numerical.numerical_.randomimportRandomfrom.numerical.numerical_import(sample_simplex,sample_unit_simplex,calculate_nb_states,calculate_state,calculate_strategies_distribution,)importegttools.gamesasgamesimportegttools.behaviorsasbehaviorsimportegttools.analyticalasanalyticalimportegttools.utilsasutilsimportegttools.plottingasplottingimportegttools.distributionsasdistributionsimportegttools.datastructuresasdatastructures__all__=['utils','plotting','analytical','games','behaviors','numerical','distributions','datastructures','__version__','VERSION','Random','sample_simplex','sample_unit_simplex','calculate_nb_states','calculate_state','calculate_strategies_distribution']