honeybee.typing module

Collection of methods for type input checking.

honeybee.typing.clean_and_id_ep_string(value, input_name='')[source]

Clean a string and add 8 unique characters to it to make it unique for EnergyPlus.

This includes stripping out all illegal characters and removing trailing white spaces. Strings longer than 50 characters will be truncated before adding the ID.

honeybee.typing.clean_and_id_rad_string(value, input_name='')[source]

Clean a string and add 8 unique characters to it to make it unique for Radiance.

This includes stripping out illegal characters and white spaces.

honeybee.typing.clean_and_id_string(value, input_name='')[source]

Clean a string and add 8 unique characters to it to make it unique.

Strings longer than 50 characters will be truncated before adding the ID. The resulting string will be valid for both Radiance and EnergyPlus.

honeybee.typing.clean_and_number_ep_string(value, existing_dict, input_name='')[source]

Clean a string for EnergyPlus and add an integer if found in the existing_dict.

This includes stripping out all illegal characters and removing trailing white spaces. Strings longer than 95 characters will be truncated before adding the integer.

Parameters
  • value – The text string to be cleaned and possibly given a unique integer.

  • existing_dict – A dictionary where the keys are text strings of existing items and the values are the number of times that the item has appeared in the model already.

honeybee.typing.clean_and_number_rad_string(value, existing_dict, input_name='')[source]

Clean a string for Radiance and add an integer if found in the existing_dict.

This includes stripping out illegal characters and white spaces.

Parameters
  • value – The text string to be cleaned and possibly given a unique integer.

  • existing_dict – A dictionary where the keys are text strings of existing items and the values are the number of times that the item has appeared in the model already.

honeybee.typing.clean_and_number_string(value, existing_dict, input_name='')[source]

Clean a string and add an integer to it if it is found in the existing_dict.

The resulting string will be valid for both Radiance and EnergyPlus.

Parameters
  • value – The text string to be cleaned and possibly given a unique integer.

  • existing_dict – A dictionary where the keys are text strings of existing items and the values are the number of times that the item has appeared in the model already.

honeybee.typing.clean_ep_string(value, input_name='')[source]

Clean a string for EnergyPlus that can be used for energy material names.

This includes stripping out all illegal characters, removing trailing spaces, and rasing an error if the name is not longer than 100 characters or no legal characters found.

honeybee.typing.clean_rad_string(value, input_name='')[source]

Clean a string for Radiance that can be used for rad material names.

This includes stripping out illegal characters and white spaces as well as raising an error if no legal characters are found.

honeybee.typing.clean_string(value, input_name='')[source]

Clean a string so that it is valid for both Radiance and EnergyPlus.

This will strip out spaces and special characters and raise an error if the string is empty after stripping or has more than 100 characters.

honeybee.typing.fixed_string_length(value, target_len=32)[source]

Truncate a string or add trailing spaces to hit a target character length.

This is useful when trying to construct human-readable tables of text.

honeybee.typing.float_in_range(value, mi=-inf, ma=inf, input_name='')[source]

Check a float value to be between minimum and maximum.

honeybee.typing.float_in_range_excl(value, mi=-inf, ma=inf, input_name='')[source]

Check a float value to be greater than minimum and less than maximum.

honeybee.typing.float_in_range_excl_incl(value, mi=-inf, ma=inf, input_name='')[source]

Check a float value to be greater than minimum and less than/equal to maximum.

honeybee.typing.float_in_range_incl_excl(value, mi=-inf, ma=inf, input_name='')[source]

Check a float value to be greater than/equal to minimum and less than maximum.

honeybee.typing.float_positive(value, input_name='')[source]

Check a float value to be positive.

honeybee.typing.int_in_range(value, mi=-inf, ma=inf, input_name='')[source]

Check an integer value to be between minimum and maximum.

honeybee.typing.int_positive(value, input_name='')[source]

Check if an integer value is positive.

honeybee.typing.invalid_dict_error(invalid_dict, error)[source]

Raise a ValueError for an invalid dictionary that failed to serialize.

This error message will include the identifier (and display_name) if they are present within the invalid_dict, making it easier for ens users to find the invalid object within large objects like Models.

Parameters
  • invalid_dict – A dictionary of an invalid honeybee object that failed to serialize.

  • error

honeybee.typing.list_with_length(value, length=3, item_type=<class 'float'>, input_name='')[source]

Try to create a list with a certain value.

honeybee.typing.normpath(value)[source]

Normalize path eliminating double slashes, etc and put it in quotes if needed.

honeybee.typing.truncate_and_id_string(value, truncate_len=32, uuid_len=0, input_name='')[source]

Truncate a string to a length with an option to add unique characters at the end.

Note that all outputs will always be the truncate_len or less and the uuid_len just specifies the number of characters to replace at the end with unique ones.

The result will be valid for EnergyPlus, Radiance, and likely many more engines with different types of character restrictions.

honeybee.typing.tuple_with_length(value, length=3, item_type=<class 'float'>, input_name='')[source]

Try to create a tuple with a certain value.

honeybee.typing.valid_ep_string(value, input_name='')[source]

Check that a string is valid for EnergyPlus.

This is used for energy material names, schedule names, etc.

honeybee.typing.valid_rad_string(value, input_name='')[source]

Check that a string is valid for Radiance.

This is used for radiance modifier names, etc.

honeybee.typing.valid_string(value, input_name='')[source]

Check that a string is valid for both Radiance and EnergyPlus.

This is used for honeybee geometry object names.

honeybee.typing.wrapper = "'"

String wrapper.