geoh5py.shared package#
Subpackages#
- geoh5py.shared.concatenation package- Submodules
- geoh5py.shared.concatenation.concatenated module
- geoh5py.shared.concatenation.concatenator module- Concatenator- Concatenator.add_children()
- Concatenator.add_save_concatenated()
- Concatenator.attributes_keys
- Concatenator.concat_attr_str
- Concatenator.concatenated_attributes
- Concatenator.concatenated_object_ids
- Concatenator.copy()
- Concatenator.data
- Concatenator.delete_index_data()
- Concatenator.drillholes_table_from_data_name
- Concatenator.drillholes_tables
- Concatenator.fetch_concatenated_data_index()
- Concatenator.fetch_concatenated_objects()
- Concatenator.fetch_index()
- Concatenator.fetch_start_index()
- Concatenator.fetch_values()
- Concatenator.get_concatenated_attributes()
- Concatenator.index
- Concatenator.property_group_ids
- Concatenator.remove_children()
- Concatenator.remove_entity()
- Concatenator.save_attribute()
- Concatenator.update_array_attribute()
- Concatenator.update_attributes()
- Concatenator.update_concatenated_attributes()
- Concatenator.update_data_index()
 
 
- geoh5py.shared.concatenation.data module
- geoh5py.shared.concatenation.drillhole module- ConcatenatedDrillhole- ConcatenatedDrillhole.depth_
- ConcatenatedDrillhole.format_survey_values()
- ConcatenatedDrillhole.from_
- ConcatenatedDrillhole.post_processing()
- ConcatenatedDrillhole.to_
- ConcatenatedDrillhole.validate_association()
- ConcatenatedDrillhole.validate_depth_data()
- ConcatenatedDrillhole.validate_interval_data()
 
 
- geoh5py.shared.concatenation.drillholes_group_table module- DrillholesGroupTable- DrillholesGroupTable.add_values_to_property_group()
- DrillholesGroupTable.association
- DrillholesGroupTable.depth_table
- DrillholesGroupTable.depth_table_by_name()
- DrillholesGroupTable.index_by_drillhole
- DrillholesGroupTable.name
- DrillholesGroupTable.nan_value_from_name()
- DrillholesGroupTable.parent
- DrillholesGroupTable.properties
- DrillholesGroupTable.properties_type
- DrillholesGroupTable.property_group_type
- DrillholesGroupTable.property_groups
 
 
- geoh5py.shared.concatenation.object module
- geoh5py.shared.concatenation.property_group module
- Module contents
 
- geoh5py.shared.conversion package
- geoh5py.shared.merging package
Submodules#
geoh5py.shared.entity module#
- class geoh5py.shared.entity.Entity(*, entity_type: shared.EntityType | None = None, allow_delete: bool = True, allow_move: bool = True, allow_rename: bool = True, clipping_ids: list[uuid.UUID] | None = None, metadata: dict | None = None, name: str | None = None, on_file: bool = False, partially_hidden: bool = False, parent: EntityContainer | None = None, public: bool = True, uid: uuid.UUID | None = None, visible: bool = True, **kwargs)#
- Bases: - ABC- Base entity class for Objects, Groups and Data. - Parameters:
- entity_type – Entity type registered by the Workspace. 
- allow_delete – Entity can be deleted from the workspace. 
- allow_move – Entity can change - parent
- allow_rename – Entity can change name 
- clipping_ids – List of clipping uuids 
- metadata – Metadata attached to the entity. 
- name – Name of the entity 
- on_file – Whether this Entity is already stored on - h5file.
- partially_hidden – Whether this Entity is partially hidden. 
- parent – Parent entity. 
- public – Whether this Entity is accessible in the workspace tree and other parts of the user interface in ANALYST. 
- uid – Unique identifier of the entity. 
- visible – Whether the Entity is visible in camera (checked in ANALYST object tree). 
 
 - property allow_delete: bool#
- boolEntity can be deleted from the workspace.
 - property allow_rename: bool#
- boolEntity can change name
 - property attribute_map: dict#
- dictCorrespondence map between property names used in geoh5py and geoh5.
 - property clipping_ids: list[UUID] | None#
