class_docstr: Pandas ExtensionArray for storing Period data.
  
  Users should use :func:`~pandas.array` to create new instances.
  
  Parameters
  ----------
  values : Union[PeriodArray, Series[period], ndarray[int], PeriodIndex]
      The data to store. These should be arrays that can be directly
      converted to ordinals without inference or copy (PeriodArray,
      ndarray[int64]), or a box around such an array (Series[period],
      PeriodIndex).
  dtype : PeriodDtype, optional
      A PeriodDtype instance from which to extract a `freq`. If both
      `freq` and `dtype` are specified, then the frequencies must match.
  freq : str or DateOffset
      The `freq` to use for the array. Mostly applicable when `values`
      is an ndarray of integers, when `freq` is required. When `values`
      is a PeriodArray (or box around), it's checked that ``values.freq``
      matches `freq`.
  copy : bool, default False
      Whether to copy the ordinals before storing.
  
  Attributes
  ----------
  None
  
  Methods
  -------
  None
  
  See Also
  --------
  Period: Represents a period of time.
  PeriodIndex : Immutable Index for period data.
  period_range: Create a fixed-frequency PeriodArray.
  array: Construct a pandas array.
  
  Notes
  -----
  There are two components to a PeriodArray
  
  - ordinals : integer ndarray
  - freq : pd.tseries.offsets.Offset
  
  The values are physically stored as a 1-D ndarray of integers. These are
  called "ordinals" and represent some kind of offset from a base.
  
  The `freq` indicates the span covered by each element of the array.
  All elements in the PeriodArray have the same `freq`.
  
  Examples
  --------
  >>> pd.arrays.PeriodArray(pd.PeriodIndex(['2023-01-01',
  ...                                       '2023-01-02'], freq='D'))
  <PeriodArray>
  ['2023-01-01', '2023-01-02']
  Length: 2, dtype: period[D]
class_docstr_tok: ["Pandas","ExtensionArray","for","storing","Period","data",".","Users","should","use",":","func",":","`","~pandas.array","`","to","create","new","instances",".","Parameters","--","--","--","--","--","values",":","Union","[","PeriodArray",",","Series","[","period","]",",","ndarray","[","int","]",",","PeriodIndex","]","The","data","to","store",".","These","should","be","arrays","that","can","be","directly","converted","to","ordinals","without","inference","or","copy","(","PeriodArray",",","ndarray","[","int64","]",")",",","or","a","box","around","such","an","array","(","Series","[","period","]",",","PeriodIndex",")",".","dtype",":","PeriodDtype",",","optional","A","PeriodDtype","instance","from","which","to","extract","a","`","freq","`",".","If","both","`","freq","`","and","`","dtype","`","are","specified",",","then","the","frequencies","must","match",".","freq",":","str","or","DateOffset","The","`","freq","`","to","use","for","the","array",".","Mostly","applicable","when","`","values","`","is","an","ndarray","of","integers",",","when","`","freq","`","is","required",".","When","`","values","`","is","a","PeriodArray","(","or","box","around",")",",","it","'s","checked","that","``","values.freq","``","matches","`","freq","`",".","copy",":","bool",",","default","False","Whether","to","copy","the","ordinals","before","storing",".","Attributes","--","--","--","--","--","None","Methods","--","--","--","-","None","See","Also","--","--","--","--","Period",":","Represents","a","period","of","time",".","PeriodIndex",":","Immutable","Index","for","period","data",".","period_range",":","Create","a","fixed-frequency","PeriodArray",".","array",":","Construct","a","pandas","array",".","Notes","--","--","-","There","are","two","components","to","a","PeriodArray","-","ordinals",":","integer","ndarray","-","freq",":","pd.tseries.offsets.Offset","The","values","are","physically","stored","as","a","1-D","ndarray","of","integers",".","These","are","called","``","ordinals","''","and","represent","some","kind","of","offset","from","a","base",".","The","`","freq","`","indicates","the","span","covered","by","each","element","of","the","array",".","All","elements","in","the","PeriodArray","have","the","same","`","freq","`",".","Examples","--","--","--","--",">",">",">","pd.arrays.PeriodArray","(","pd.PeriodIndex","(","[","'2023-01-01","'",",","...","'2023-01-02","'","]",",","freq='D","'",")",")","<","PeriodArray",">","[","'2023-01-01","'",",","'2023-01-02","'","]","Length",":","2",",","dtype",":","period","[","D","]"]
docstr: Parameters
  ----------
  other : timedelta, Tick, np.timedelta64
  
  Returns
  -------
  PeriodArray
docstr_tok: ["Parameters","--","--","--","--","--","other",":","timedelta",",","Tick",",","np.timedelta64","Returns","--","--","--","-","PeriodArray"]
code: def _add_timedeltalike_scalar(self, other):
      """
      Parameters
      ----------
      other : timedelta, Tick, np.timedelta64
  
      Returns
      -------
      PeriodArray
      """
      if not isinstance(self.freq, Tick):
          # We cannot add timedelta-like to non-tick PeriodArray
          raise raise_on_incompatible(self, other)
  
      if isna(other):
          # i.e. np.timedelta64("NaT")
          return super()._add_timedeltalike_scalar(other)
  
      td = np.asarray(Timedelta(other).asm8)
      return self._add_timedelta_arraylike(td)
  
imports: from __future__ import annotations
  from datetime import timedelta
  import operator
  from typing import TYPE_CHECKING, Any, Callable, Literal, TypeVar, cast, overload
  import warnings
  import numpy
  from pandas._libs import algos, lib
  from pandas._libs.arrays import NDArrayBacked
  from pandas._libs.tslibs import BaseOffset, NaT, NaTType, Timedelta, add_overflowsafe, astype_overflowsafe, dt64arr_to_periodarr, get_unit_from_dtype, iNaT, parsing, period, to_offset
  from pandas._libs.tslibs.dtypes import FreqGroup, PeriodDtypeBase, freq_to_period_freqstr
  from pandas._libs.tslibs.fields import isleapyear_arr
  from pandas._libs.tslibs.offsets import Tick, delta_to_tick
  from pandas._libs.tslibs.period import DIFFERENT_FREQ, IncompatibleFrequency, Period, get_period_field_arr, period_asfreq_arr
  from pandas.util._decorators import cache_readonly, doc
  from pandas.util._exceptions import find_stack_level
  from pandas.core.dtypes.common import ensure_object, pandas_dtype
  from pandas.core.dtypes.dtypes import DatetimeTZDtype, PeriodDtype
  from pandas.core.dtypes.generic import ABCIndex, ABCPeriodIndex, ABCSeries, ABCTimedeltaArray
  from pandas.core.dtypes.missing import isna
  from pandas.core.arrays import datetimelike
  import pandas.core.common
label_desc: Use image node_id 29 for calling the PeriodArray obj's underlying member method code with example usage: obj._add_timedeltalike_scalar(other) and returns: self, super