class_docstr: Thread-local global parameters.
  
  Explanation
  ===========
  
  This class generates thread-local container for SymPy's global parameters.
  Every global parameters must be passed as keyword argument when generating
  its instance.
  A variable, `global_parameters` is provided as default instance for this class.
  
  WARNING! Although the global parameters are thread-local, SymPy's cache is not
  by now.
  This may lead to undesired result in multi-threading operations.
  
  Examples
  ========
  
  >>> from sympy.abc import x
  >>> from sympy.core.cache import clear_cache
  >>> from sympy.core.parameters import global_parameters as gp
  
  >>> gp.evaluate
  True
  >>> x+x
  2*x
  
  >>> log = []
  >>> def f():
  ...     clear_cache()
  ...     gp.evaluate = False
  ...     log.append(x+x)
  ...     clear_cache()
  >>> import threading
  >>> thread = threading.Thread(target=f)
  >>> thread.start()
  >>> thread.join()
  
  >>> print(log)
  [x + x]
  
  >>> gp.evaluate
  True
  >>> x+x
  2*x
  
  References
  ==========
  
  .. [1] https://docs.python.org/3/library/threading.html
class_docstr_tok: ["Thread-local","global","parameters",".","Explanation","===========","This","class","generates","thread-local","container","for","SymPy","'s","global","parameters",".","Every","global","parameters","must","be","passed","as","keyword","argument","when","generating","its","instance",".","A","variable",",","`","global_parameters","`","is","provided","as","default","instance","for","this","class",".","WARNING","!","Although","the","global","parameters","are","thread-local",",","SymPy","'s","cache","is","not","by","now",".","This","may","lead","to","undesired","result","in","multi-threading","operations",".","Examples","========",">",">",">","from","sympy.abc","import","x",">",">",">","from","sympy.core.cache","import","clear_cache",">",">",">","from","sympy.core.parameters","import","global_parameters","as","gp",">",">",">","gp.evaluate","True",">",">",">","x+x","2","*","x",">",">",">","log","=","[","]",">",">",">","def","f","(",")",":","...","clear_cache","(",")","...","gp.evaluate","=","False","...","log.append","(","x+x",")","...","clear_cache","(",")",">",">",">","import","threading",">",">",">","thread","=","threading.Thread","(","target=f",")",">",">",">","thread.start","(",")",">",">",">","thread.join","(",")",">",">",">","print","(","log",")","[","x","+","x","]",">",">",">","gp.evaluate","True",">",">",">","x+x","2","*","x","References","==========","..","[","1","]","https",":","\/\/docs.python.org\/3\/library\/threading.html"]
code: def __init__(self, **kwargs):
      self.__dict__.update(kwargs)
  
file_path: sympy/sympy/core/parameters.py
imports: from .cache import clear_cache
  from contextlib import contextmanager
  from threading import local
label_desc: Use image node_id 1 to create a new _global_parameters object from inherited base classes: local with example: obj = _global_parameters()