- List of clipping uuids. 
 - property coordinate_reference_system: dict#
- Coordinate reference system attached to the entity. 
 - classmethod create(workspace, **kwargs)#
- Function to create an entity. - Parameters:
- workspace – Workspace to be added to. 
- kwargs – List of keyword arguments defining the properties of a class. 
 
- Return entity:
- Registered Entity to the workspace. 
 
 - abstract classmethod default_type_uid() → UUID | None#
- Abstract method to return the default type uid for the class. 
 - abstract property entity_type#
- Abstract property to get the entity type of the entity. 
 - classmethod find_or_create_type(workspace: Workspace, **kwargs) → EntityType#
- Find or create a type instance for a given object class. - Parameters:
- workspace – Target - Workspace.
- Returns:
- The ObjectType instance for the given object class. 
 
 - classmethod fix_up_name(name: str) → str#
- If the given name is not a valid one, transforms it to make it valid :return: a valid name built from the given name. It simply returns the given name if it was already valid. 
 - abstract mask_by_extent(extent: ndarray, inverse: bool = False) → ndarray | None#
- Get a mask array from coordinate extent. - Parameters:
- extent – Bounding box extent coordinates defined by either: - obj:numpy.ndarray of shape (2, 3) 3D coordinate: [[west, south, bottom], [east, north, top]] - obj:numpy.ndarray of shape (2, 2) Horizontal coordinates: [[west, south], [east, north]]. 
- inverse – Return the complement of the mask extent. Default to False 
 
- Returns:
- Array of bool defining the vertices or cell centers within the mask extent, or None if no intersection. 
 
 - property metadata: dict | None#
- Metadata attached to the entity. To update the metadata, use the setter method. To remove the metadata, set it to None. 
 - property name: str#
- strName of the entity
 - property parent#
 - property partially_hidden: bool#
- Whether this Entity is partially hidden. 
 - property public: bool#
- Whether this Entity is accessible in the workspace tree and other parts
- of the the user interface in ANALYST. 
 
 - property uid: UUID#
 - update_metadata(value: dict)#
- Update the metadata of the entity. - Parameters:
- value – Metadata to update. 
 
 - abstract validate_entity_type(entity_type)#
- Validate the entity type. 
 - static validate_metadata(value) → dict | None#
 - property visible: bool#
- Whether the Entity is visible in camera (checked in ANALYST object tree). 
 
geoh5py.shared.entity_container module#
- class geoh5py.shared.entity_container.EntityContainer(**kwargs)#
- Bases: - Entity- Base Entity class - add_children(children: Entity | PropertyGroup | list[Entity | PropertyGroup])#
- Parameters:
- children – Add a list of entities as - children
 
 - add_comment(comment: str, author: str | None = None)#
- Add text comment to an object. - Parameters:
- comment – Text to be added as comment. 
- author – Author’s name or - contributors.
 
 
 - add_file(file: str | Path | bytes, name: str = 'filename.dat')#
- Add a file to the object or group stored as bytes on a FilenameData - Parameters:
- file – File name with path to import. 
- name – Name of the file in the workspace. 
 
 
 - property children#
- listChildren entities in the workspace tree
 - property comments#
- Fetch a - CommentsDataentity from children.
 - abstract copy(parent=None, *, copy_children: bool = True, clear_cache: bool = False, **kwargs)#
- Function to copy an entity to a different parent entity. - Parameters:
- parent – Target parent to copy the entity under. Copied to current - parentif None.
- copy_children – (Optional) Create copies of all children entities along with it. 
- clear_cache – Clear array attributes after copy to minimize the memory footprint of the workspace. 
- kwargs – Additional keyword arguments to pass to the copy constructor. 
 
- Return entity:
- Registered Entity to the workspace. 
 
 - copy_from_extent(extent: ndarray, parent=None, *, copy_children: bool = True, clear_cache: bool = False, inverse: bool = False, **kwargs) → Entity | None#
