1from .Global
import Global
2from .Logger
import Logger
3from .Context
import Context, PrimitiveType, VertexNormalSource, VertexWeldMode
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, WeberPennTreeParameters
48except (AttributeError, ImportError):
52 WeberPennTreeParameters =
None
55 from .RadiationModel
import (
62except (AttributeError, ImportError):
65 CameraProperties =
None
67 RadiationModelError =
None
68 SIFCameraProperties =
None
71 from .EnergyBalance
import EnergyBalanceModel, EnergyBalanceModelError
72except (AttributeError, ImportError):
74 EnergyBalanceModel =
None
75 EnergyBalanceModelError =
None
78 from .Visualizer
import Visualizer, VisualizerError
79except (AttributeError, ImportError):
82 VisualizerError =
None
85 from .SolarPosition
import SolarPosition, SolarPositionError
86except (AttributeError, ImportError):
89 SolarPositionError =
None
92 from .StomatalConductance
import (
93 StomatalConductanceModel,
94 StomatalConductanceModelError,
101except (AttributeError, ImportError):
103 StomatalConductanceModel =
None
104 StomatalConductanceModelError =
None
105 BWBCoefficients =
None
106 BBLCoefficients =
None
107 MOPTCoefficients =
None
108 BMFCoefficients =
None
109 BBCoefficients =
None
112 from .BoundaryLayerConductance
import (
113 BoundaryLayerConductanceModel,
114 BoundaryLayerConductanceModelError
116except (AttributeError, ImportError):
118 BoundaryLayerConductanceModel =
None
119 BoundaryLayerConductanceModelError =
None
122 from .PlantHydraulics
import (
123 PlantHydraulicsModel,
124 PlantHydraulicsModelError,
125 PlantHydraulicsModelCoefficients,
126 HydraulicConductance,
127 HydraulicCapacitance,
129except (AttributeError, ImportError):
131 PlantHydraulicsModel =
None
132 PlantHydraulicsModelError =
None
133 PlantHydraulicsModelCoefficients =
None
134 HydraulicConductance =
None
135 HydraulicCapacitance =
None
138 from .PhotosynthesisModel
import (
140 PhotosynthesisModelError,
141 AVAILABLE_C4_SPECIES,
143except (AttributeError, ImportError):
145 PhotosynthesisModel =
None
146 PhotosynthesisModelError =
None
147 AVAILABLE_C4_SPECIES = []
150 from .PlantArchitecture
import PlantArchitecture, PlantArchitectureError
151except (AttributeError, ImportError):
153 PlantArchitecture =
None
154 PlantArchitectureError =
None
157from .plant_architecture_params
import (
160 RandomParameterFloat,
167 InflorescenceParameters,
170 CarbohydrateParameters,
172 LEAF_EXPANSION_RATE_UNSET,
176 from .LeafOptics
import LeafOptics, LeafOpticsError, LeafOpticsProperties, LeafOpticsProperties_Nauto
177except (AttributeError, ImportError):
180 LeafOpticsError =
None
181 LeafOpticsProperties =
None
182 LeafOpticsProperties_Nauto =
None
185 from .LiDARCloud
import (
186 LiDARCloud, LiDARError, ScanPattern,
187 ScanMode, ReturnMode, SingleReturnSelection, RisleyPrism,
189except (AttributeError, ImportError):
196 SingleReturnSelection =
None
200 from .ParameterOptimization
import (
201 ParameterOptimization, ParameterOptimizationError, OptimizationResult,
202 ConstrainedResult, make_constrained_simulation,
203 Parameter, ParameterType,
204 GeneticAlgorithm, BayesianOptimization, CMAES, Adam, LBFGS, BOBYQA, SLSQP,
205 BLXAlphaCrossover, BLXPCACrossover,
206 PerGeneMutation, IsotropicMutation, HybridMutation,
208except (AttributeError, ImportError):
210 ParameterOptimization =
None
211 ParameterOptimizationError =
None
212 OptimizationResult =
None
213 ConstrainedResult =
None
214 make_constrained_simulation =
None
217 GeneticAlgorithm =
None
218 BayesianOptimization =
None
224 BLXAlphaCrossover =
None
225 BLXPCACrossover =
None
226 PerGeneMutation =
None
227 IsotropicMutation =
None
228 HybridMutation =
None
230from .wrappers
import DataTypes
as DataTypes
231from .
import dev_utils
232from .
import annotation
233from .exceptions
import (
236 HeliosInvalidArgumentError,
237 HeliosUUIDNotFoundError,
239 HeliosMemoryAllocationError,
240 HeliosGPUInitializationError,
241 HeliosPluginNotAvailableError,
_get_version()
Get version with multiple fallback strategies.