code: def __init__(self, version, args):
      self.version = version
      self.args = args
      # installation directory
      self.install_dir = os.path.join(
          os.path.join(args.base_directory, self.library.lower()),
          version,
      )
      # source file
      self.src_dir = os.path.join(args.base_directory, "src")
      self.src_file = os.path.join(
          self.src_dir, self.src_template.format(version)
      )
      # build directory (removed after install)
      self.build_dir = os.path.join(
          self.src_dir, self.build_template.format(version)
      )
      self.system = args.system
  
imports: from __future__ import print_function
  import argparse
  from datetime import datetime
  import logging
  import os
  import re
  import shutil
  import subprocess
  import sys
  import tarfile
label_desc: Use image node_id 1 to create a new AbstractBuilder object from inherited base classes: object with example: obj = AbstractBuilder(version, args)