- Function to copy an entity to a different parent entity. - Parameters:
- extent – Bounding box extent requested for the input entity, as supplied for - mask_by_extent().
- parent – Target parent to copy the entity under. Copied to current - parentif None.
- copy_children – (Optional) Create copies of all children entities along with it. 
- clear_cache – Clear array attributes after copy. 
- inverse – Keep the inverse (clip) of the extent selection. 
- kwargs – Additional keyword arguments to pass to the copy constructor. 
 
- Return entity:
- Registered Entity to the workspace. 
 
 - classmethod default_type_uid() → UUID | None#
- Default uuid for the entity type. 
 - get_entity(name: str | UUID) → list[Entity | None]#
- Get a child - Databy name.- Parameters:
- name – Name of the target child data 
- entity_type – Sub-select entities based on type. 
 
- Returns:
- A list of children Data objects 
 
 - get_entity_list(entity_type=<class 'abc.ABC'>) → list[str]#
- Get a list of names of all children - Data.- Parameters:
- entity_type – Option to sub-select based on type. 
- Returns:
- List of names of data associated with the object. 
 
 - remove_children(children: list[shared.Entity | PropertyGroup])#
- Remove children from the list of children entities. - Parameters:
- children – List of entities 
 - Warning - Removing a child entity without re-assigning it to a different parent may cause it to become inactive. Inactive entities are removed from the workspace by - remove_none_referents().
 
geoh5py.shared.entity_type module#
- class geoh5py.shared.entity_type.EntityType(workspace: Workspace, *, uid: uuid.UUID | None = None, description: str | None = 'Entity', name: str = 'Entity', on_file: bool = False, **_)#
- Bases: - ABC- The base class for all entity types. - Parameters:
- workspace – The workspace to associate the entity type with. 
- uid – The unique identifier of the entity type. 
- description – The description of the entity type. 
- name – The name of the entity type. 
- on_file – Return True if the entity is on file. 
 
 - property attribute_map: dict[str, str]#
- Correspondence map between property names used in geoh5py and geoh5. 
 - classmethod convert_kwargs(kwargs: dict[str, Any]) → dict[str, Any]#
- Convert the kwargs to the geoh5py attribute names. - Parameters:
- kwargs – The kwargs to convert. 
- Returns:
- The converted kwargs. 
 
 - copy(**kwargs)#
- Copy this entity type to another workspace. 
 - classmethod create_custom(workspace: Workspace, **kwargs)#
- WILL BE DEPRECATED IN 10.0.0 - Creates a new instance of GroupType for an unlisted custom Group type with a new auto-generated UUID. 
 - property description: str | None#
- The description of the entity type. 
 - classmethod find(workspace: Workspace, type_uid: uuid.UUID) → EntityTypeT | None#
- Finds in the given Workspace the EntityType with the given UUID for this specific EntityType implementation class. - Returns:
- EntityType of None 
 
 - classmethod find_or_create(workspace: Workspace, uid: uuid.UUID | None = None, entity_class: type[Entity] | None = None, **kwargs)#
- Find or creates an EntityType with given uid that matches the given Group implementation class. - It is expected to have a single instance of EntityType in the Workspace for each concrete Entity class. - To find an object, the kwargs must contain an existing ‘uid’ keyword, or a ‘entity_class’ keyword, containing an object class. - Parameters:
- workspace – An active Workspace class 
- uid – The unique identifier of the entity type. 
- entity_class – The class of the entity. 
- kwargs – The attributes of the entity type. 
 
- Returns:
- EntityType 
 
 - property name: str#
- The name of the entity type. 
 - property on_file: bool#
- Return True if Entity already present in the workspace. 
 - property uid: UUID#
- The unique identifier of an entity, either as stored in geoh5 or generated in - uuid4()format.
 
