1"""Module to generate stencil kernels in C or CUDA using sympy expressions and call them as Python functions""" 

2from . import sympy_gmpy_bug_workaround # NOQA 

3from . import fd 

4from . import stencil as stencil 

5from .assignment import Assignment, assignment_from_stencil 

6from .data_types import TypedSymbol 

7from .datahandling import create_data_handling 

8from .display_utils import show_code, get_code_obj, get_code_str, to_dot 

9from .field import Field, FieldType, fields 

10from .kernel_decorator import kernel 

11from .kernelcreation import create_indexed_kernel, create_kernel, create_staggered_kernel 

12from .simp import AssignmentCollection 

13from .slicing import make_slice 

14from .sympyextensions import SymbolCreator 

15from .spatial_coordinates import (x_, x_staggered, x_staggered_vector, x_vector, 

16 y_, y_staggered, z_, z_staggered) 

17 

18try: 

19 import pystencils_autodiff 

20 autodiff = pystencils_autodiff 

21except ImportError: 

22 pass 

23 

24 

25__all__ = ['Field', 'FieldType', 'fields', 

26 'TypedSymbol', 

27 'make_slice', 

28 'create_kernel', 'create_indexed_kernel', 'create_staggered_kernel', 

29 'show_code', 'to_dot', 'get_code_obj', 'get_code_str', 

30 'AssignmentCollection', 

31 'Assignment', 

32 'assignment_from_stencil', 

33 'SymbolCreator', 

34 'create_data_handling', 

35 'kernel', 

36 'x_', 'y_', 'z_', 

37 'x_staggered', 'y_staggered', 'z_staggered', 

38 'x_vector', 'x_staggered_vector', 

39 'fd', 

40 'stencil'] 

41 

42from ._version import get_versions 

43__version__ = get_versions()['version'] 

44del get_versions