parameters: (package_db)
return_statement: return tpls
docstring: Given the package database, extract the list of third-party libraries.
  
      This is achieved by building two sets: the set of trilinos package names,
      and the set of all required and optional dependencies.  The TPLs are the set
      that remains when you subtract the trilinos packages from the dependencies.
docstring_summary: Given the package database, extract the list of third-party libraries.
docstring_tokens: Given the package database extract the list of third - party libraries .
function: def extract_tpls(package_db):
      """
      Given the package database, extract the list of third-party libraries.
  
      This is achieved by building two sets: the set of trilinos package names,
      and the set of all required and optional dependencies.  The TPLs are the set
      that remains when you subtract the trilinos packages from the dependencies.
      """
      # Get the set of Trilinos package names (not IDs) and the set of all
      # dependencies
      trilinos_package_names = set()
      dependencies           = set()
      for package in package_db.values():
          trilinos_package_names.add(package["name"])
          dependencies.update(package["required_dep"])
          dependencies.update(package["optional_dep"])
  
      # Return the sorted TPLs
      tpls = list(dependencies.difference(trilinos_package_names))
      tpls.sort()
      return tpls
function_tokens: def extract_tpls ( package_db ) : # Get the set of Trilinos package names (not IDs) and the set of all # dependencies trilinos_package_names = set ( ) dependencies = set ( ) for package in package_db . values ( ) : trilinos_package_names . add ( package [ "name" ] ) dependencies . update ( package [ "required_dep" ] ) dependencies . update ( package [ "optional_dep" ] ) # Return the sorted TPLs tpls = list ( dependencies . difference ( trilinos_package_names ) ) tpls . sort ( ) return tpls