code: def run(self):
      seconds_until_clean = 5
  
      print(
          "Cleaning source directories in %d seconds..."
          % seconds_until_clean
      )
  
      time.sleep(seconds_until_clean)
  
      clean.run(self)
  
      shutil.rmtree(build_dir, ignore_errors=True)
  
      patterns = [
          "**/*.so",
          "**/*_wrap.cpp",
          "**/__pycache__/*.pyc",
          "**/__pycache__",
      ]
  
      for paths in (pathlib.Path(os.curdir).glob(p) for p in patterns):
          for path in paths:
              print("Deleting {}".format(path))
  
              if path.is_dir():
                  path.rmdir()
              else:
                  path.unlink()
  
imports: import multiprocessing
  import os
  import pathlib
  import platform
  import re
  import shutil
  import subprocess
  import sys
  import sysconfig
  import time
  import unittest
  import warnings
  from abc import ABC
  from setuptools import find_packages, setup, Command
  from setuptools.command.install import install
  from setuptools.extension import Extension
  import distutils
  from distutils.command.build import build
  from distutils.command.clean import clean
  from distutils import sysconfig
  from packaging import version
label_desc: Use image node_id 1 for calling the CleanTick obj's underlying member method code with example usage: obj.run() without return types