geoh5py.shared.exceptions module#
- exception geoh5py.shared.exceptions.AggregateValidationError(name: str, value: list[BaseValidationError])#
- Bases: - BaseValidationError- classmethod message(name, value, validation=None)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.AssociationValidationError(name: str, value: Entity | PropertyGroup | UUID, validation: Entity | Workspace)#
- Bases: - BaseValidationError- Error on association between child and parent entity validation. - classmethod message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.AtLeastOneValidationError(name: str, value: list[str])#
- Bases: - BaseValidationError- classmethod message(name, value, validation=None)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.BaseValidationError#
- Bases: - ABC,- Exception- Base class for custom exceptions. - abstract classmethod message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.Geoh5FileClosedError#
- Bases: - ABC,- Exception- Error for closed geoh5 file. 
- exception geoh5py.shared.exceptions.InCollectionValidationError(name: str, value: list[str])#
- Bases: - BaseValidationError- collection = 'Collection'#
 - item = 'data'#
 - classmethod message(name, value, validation=None)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.JSONParameterValidationError(name: str, err: str)#
- Bases: - Exception- Error on uuid validation. - classmethod message(name, err)#
 
- exception geoh5py.shared.exceptions.OptionalValidationError(name: str, value: Any | None, validation: bool)#
- Bases: - BaseValidationError- Error if None value provided to non-optional parameter. - classmethod message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.PropertyGroupValidationError(name: str, value: PropertyGroup, validation: list[str])#
- Bases: - BaseValidationError- Error on property group validation. - classmethod message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.RequiredFormMemberValidationError(name: str, value: list[str])#
- Bases: - InCollectionValidationError- collection = 'Form'#
 - item = 'member'#
 
- exception geoh5py.shared.exceptions.RequiredObjectDataValidationError(name: str, value: list[tuple[str, str]])#
- Bases: - BaseValidationError- classmethod message(name, value, validation=None)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.RequiredUIJsonParameterValidationError(name: str, value: list[str])#
- Bases: - InCollectionValidationError- collection = 'UIJson'#
 - item = 'parameter'#
 
- exception geoh5py.shared.exceptions.RequiredValidationError(name: str)#
- Bases: - BaseValidationError- classmethod message(name, value=None, validation=None)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.RequiredWorkspaceObjectValidationError(name: str, value: list[str])#
- Bases: - InCollectionValidationError- collection = 'Workspace'#
 - item = 'object'#
 
- exception geoh5py.shared.exceptions.ShapeValidationError(name: str, value: tuple[int, ...], validation: tuple[int, ...] | str)#
- Bases: - BaseValidationError- Error on shape validation. - static message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.TypeUIDValidationError(name: str, value, validation: list[str])#
- Bases: - BaseValidationError- Error on type uid validation. - classmethod message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.TypeValidationError(name: str, value: str, validation: str | list[str])#
- Bases: - BaseValidationError- Error on type validation. - static message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.UIJsonFormatError(name, msg)#
- Bases: - BaseValidationError- classmethod message(name, value, validation)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.UUIDValidationError(name: str, value: str)#
- Bases: - BaseValidationError- Error on uuid string validation. - static message(name, value, validation=None)#
- Builds custom error message. 
 
- exception geoh5py.shared.exceptions.ValueValidationError(name: str, value: Any, validation: list[Any])#
- Bases: - BaseValidationError- Error on value validation. - static message(name, value, validation)#
- Builds custom error message. 
 
- geoh5py.shared.exceptions.iterable(value: Any, checklen: bool = False) → bool#
- Checks if object is iterable. - Parameters#- value : Object to check for iterableness. checklen : Restrict objects with __iter__ method to len > 1. - Returns#- True if object has __iter__ attribute but is not string or dict type. 
- geoh5py.shared.exceptions.iterable_message(valid: list[Any] | None) → str#
- Append possibly iterable valid: “Must be (one of): {valid}.”. 
geoh5py.shared.utils module#
- class geoh5py.shared.utils.SetDict(**kwargs)#
- Bases: - dict- make_set(value)#
 - update([E, ]**F) → None. Update D from dict/iterable E and F.#
- If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k] 
 
- geoh5py.shared.utils.are_objects_similar(obj1, obj2, ignore: list[str] | None)#
- Compare two objects to see if they are similar. This is a shallow comparison. - Parameters:
- obj1 – The first object. 
- obj2 – The first object. 
- ignore – List of attributes to ignore. 
 
- Returns:
- If attributes similar or not. 
 
- geoh5py.shared.utils.array_is_colour(values: ndarray) → bool#
- Check if the values are RGB or RGBA. The function does not consider the type as we are formatting it. - Parameters:
- values – The values to check. 
- Returns:
- True if the values are RGB or RGBA. 
 
