kqcircuits.util.library_helper
Helper module for building KLayout libraries.
Typical usage example:
from kqcircuits.elements.airbridges import Airbridge
from kqcircuits.util.library_helper import load_libraries
load_libraries(path=Airbridge.LIBRARY_PATH)
cell = Airbridge.create(layout, **kwargs)
- kqcircuits.util.library_helper.load_libraries(flush=False, path='')[source]
Load all KQCircuits libraries from the given path.
- Parameters:
flush – If True, old libraries will be deleted and new ones created. Otherwise old libraries will be used. (if old libraries exist)
path – path (relative to SRC_PATH) from which the pcell classes and cells are loaded to libraries
- Returns:
A dictionary of libraries that have been loaded, keys are library names and values are libraries.
- kqcircuits.util.library_helper.get_library_paths()[source]
Returns a list of library paths under kqcircuits.
- kqcircuits.util.library_helper.delete_all_libraries()[source]
Delete all KQCircuits libraries from KLayout memory.
- kqcircuits.util.library_helper.delete_library(name=None)[source]
Delete a KQCircuits library.
Calls library.delete() and removes the library from _kqc_libraries dict. Also deletes any libraries which have this library as a dependency.
- Parameters:
name – name of the library
- kqcircuits.util.library_helper.element_by_class_name(class_name: str, library_path: str = 'elements', library_name: str = 'Element Library')[source]
Find Element class by class name from a library
- Parameters:
class_name – Class name to look up
library_path – Path to pass to load_libraries
library_name – Name of the library
Returns: Class of the element, or None if the element is not in the library
- kqcircuits.util.library_helper.to_module_name(class_name=None)[source]
Converts class name to module name.
Converts PascalCase class name to module name with each word lowercase and separated by space.
- Parameters:
class_name – Class name.
- Returns:
A lowercase and spaced by word string.
- For example::
> module_name = _to_module_name(“QualityFactor”) > print(module_name) “quality_factor”
- kqcircuits.util.library_helper.to_library_name(class_name=None)[source]
Converts class name to library name.
Converts PascalCase class name to library name with each word titled and separated by space. Single letter words are attached to the following word.
- Parameters:
class_name – Class name.
- Returns:
A titled and spaced by word string which may be used as library name.
- For example::
> library_name = to_library_name(“QualityFactor”) > print(library_name) “Quality Factor”