1"""
2yt is a toolkit for analyzing and visualizing volumetric data.
3
4* Website: https://yt-project.org
5* Documentation: https://yt-project.org/doc
6* Data hub: https://girder.hub.yt
7* Contribute: https://github.com/yt-project/yt
8
9"""
10__version__ = "4.0.1"
11
12import yt.units as units
13import yt.utilities.physical_constants as physical_constants
14from yt.data_objects.api import (
15    DatasetSeries,
16    ImageArray,
17    ParticleProfile,
18    Profile1D,
19    Profile2D,
20    Profile3D,
21    add_particle_filter,
22    create_profile,
23    particle_filter,
24)
25from yt.fields.api import (
26    DerivedField,
27    FieldDetector,
28    FieldInfoContainer,
29    ValidateDataField,
30    ValidateGridType,
31    ValidateParameter,
32    ValidateProperty,
33    ValidateSpatial,
34    add_field,
35    add_xray_emissivity_field,
36    derived_field,
37    field_plugins,
38)
39from yt.frontends.api import _frontend_container
40from yt.funcs import (
41    enable_plugins,
42    get_memory_usage,
43    get_pbar,
44    get_version_stack,
45    get_yt_version,
46    insert_ipython,
47    is_root,
48    is_sequence,
49    memory_checker,
50    only_on_root,
51    parallel_profile,
52    print_tb,
53    rootonly,
54    toggle_interactivity,
55)
56from yt.units import (
57    YTArray,
58    YTQuantity,
59    display_ytarray,
60    loadtxt,
61    savetxt,
62    uconcatenate,
63    ucross,
64    udot,
65    uhstack,
66    uintersect1d,
67    unorm,
68    ustack,
69    uunion1d,
70    uvstack,
71)
72from yt.units.unit_object import define_unit
73from yt.utilities.logger import set_log_level, ytLogger as mylog
74
75frontends = _frontend_container()
76
77import yt.visualization.volume_rendering.api as volume_rendering
78from yt.frontends.stream.api import hexahedral_connectivity
79from yt.frontends.ytdata.api import save_as_dataset
80from yt.loaders import simulation  # deprecated alias for load_simulation
81from yt.loaders import (
82    load,
83    load_amr_grids,
84    load_hexahedral_mesh,
85    load_octree,
86    load_particles,
87    load_sample,
88    load_simulation,
89    load_uniform_grid,
90    load_unstructured_mesh,
91)
92from yt.testing import run_nose
93from yt.units.unit_systems import UnitSystem, unit_system_registry
94
95# Import some helpful math utilities
96from yt.utilities.math_utils import ortho_find, periodic_position, quartiles
97from yt.utilities.parallel_tools.parallel_analysis_interface import (
98    communication_system,
99    enable_parallelism,
100    parallel_objects,
101)
102
103# Now individual component imports from the visualization API
104from yt.visualization.api import (
105    AxisAlignedSlicePlot,
106    FITSImageData,
107    FITSOffAxisProjection,
108    FITSOffAxisSlice,
109    FITSParticleProjection,
110    FITSProjection,
111    FITSSlice,
112    FixedResolutionBuffer,
113    LineBuffer,
114    LinePlot,
115    OffAxisProjectionPlot,
116    OffAxisSlicePlot,
117    ParticleImageBuffer,
118    ParticlePhasePlot,
119    ParticlePlot,
120    ParticleProjectionPlot,
121    PhasePlot,
122    ProfilePlot,
123    ProjectionPlot,
124    SlicePlot,
125    add_colormap,
126    apply_colormap,
127    make_colormap,
128    plot_2d,
129    scale_image,
130    show_colormaps,
131    write_bitmap,
132    write_image,
133    write_projection,
134)
135from yt.visualization.volume_rendering.api import (
136    ColorTransferFunction,
137    TransferFunction,
138    create_scene,
139    off_axis_projection,
140    volume_render,
141)
142
143#    TransferFunctionHelper, MultiVariateTransferFunction
144#    off_axis_projection
145
146
147def _check_deprecated_parameters():
148    from yt._maintenance.deprecation import issue_deprecation_warning
149    from yt.config import ytcfg
150
151    if ytcfg.get("yt", "load_field_plugins"):
152        issue_deprecation_warning(
153            "Found deprecated parameter 'load_field_plugins' in yt's configuration file.",
154            removal="4.1.0",
155        )
156
157
158_check_deprecated_parameters()
159