docstr: Returns a class representing a custom setup.py command that builds
  the C core of igraph.
  
  This is used in CI environments where we want to build the C core of
  igraph once and then build the Python interface for various Python
  versions without having to recompile the C core all the time.
  
  If is also used as a custom building block of `build_ext`.
docstr_tok: ["Returns","a","class","representing","a","custom","setup.py","command","that","builds","the","C","core","of","igraph",".","This","is","used","in","CI","environments","where","we","want","to","build","the","C","core","of","igraph","once","and","then","build","the","Python","interface","for","various","Python","versions","without","having","to","recompile","the","C","core","all","the","time",".","If","is","also","used","as","a","custom","building","block","of","`","build_ext","`","."]
code: def build_c_core(self) -> Command:
      """Returns a class representing a custom setup.py command that builds
      the C core of igraph.
  
      This is used in CI environments where we want to build the C core of
      igraph once and then build the Python interface for various Python
      versions without having to recompile the C core all the time.
  
      If is also used as a custom building block of `build_ext`.
      """
  
      buildcfg = self
  
      class build_c_core(Command):
          description = "Compile the C core of igraph only"
          user_options = []
  
          def initialize_options(self):
              pass
  
          def finalize_options(self):
              pass
  
          def run(self):
              buildcfg.c_core_built = (
                  buildcfg.compile_igraph_from_vendor_source()
              )
  
      return build_c_core
  
imports: import os
  import platform
  import sys
  from setuptools import find_packages, setup, Command, Extension
  import glob
  import shlex
  import shutil
  import subprocess
  import sysconfig
  from contextlib import contextmanager
  from pathlib import Path
  from select import select
  from shutil import which
  from time import sleep
  from typing import List, Iterable, Iterator, Optional, Tuple, TypeVar, Union
label_desc: Use image node_id 3 for calling the BuildConfiguration obj's underlying member method code with example usage: obj.build_c_core() and returns: build_c_core