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
55except (AttributeError, ImportError):
58 CameraProperties =
None
59 RadiationModelError =
None
62 from .EnergyBalance
import EnergyBalanceModel, EnergyBalanceModelError
63except (AttributeError, ImportError):
65 EnergyBalanceModel =
None
66 EnergyBalanceModelError =
None
69 from .Visualizer
import Visualizer, VisualizerError
70except (AttributeError, ImportError):
73 VisualizerError =
None
76 from .SolarPosition
import SolarPosition, SolarPositionError
77except (AttributeError, ImportError):
80 SolarPositionError =
None
83 from .StomatalConductance
import (
84 StomatalConductanceModel,
85 StomatalConductanceModelError,
92except (AttributeError, ImportError):
94 StomatalConductanceModel =
None
95 StomatalConductanceModelError =
None
96 BWBCoefficients =
None
97 BBLCoefficients =
None
98 MOPTCoefficients =
None
99 BMFCoefficients =
None
100 BBCoefficients =
None
103 from .BoundaryLayerConductance
import (
104 BoundaryLayerConductanceModel,
105 BoundaryLayerConductanceModelError
107except (AttributeError, ImportError):
109 BoundaryLayerConductanceModel =
None
110 BoundaryLayerConductanceModelError =
None
113 from .PhotosynthesisModel
import PhotosynthesisModel, PhotosynthesisModelError
114except (AttributeError, ImportError):
116 PhotosynthesisModel =
None
117 PhotosynthesisModelError =
None
120 from .PlantArchitecture
import PlantArchitecture, PlantArchitectureError
121except (AttributeError, ImportError):
123 PlantArchitecture =
None
124 PlantArchitectureError =
None
125from .wrappers
import DataTypes
as DataTypes
126from .
import dev_utils
127from .exceptions
import (
130 HeliosInvalidArgumentError,
131 HeliosUUIDNotFoundError,
133 HeliosMemoryAllocationError,
134 HeliosGPUInitializationError,
135 HeliosPluginNotAvailableError,
_get_version()
Get version with multiple fallback strategies.