1from .Global
import Global
2from .Logger
import Logger
3from .Context
import Context, PrimitiveType
7 """Get version with multiple fallback strategies."""
9 from ._version
import version
16 from setuptools_scm
import get_version
17 from pathlib
import Path
18 return get_version(root=Path(__file__).parent.parent)
19 except (ImportError, LookupError):
25 from importlib.metadata
import version
28 from importlib_metadata
import version
29 return version(
'pyhelios')
39 from .assets
import initialize_asset_paths
40 initialize_asset_paths()
43 logging.getLogger(__name__).warning(f
"Failed to initialize asset paths: {e}")
47 from .WeberPennTree
import WeberPennTree, WPTType
48except (AttributeError, ImportError):
54 from .RadiationModel
import RadiationModel, RadiationModelError, CameraProperties, CameraMetadata
55except (AttributeError, ImportError):
58 CameraProperties =
None
60 RadiationModelError =
None
63 from .EnergyBalance
import EnergyBalanceModel, EnergyBalanceModelError
64except (AttributeError, ImportError):
66 EnergyBalanceModel =
None
67 EnergyBalanceModelError =
None
70 from .Visualizer
import Visualizer, VisualizerError
71except (AttributeError, ImportError):
74 VisualizerError =
None
77 from .SolarPosition
import SolarPosition, SolarPositionError
78except (AttributeError, ImportError):
81 SolarPositionError =
None
84 from .StomatalConductance
import (
85 StomatalConductanceModel,
86 StomatalConductanceModelError,
93except (AttributeError, ImportError):
95 StomatalConductanceModel =
None
96 StomatalConductanceModelError =
None
97 BWBCoefficients =
None
98 BBLCoefficients =
None
99 MOPTCoefficients =
None
100 BMFCoefficients =
None
101 BBCoefficients =
None
104 from .BoundaryLayerConductance
import (
105 BoundaryLayerConductanceModel,
106 BoundaryLayerConductanceModelError
108except (AttributeError, ImportError):
110 BoundaryLayerConductanceModel =
None
111 BoundaryLayerConductanceModelError =
None
114 from .PhotosynthesisModel
import PhotosynthesisModel, PhotosynthesisModelError
115except (AttributeError, ImportError):
117 PhotosynthesisModel =
None
118 PhotosynthesisModelError =
None
121 from .PlantArchitecture
import PlantArchitecture, PlantArchitectureError
122except (AttributeError, ImportError):
124 PlantArchitecture =
None
125 PlantArchitectureError =
None
128 from .LeafOptics
import LeafOptics, LeafOpticsError, LeafOpticsProperties
129except (AttributeError, ImportError):
132 LeafOpticsError =
None
133 LeafOpticsProperties =
None
134from .wrappers
import DataTypes
as DataTypes
135from .
import dev_utils
136from .exceptions
import (
139 HeliosInvalidArgumentError,
140 HeliosUUIDNotFoundError,
142 HeliosMemoryAllocationError,
143 HeliosGPUInitializationError,
144 HeliosPluginNotAvailableError,
_get_version()
Get version with multiple fallback strategies.