class_docstr: Simple object for checking whether an array lies
  between provided bounds.
  
  Parameter
  ---------
  lower: float or None
      minimum value
  upper: float or None
      maximum value
  
  Note
  -----
  Not all bounds are necessary (data can be partially bounded, or not at all actually)
class_docstr_tok: ["Simple","object","for","checking","whether","an","array","lies","between","provided","bounds",".","Parameter","--","--","--","--","-","lower",":","float","or","None","minimum","value","upper",":","float","or","None","maximum","value","Note","--","--","-","Not","all","bounds","are","necessary","(","data","can","be","partially","bounded",",","or","not","at","all","actually",")"]
code: def __init__(
      self, lower: tp.BoundValue = None, upper: tp.BoundValue = None
  ) -> None:
      self.bounds = (lower, upper)
  
imports: import os
  import sys
  import shutil
  import tempfile
  import subprocess
  from pathlib import Path
  import numpy
  from nevergrad.common import typing
label_desc: Use image node_id 1 to create a new BoundChecker object  with example: obj = BoundChecker(lower, upper)