code: def deterministic_PRNG(seed=0):
      """Context manager that handles random.seed without polluting global state.
  
      See issue #1255 and PR #1295 for details and motivation - in short,
      leaving the global pseudo-random number generator (PRNG) seeded is a very
      bad idea in principle, and breaks all kinds of independence assumptions
      in practice.
      """
      seed_all, restore_all = get_seeder_and_restorer(seed)
      seed_all()
      try:
          yield
      finally:
          restore_all()
  
file_path: catboost/contrib/python/hypothesis/py2/hypothesis/internal/entropy.py
imports: from __future__ import absolute_import, division, print_function
  import contextlib
  import random
  import sys
  from hypothesis.errors import InvalidArgument
  from hypothesis.internal.compat import integer_types
label_desc: Use image node_id 3 for calling a global function with example usage: deterministic_PRNG(seed) without return types