- geoh5py.shared.utils.as_float_if_isnumeric(value: str) → float | str#
- Convert bytes to string 
- geoh5py.shared.utils.as_str_if_utf8_bytes(value) → str#
- Convert bytes to string 
- geoh5py.shared.utils.as_str_if_uuid(value: UUID | Any) → str | Any#
- Convert - UUIDto string used in geoh5.
- geoh5py.shared.utils.bool_value(value: int8) → bool#
- Convert logical int8 to bool. 
- geoh5py.shared.utils.box_intersect(extent_a: ndarray, extent_b: ndarray) → bool#
- Compute the intersection of two axis-aligned bounding extents defined by their arrays of minimum and maximum bounds in N-D space. - Parameters:
- extent_a – First extent or shape (2, N) 
- extent_b – Second extent or shape (2, N) 
 
- Returns:
- Logic if the box extents intersect along all dimensions. 
 
- geoh5py.shared.utils.clear_array_attributes(entity: Entity, recursive: bool = False)#
- Clear all stashed values of attributes from an entity to free up memory. - Parameters:
- entity – Entity to clear attributes from. 
- recursive – Clear attributes from children entities. 
 
 
- geoh5py.shared.utils.compare_arrays(object_a, object_b, attribute: str, decimal: int = 6)#
- Utility to compare array properties from two Entities - Parameters:
- object_a – First Entity 
- object_b – Second Entity 
- attribute – Attribute to compare 
- decimal – Decimal precision for comparison 
 
 
- geoh5py.shared.utils.compare_bytes(object_a, object_b)#
- geoh5py.shared.utils.compare_entities(object_a, object_b, ignore: list[str] | None = None, decimal: int = 6) → None#
- geoh5py.shared.utils.compare_floats(object_a, object_b, attribute: str, decimal: int = 6)#
- geoh5py.shared.utils.compare_list(object_a, object_b, attribute: str, ignore: list[str] | None)#
- geoh5py.shared.utils.copy_no_reference(values: dict) → dict#
- Copy a dictionary without references to objects UUID. - Parameters:
- values – The dictionary to copy. 
- Returns:
- The copied dictionary. 
 
- geoh5py.shared.utils.decode_byte_array(values: ndarray, data_type: type) → array#
- Decode a byte array to an array of a given data type. - Parameters:
- values – The byte array to decode. 
- data_type – The data type to convert the values to. 
 
- Returns:
- The decoded array. 
 
- geoh5py.shared.utils.dict_mapper(val, string_funcs: list[Callable], *args, omit: dict | None = None)#
- Recursion through nested dictionaries and applies mapping functions to values. - Parameters:
- val – Value (could be another dictionary) to apply transform functions. 
- string_funcs – Functions to apply on values within the input dictionary. 
- omit – Dictionary of functions to omit. 
 
- Return val:
- Transformed values 
 
- geoh5py.shared.utils.dip_azimuth_to_vector(dip: float | ndarray, azimuth: float | ndarray) → ndarray#
- Convert dip and azimuth to a unit vector. - Parameters:
- dip – The dip angle in degree from horizontal (positive up). 
- azimuth – The azimuth angle in degree from North (clockwise). 
 
- Returns:
- The unit vector. 
 
- geoh5py.shared.utils.dip_points(points: ndarray, dip: float, rotation: float = 0) → ndarray#
- Rotate points about the x-axis by the dip angle and then about the z-axis by the rotation angle. :param points: an array of points to rotate :param dip: the dip angle in radians :param rotation: the rotation angle in radians :return: the rotated points 
- geoh5py.shared.utils.ensure_uuid(value: UUID | str) → UUID#
- Ensure that the value is a UUID. - If not, it raises a type error. - Parameters:
- value – The value to ensure is a UUID. 
- Returns:
- The verified UUID. 
 
