code: def int_range(
      start: int | IntoExprColumn,
      end: int | IntoExprColumn,
      step: int = 1,
      *,
      dtype: PolarsIntegerType = Int64,
      eager: bool = False,
  ) -> Expr | Series:
      """
      Generate a range of integers.
  
      Parameters
      ----------
      start
          Lower bound of the range (inclusive).
      end
          Upper bound of the range (exclusive).
      step
          Step size of the range.
      dtype
          Data type of the range.
      eager
          Evaluate immediately and return a `Series`.
          If set to `False` (default), return an expression instead.
  
      Returns
      -------
      Expr or Series
          Column of integer data type `dtype`.
  
      See Also
      --------
      int_ranges : Generate a range of integers for each row of the input columns.
  
      Examples
      --------
      >>> pl.int_range(0, 3, eager=True).alias("int")
      shape: (3,)
      Series: 'int' [i64]
      [
              0
              1
              2
      ]
      """
      start = parse_as_expression(start)
      end = parse_as_expression(end)
      result = wrap_expr(plr.int_range(start, end, step, dtype))
  
      if eager:
          return F.select(result).to_series()
  
      return result
  
file_path: polars/py-polars/polars/functions/range/int_range.py
imports: from __future__ import annotations
  import contextlib
  from typing import TYPE_CHECKING, overload
  from polars import functions
  from polars.datatypes import Int64
  from polars.utils._parse_expr_input import parse_as_expression
  from polars.utils._wrap import wrap_expr
label_desc: Use image node_id 8 for calling a global function with example usage: int_range(start, end, step) and returns: result, F