nodes: 0, module; 1, function_definition; 2, function_name:realsorted; 3, parameters; 4, block; 5, identifier:seq; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, expression_statement; 10, return_statement; 11, identifier:key; 12, None; 13, identifier:reverse; 14, False; 15, identifier:alg; 16, attribute; 17, comment:"""
      Convenience function to properly sort signed floats.
  
      A signed float in a string could be "a-5.7". This is a wrapper around
      ``natsorted(seq, alg=ns.REAL)``.
  
      The behavior of :func:`realsorted` for `natsort` version >= 4.0.0
      was the default behavior of :func:`natsorted` for `natsort`
      version < 4.0.0.
  
      Parameters
      ----------
      seq : iterable
          The input to sort.
  
      key : callable, optional
          A key used to determine how to sort each element of the sequence.
          It is **not** applied recursively.
          It should accept a single argument and return a single value.
  
      reverse : {{True, False}}, optional
          Return the list in reversed sorted order. The default is
          `False`.
  
      alg : ns enum, optional
          This option is used to control which algorithm `natsort`
          uses when sorting. For details into these options, please see
          the :class:`ns` class documentation. The default is `ns.REAL`.
  
      Returns
      -------
      out : list
          The sorted input.
  
      See Also
      --------
      index_realsorted : Returns the sorted indexes from `realsorted`.
  
      Examples
      --------
      Use `realsorted` just like the builtin `sorted`::
  
          >>> a = ['num5.10', 'num-3', 'num5.3', 'num2']
          >>> natsorted(a)
          [{u}'num2', {u}'num5.3', {u}'num5.10', {u}'num-3']
          >>> realsorted(a)
          [{u}'num-3', {u}'num2', {u}'num5.10', {u}'num5.3']
  
      """; 18, call; 19, identifier:ns; 20, identifier:DEFAULT; 21, identifier:natsorted; 22, argument_list; 23, identifier:seq; 24, identifier:key; 25, identifier:reverse; 26, binary_operator:alg | ns.REAL; 27, identifier:alg; 28, attribute; 29, identifier:ns; 30, identifier:REAL
code: def realsorted(seq, key=None, reverse=False, alg=ns.DEFAULT):
      """
      Convenience function to properly sort signed floats.
  
      A signed float in a string could be "a-5.7". This is a wrapper around
      ``natsorted(seq, alg=ns.REAL)``.
  
      The behavior of :func:`realsorted` for `natsort` version >= 4.0.0
      was the default behavior of :func:`natsorted` for `natsort`
      version < 4.0.0.
  
      Parameters
      ----------
      seq : iterable
          The input to sort.
  
      key : callable, optional
          A key used to determine how to sort each element of the sequence.
          It is **not** applied recursively.
          It should accept a single argument and return a single value.
  
      reverse : {{True, False}}, optional
          Return the list in reversed sorted order. The default is
          `False`.
  
      alg : ns enum, optional
          This option is used to control which algorithm `natsort`
          uses when sorting. For details into these options, please see
          the :class:`ns` class documentation. The default is `ns.REAL`.
  
      Returns
      -------
      out : list
          The sorted input.
  
      See Also
      --------
      index_realsorted : Returns the sorted indexes from `realsorted`.
  
      Examples
      --------
      Use `realsorted` just like the builtin `sorted`::
  
          >>> a = ['num5.10', 'num-3', 'num5.3', 'num2']
          >>> natsorted(a)
          [{u}'num2', {u}'num5.3', {u}'num5.10', {u}'num-3']
          >>> realsorted(a)
          [{u}'num-3', {u}'num2', {u}'num5.10', {u}'num5.3']
  
      """
      return natsorted(seq, key, reverse, alg | ns.REAL)