abilab Module

This module gathers the most important classes and helper functions used for scripting.


Print the association table between file extensions and File classes.

abipy.abilab.extcls_supporting_panel(as_table=True, **tabulate_kwargs)[source]

Return list of (ext, cls) tuples where ext is the file extension supporting the get_panel method i.e files that can be integrated with the panel dashboard and cls the python class associated to it.


Activate panel extensions used by AbiPy. Return panel module.


Returns the appropriate class associated to the given filename.

abipy.abilab.dir2abifiles(top, recurse=True)[source]

Analyze the filesystem starting from directory top and return an ordered dictionary mapping the directory name to the list of files supported by abiopen contained within that directory. If not recurse, children directories are not analyzed.


Return True if filepath can be opened with abiopen.


Factory function that opens any file supported by abipy. File type is detected from the extension


filepath – string with the filename.


Factory function to create and return a Robot subclass from a list of filenames The Robot subclass is detected from the extension of the first file hence all files are assumed to have the same extension.


filepaths – List of strings with the filename.

abipy.abilab.display_structure(obj, **kwargs)[source]

Use Jsmol to display a structure in the jupyter notebook. Requires nbjsmol notebook extension installed on the local machine. Install it with pip install nbjsmol. See also https://github.com/gmatteo/nbjsmol.

  • obj – Structure object or file with a structure or python object with a structure attribute.

  • kwargs – Keyword arguments passed to nbjsmol_display

abipy.abilab.mjson_load(filepath, **kwargs)[source]

Read JSON file in MSONable format with MontyDecoder. Return dict with python objects.

abipy.abilab.mjson_loads(string, **kwargs)[source]

Read JSON string in MSONable format with MontyDecoder. Return dict with python objects.

abipy.abilab.mjson_write(d, filepath, **kwargs)[source]

Write dictionary d to filepath in JSON format using MontyDecoder


Import all the hard dependencies and some optional packages. Returns ordered dict: package –> string with version info or pandas dataframe if as_dataframe.


This function tests if the most important ABINIT executables can be found in $PATH and whether the python modules needed at run-time can be imported. Return string with error messages, empty if success.

abipy.abilab.install_config_files(workdir=None, force_reinstall=False)[source]

Install pre-defined configuration files for the TaskManager and the Scheduler in the workdir directory.

  • workdir – Directory when configuration files should be produced. Use ~/abinit/abipy/ if None

  • force_reinstall – Allow overwrite pre-existent configuration files. By default, the function raises RuntimeError if configuration files are already present.