code: def np_array(active=True):
      """Returns an activated/deactivated NumPy-array scope to be used in 'with' statement
      and captures code that needs the NumPy-array semantics.
  
      Currently, this is used in Gluon to enforce array creation in `Block`s as type
      `mxnet.numpy.ndarray`, instead of `mx.nd.NDArray`.
  
      It is recommended to use the decorator `use_np_array` to decorate the classes
      that need this semantics, instead of using this function in a `with` statement
      unless you know exactly what has been scoped by this semantics.
  
      Please note that this is designed as an infrastructure for the incoming
      MXNet-NumPy operators. Legacy operators registered in the modules
      `mx.nd` and `mx.sym` are not guaranteed to behave like their counterparts
      in NumPy even within this scope.
  
      Parameters
      ----------
      active : bool
          Indicates whether to activate NumPy-array semantics.
  
      Returns
      -------
      _NumpyShapeScope
          A scope object for wrapping the code w/ or w/o NumPy-shape semantics.
      """
      return _NumpyArrayScope(active)
  
imports: import ctypes
  import functools
  import inspect
  import threading
  import tempfile
  import platform
  from contextlib import contextmanager
  from struct import calcsize
  from .base import _LIB, check_call, c_str, py_str, numeric_types, integer_types, long, _MAX_VALUE_64_BIT_UNSIGNED_, _MAX_VALUE_64_BIT_SIGNED_, _MAX_VALUE_FLOAT32_REPRESENT_
label_desc: Use image node_id 9 for calling a global function with example usage: np_array(active) and returns: _NumpyArrayScope