code: def open_tablebase(directory: PathLike, *, libgtb: Any = None, LibraryLoader: Any = ctypes.cdll) -> Union[NativeTablebase, PythonTablebase]:
      
      try:
          if LibraryLoader:
              return open_tablebase_native(directory, libgtb=libgtb, LibraryLoader=LibraryLoader)
      except (OSError, RuntimeError) as err:
          LOGGER.info("Falling back to pure Python tablebase: %r", err)
  
      tables = PythonTablebase()
      tables.add_directory(directory)
      return tables
docs: Opens a collection of tables for probing.
  
      First native access via the shared library libgtb is tried. You can
      optionally provide a specific library name or a library loader.
      The shared library has global state and caches, so only one instance can
      be open at a time.
  
      Second, pure Python probing code is tried.