docs: def from_configuration(cls, env_name, config_name='default'):
          """ Environment factory from name and configuration strings.
  
          :param str env_name: the name string of the environment
  
          :param str config_name: the configuration string for env_name
  
          Environment name strings are available using::
  
              from explauto.environment import environments
              print environments.keys()
  
          This will return the available environment names, something like::
  
              '['npendulum', 'pendulum', 'simple_arm']'
  
          Once you have choose an environment, e.g. 'simple_arm', corresponding available configurations are available using::
  
              env_cls, env_configs, _ = environments['simple_arm']
              print env_configs.keys()
  
          This will return the available configuration names for the 'simple_arm' environment, something like::
  
              '['mid_dimensional', 'default', 'high_dim_high_s_range', 'low_dimensional', 'high_dimensional']'
  
          Once you have choose a configuration, for example the 'mid_dimensional' one, you can contruct the environment using::
  
              from explauto import Environment
              my_environment = Environment.from_configuration('simple_arm', 'mid_dimensional')
  
          Or, in an equivalent manner::
  
              my_environment = env_cls(**env_configs['mid_dimensional'])
          """
          env_cls, env_configs, _ = environments[env_name]
          return env_cls(**env_configs[config_name])