code: def select_rows(
      df: pd.DataFrame,
      *args: Any,
      invert: bool = False,
  ) -> pd.DataFrame:
      """Method-chainable selection of rows.
  
      It accepts a string, shell-like glob strings `(*string*)`,
      regex, slice, array-like object, or a list of the previous options.
  
      Selection on a MultiIndex on a level, or multiple levels,
      is possible with a dictionary.
  
      This method does not mutate the original DataFrame.
  
      Optional ability to invert selection of rows available as well.
  
  
      !!! info "New in version 0.24.0"
  
      !!!note
  
          The preferred option when selecting columns or rows in a Pandas DataFrame
          is with `.loc` or `.iloc` methods, as they are generally performant.
          `select_rows` is primarily for convenience.
  
      !!!note
  
          This function will be deprecated in a 1.x release.
          Please use `jn.select` instead.
  
      Examples:
          >>> import pandas as pd
          >>> import janitor
          >>> df = {"col1": [1, 2], "foo": [3, 4], "col2": [5, 6]}
          >>> df = pd.DataFrame.from_dict(df, orient='index')
          >>> df
                0  1
          col1  1  2
          foo   3  4
          col2  5  6
          >>> df.select_rows("col*")
                0  1
          col1  1  2
          col2  5  6
  
      More examples can be found in the
      [`select_columns`][janitor.functions.select.select_columns] section.
  
      Args:
          df: A pandas DataFrame.
          *args: Valid inputs include: an exact index name to look for,
              a shell-style glob string (e.g. `*_thing_*`),
              a regular expression,
              a callable,
              or variable arguments of all the aforementioned.
              A sequence of booleans is also acceptable.
              A dictionary can be used for selection
              on a MultiIndex on different levels.
          invert: Whether or not to invert the selection.
              This will result in the selection
              of the complement of the rows provided.
  
      Returns:
          A pandas DataFrame with the specified rows selected.
      """  # noqa: E501
      return _select(df, rows=list(args), invert=invert)
  
file_path: pyjanitor/janitor/functions/select.py
imports: from typing import Any
  import pandas
  import pandas_flavor
  from janitor.functions.utils import DropLabel, _select
  from janitor.utils import check, deprecated_alias, refactored_function
label_desc: Use image node_id 2 for calling a global function with example usage: select_rows(df) and returns: _select