- geoh5py.shared.utils.entity2uuid(value: Any) → UUID | Any#
- Convert an entity to its UUID. 
- geoh5py.shared.utils.fetch_active_workspace(workspace: Workspace | None, mode: str = 'r')#
- Open a workspace in the requested ‘mode’. - If receiving an opened Workspace instead, merely return the given workspace. - Parameters:
- workspace – A Workspace class 
- mode – Set the h5 read/write mode 
 
- Return h5py.File:
- Handle to an opened Workspace. 
 
- geoh5py.shared.utils.fetch_h5_handle(file: str | File | Path, mode: str = 'r') → File#
- Open in read+ mode a geoh5 file from string. If receiving a file instead of a string, merely return the given file. - Parameters:
- file – Name or handle to a geoh5 file. 
- mode – Set the h5 read/write mode 
 
- Return h5py.File:
- Handle to an opened h5py file. 
 
- geoh5py.shared.utils.find_unique_name(name: str, names: list[str]) → str#
- Get a unique name not in a list of names. - Parameters:
- name – The name to check. 
- names – The list of names to avoid. 
 
- Returns:
- a unique name. 
 
- geoh5py.shared.utils.get_attributes(entity, omit_list=(), attributes=None) → dict#
- Extract the attributes of an object with omissions. 
- geoh5py.shared.utils.inf2str(value)#
- geoh5py.shared.utils.is_uuid(value: str) → bool#
- Check if a string is UUID compliant. 
- geoh5py.shared.utils.list2str(value)#
- geoh5py.shared.utils.map_attributes(object_, **kwargs)#
- Map attributes to an object. The object must have an ‘_attribute_map’. - Parameters:
- entity – The object to map the attributes to. 
- kwargs – The kwargs to map to the object. 
 
 
- geoh5py.shared.utils.map_name_attributes(object_, **kwargs: dict) → dict#
- Map attributes to an object. The object must have an ‘_attribute_map’. - Parameters:
- object – The object to map the attributes to. 
- kwargs – Dictionary of attributes. 
 
 
- geoh5py.shared.utils.mask_by_extent(locations: ndarray, extent: ndarray, inverse: bool = False) → ndarray#
- Find indices of locations within a rectangular extent. - Parameters:
- locations – shape(, 3) or shape(, 2) Coordinates to be evaluated. 
- extent – shape(2, 2) Limits defined by the South-West and North-East corners. Extents can also be provided as 3D coordinates with shape(2, 3) defining the top and bottom limits. 
- inverse – Return the complement of the mask extent. 
 
- Returns:
- Array of bool for the locations inside or outside the box extent. 
 
- geoh5py.shared.utils.match_values(vec_a, vec_b, collocation_distance=0.0001) → ndarray#
- Find indices of matching values between two arrays, within collocation_distance. - Param:
- vec_a, list or numpy.ndarray Input sorted values 
- Param:
- vec_b, list or numpy.ndarray Query values 
- Returns:
- indices, numpy.ndarray Pairs of indices for matching values between the two arrays such that vec_a[ind[:, 0]] == vec_b[ind[:, 1]]. 
 
- geoh5py.shared.utils.merge_arrays(head, tail, *, replace='A->B', mapping=None, collocation_distance=0.0001, return_mapping=False) → ndarray#
- Given two numpy.arrays of different length, find the matching values and append both arrays. - Param:
- head, numpy.array of float First vector of shape(M,) to be appended. 
- Param:
- tail, numpy.array of float Second vector of shape(N,) to be appended 
- Param:
- mapping=None, numpy.ndarray of int Optional array where values from the head are replaced by the tail. 
- Param:
- collocation_distance=1e-4, float Tolerance between matching values. 
- Returns:
- numpy.array shape(O,) Unique values from head to tail without repeats, within collocation_distance. 
 
- geoh5py.shared.utils.min_max_scaler(values: ndarray, min_scaler: float = 0.0, max_scaler: float = 1.0, axis: None | int = None) → ndarray#
- Min-Max scale an array. - Parameters:
- values – The array to scale. 
- min_scaler – The minimum value to scale to. 
- max_scaler – The maximum value to scale to. 
- axis – Axis to apply scaling (eg. 0 for columns, 1 for rows). 
 
- Returns:
- The scaled array. 
 
