@staticmethod<EOL><INDENT>def get_heron_options_from_env():<DEDENT>
heron_options_raw = os.environ.get("<STR_LIT>")<EOL>if heron_options_raw is None:<EOL><INDENT>raise RuntimeError("<STR_LIT>")<EOL><DEDENT>options = {}<EOL>for option_line in heron_options_raw.replace("<STR_LIT>", "<STR_LIT:U+0020>").split('<STR_LIT:U+002C>'):<EOL><INDENT>key, sep, value = option_line.partition("<STR_LIT:=>")<EOL>if sep:<EOL><INDENT>options[key] = value<EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>" % option_line)<EOL><DEDENT><DEDENT>return options<EOL>
Retrieves heron options from the `HERON_OPTIONS` environment variable.

        Heron options have the following format:

            cmdline.topologydefn.tmpdirectory=/var/folders/tmpdir
            cmdline.topology.initial.state=PAUSED

        In this case, the returned map will contain:

            #!json
            {
              "cmdline.topologydefn.tmpdirectory": "/var/folders/tmpdir",
              "cmdline.topology.initial.state": "PAUSED"
            }

        Currently supports the following options natively:

        - `cmdline.topologydefn.tmpdirectory`: (required) the directory to which this
        topology's defn file is written
        - `cmdline.topology.initial.state`: (default: "RUNNING") the initial state of the topology
        - `cmdline.topology.name`: (default: class name) topology name on deployment

        Returns: map mapping from key to value