schrodinger.utils.featureflags.write module

Utility functions to read and write features.json files. No dependencies on schrodinger.

schrodinger.utils.featureflags.write.format_json(json_data)

Convert json data into a formatted string.

Parameters

json_data (list[dict]) – List of features to write to the file.

Returntype

str

Returns

String of formatted json, ready for writing to disk

schrodinger.utils.featureflags.write.write_features_json(json_data, filename)

Write the json data to the user state file in UTF-8 encoding.

Parameters
  • json_data (list[dict]) – List of features to write to the file.

  • filename (str) – File to write the features to.

Raises

IOError – if json data cannot be written to the file.

schrodinger.utils.featureflags.write.write_site_features_json(json_data: list[dict], filename: str)

Write the json data to the site state file in UTF-8 encoding.

This routine ensures appropriate world-readable permissions for created directories and files.

Parameters
  • json_data – List of features to write to the file.

  • filename – File to write the features to.

Raises

IOError – if json data cannot be written to the file.

schrodinger.utils.featureflags.write.read_json_data(json_data_file)

Read feature flags data from json document.

Parameters

json_data_file (str) – File name to decode feature flags json document.

Returntype

dict

Returns

Dictionary of feature name and its corresponding json item.

Raises

ValueError – if json document cannot be parsed.

schrodinger.utils.featureflags.write.main()