- geoh5py.shared.utils.nan2str(value)#
- geoh5py.shared.utils.none2str(value)#
- geoh5py.shared.utils.path2str(value)#
- geoh5py.shared.utils.remove_duplicates_in_list(input_list: list) → list#
- Remove duplicates from a list without changing the sorting. - Parameters:
- input_list – the list to remove duplicates from. 
- Returns:
- The sorted list 
 
- geoh5py.shared.utils.set_attributes(entity, **kwargs)#
- Loop over kwargs and set attributes to an entity. - TODO: Deprecate in favor of explicit attribute setting. 
- geoh5py.shared.utils.str2none(value)#
- geoh5py.shared.utils.str2uuid(value: Any) → UUID | Any#
- Convert string to UUID 
- geoh5py.shared.utils.str_json_to_dict(string: str | bytes) → dict#
- Convert a json string or bytes to a dictionary. - Parameters:
- string – The json string or bytes to convert to a dictionary. 
- Returns:
- The dictionary representation of the json string with uuid promoted. 
 
- geoh5py.shared.utils.stringify(values: dict[str, Any]) → dict[str, Any]#
- Convert all values in a dictionary to string. - Parameters:
- values – Dictionary of values to be converted. 
 
- geoh5py.shared.utils.to_list(value: Any) → list#
- Convert value to a list. - Parameters:
- value – The value to convert. 
- Returns:
- A list 
 
- geoh5py.shared.utils.to_tuple(value: Any) → tuple#
- Convert value to a tuple. - Parameters:
- value – The value to convert. 
- Returns:
- A tuple 
 
- geoh5py.shared.utils.uuid2entity(value: UUID, workspace: Workspace) → Entity | Any#
- Convert UUID to a known entity. 
- geoh5py.shared.utils.xy_rotation_matrix(angle: float) → ndarray#
- Rotation matrix about the z-axis. - Parameters:
- angle – Rotation angle in radians. 
- Return rot:
- Rotation matrix. 
 
- geoh5py.shared.utils.yz_rotation_matrix(angle: float) → ndarray#
- Rotation matrix about the x-axis. :param angle: Rotation angle in radians. :return: rot: Rotation matrix. 
geoh5py.shared.validators module#
- class geoh5py.shared.validators.AssociationValidator(**kwargs)#
- Bases: - BaseValidator- Validate the association between data and parent object. - classmethod validate(name: str, value: Entity | PropertyGroup | UUID | None, valid: Entity | Workspace) → None#
- Parameters:
- name – Parameter identifier. 
- value – Input parameter value. 
- valid – Expected value shape 
 
 
 - validator_type: str = 'association'#
 
- class geoh5py.shared.validators.AtLeastOneValidator(**kwargs)#
- Bases: - BaseValidator- classmethod validate(name, value, valid)#
- Custom validation function. 
 - validator_type: str = 'one_of'#
 
- class geoh5py.shared.validators.BaseValidator(**kwargs)#
- Bases: - ABC- Concrete base class for validators. - abstract classmethod validate(name: str, value: Any, valid: Any)#
- Custom validation function. 
 - validator_type: str#
 
- class geoh5py.shared.validators.OptionalValidator(**kwargs)#
- Bases: - BaseValidator- Validate that forms contain optional parameter if None value is given. - classmethod validate(name: str, value: Any | None, valid: bool) → None#
- Parameters:
- name – Parameter identifier. 
- value – Input parameter value. 
- valid – True if optional keyword in form for parameter. 
 
 
 - validator_type: str = 'optional'#
 
- class geoh5py.shared.validators.PropertyGroupValidator(**kwargs)#
- Bases: - BaseValidator- Validate property_group from parent entity. - classmethod validate(name: str, value: PropertyGroup, valid: str | list[str]) → None#
- Custom validation function. 
 - validator_type: str = 'property_group_type'#
 
- class geoh5py.shared.validators.RequiredValidator(**kwargs)#
- Bases: - BaseValidator- Validate that required keys are present in parameter. - classmethod validate(name: str, value: Any, valid: bool) → None#
- Parameters:
- name – Parameter identifier. 
- value – Input parameter value. 
- valid – Assert to be required 
 
 
 - validator_type: str = 'required'#
 
- class geoh5py.shared.validators.ShapeValidator(**kwargs)#
- Bases: - BaseValidator- Validate the shape of provided value. - classmethod validate(name: str, value: Any, valid: tuple[int, ...]) → None#
- Parameters:
- name – Parameter identifier. 
- value – Input parameter value. 
- valid – Expected value shape 
 
 
 - validator_type: str = 'shape'#
 
- class geoh5py.shared.validators.TypeValidator(**kwargs)#
- Bases: - BaseValidator- Validate the value type from a list of valid types. - classmethod validate(name: str, value: Any, valid: type | list[type]) → None#
- Parameters:
- name – Parameter identifier. 
- value – Input parameter value. 
- valid – List of accepted value types 
 
 
 - validator_type: str = 'types'#
 
- class geoh5py.shared.validators.UUIDValidator(**kwargs)#
- Bases: - BaseValidator- Validate a uuui.UUID value or uuid string. - classmethod validate(name: str, value: Any, valid: None = None) → None#
- Parameters:
- name – Parameter identifier. 
- value – Input parameter uuid. 
- valid – [Optional] Validate uuid from parental entity or known uuids 
 
 
 - validator_type: str = 'uuid'#
 
- class geoh5py.shared.validators.ValueValidator(**kwargs)#
- Bases: - BaseValidator- Validator that ensures that values are valid entries. - classmethod validate(name: str, value: Any, valid: list[float | str]) → None#
- Parameters:
- name – Parameter identifier. 
- value – Input parameter value. 
- valid – List of accepted values 
 
 
 - validator_type: str = 'values'#
 
- geoh5py.shared.validators.class_or_raise(value: UUID) → type[ObjectBase] | type[Group]#
- Promote uid to class, raise if uid is not a geoh5py type uid. 
- geoh5py.shared.validators.empty_string_to_none(value)#
- Promote empty string to uid, and pass all other values. 
- geoh5py.shared.validators.none_to_empty_string(value)#
- None transforms to empty string for serialization. 
- geoh5py.shared.validators.to_class(values: list[UUID | type[ObjectBase] | type[Group]]) → list[type[ObjectBase] | type[Group]]#
- Promote uid to class. - Passes existing classes and raises if uid is not a geoh5py type uid. 
- geoh5py.shared.validators.to_list(value: Any) → list[Any]#
- Promote single values to list. 
- geoh5py.shared.validators.to_path(value: list[str]) → list[Path]#
- Promote path strings to patlib.Path objects. 
- geoh5py.shared.validators.to_uuid(values)#
- Promote strings to uuid and pass anything else. 
- geoh5py.shared.validators.types_to_string(types: list) → list[str] | str#
- geoh5py.shared.validators.uuid_to_string(value: UUID | None) → str#
- geoh5py.shared.validators.uuid_to_string_or_numeric(value: UUID | float | int | None) → str | float | int#
geoh5py.shared.weakref_utils module#
- geoh5py.shared.weakref_utils.get_clean_ref(some_dict: dict[K, ReferenceType[T]], key: K) → T | None#
- Gets the referent value for the given - keyin a- some_dictof- weakrefvalues. In case- keypoints to a reference to a deleted value, remove that key from- some_dicton the fly, and returns None.- Parameters:
- some_dict – The dictionary of - weakrefvalues.
- key – The key 
 
- Returns:
- the referent value for - keyif found in the the dictionary, else None.
 
- geoh5py.shared.weakref_utils.insert_once(some_dict: dict[K, ReferenceType], key: K, value)#
- Check if the reference to an Entity with uuid is already in use. - Parameters:
- some_dict – Dictionary of UUID keys and weakref values. 
- key – UUID key to be checked. 
- value – Entity to be checked 
 
- Returns:
- Dictionary with clean weakref 
 
- geoh5py.shared.weakref_utils.remove_none_referents(some_dict: dict[K, ReferenceType])#
- Removes any key from the given - some_dictwhere the value is a reference to a deleted value (that is where referent of the- weakrefvalue is None).- Parameters:
- some_dict – The dictionary to be cleaned up. 
 
