# API Docs

Utilities for managing the fiscal calendar.

class fiscalyear.FiscalDate

  A wrapper around the builtin datetime.date class that provides the following attributes.

  ctime()

    Return ctime() style string.

  day
  property fiscal_day: int
    Returns:

      The fiscal day

  property fiscal_month: int
    Returns:

      The fiscal month

  property fiscal_quarter: int
    Returns:

      The fiscal quarter

  property fiscal_year: int
    Returns:

      The fiscal year

  classmethod fromisocalendar()

    int, int, int -> Construct a date from the ISO year, week number and weekday.

    This is the inverse of the date.isocalendar() function

  classmethod fromisoformat(object, /)

    str -> Construct a date from a string in ISO 8601 format.

  classmethod fromordinal()

    int -> date corresponding to a proleptic Gregorian ordinal.

  classmethod fromtimestamp(timestamp, /)

    Create a date from a POSIX timestamp.

    The timestamp is a number, e.g. created via time.time(), that is interpreted as local time.

  isocalendar()

    Return a named tuple containing ISO year, week number, and weekday.

  isoformat()

    Return string in ISO 8601 format, YYYY-MM-DD.

  isoweekday()

    Return the day of the week represented by the date. Monday == 1 … Sunday == 7

  max = datetime.date(9999, 12, 31)
  min = datetime.date(1, 1, 1)
  month
  property next_fiscal_day: FiscalDay
    Returns:

      The next fiscal day

  property next_fiscal_month: FiscalMonth
    Returns:

      The next fiscal month

  property next_fiscal_quarter: FiscalQuarter
    Returns:

      The next fiscal quarter

  property next_fiscal_year: FiscalYear
    Returns:

      The next fiscal year

  property prev_fiscal_day: FiscalDay
    Returns:

      The previous fiscal day

  property prev_fiscal_month: FiscalMonth
    Returns:

      The previous fiscal month

  property prev_fiscal_quarter: FiscalQuarter
    Returns:

      The previous fiscal quarter

  property prev_fiscal_year: FiscalYear
    Returns:

      The previous fiscal year

  replace()

    Return date with new specified fields.

  resolution = datetime.timedelta(days=1)
  strftime()

    format -> strftime() style string.

  classmethod strptime()

    string, format -> new date parsed from a string (like time.strptime()).

  timetuple()

    Return time tuple, compatible with time.localtime().

  classmethod today()

    Current date or datetime: same as self.__class__.fromtimestamp(time.time()).

  toordinal()

    Return proleptic Gregorian ordinal. January 1 of year 1 is day 1.

  weekday()

    Return the day of the week represented by the date. Monday == 0 … Sunday == 6

  year

class fiscalyear.FiscalDateTime

  A wrapper around the builtin datetime.datetime class that provides the following attributes.

  astimezone()

    tz -> convert to local time in new timezone tz

  classmethod combine()

    date, time -> datetime with same date and time fields

  ctime()

    Return ctime() style string.

  date()

    Return date object with same year, month and day.

  day
  dst()

    Return self.tzinfo.dst(self).

  property fiscal_day: int
    Returns:

      The fiscal day

  property fiscal_month: int
    Returns:

      The fiscal month

  property fiscal_quarter: int
    Returns:

      The fiscal quarter

  property fiscal_year: int
    Returns:

      The fiscal year

  fold
  classmethod fromisocalendar()

    int, int, int -> Construct a date from the ISO year, week number and weekday.

    This is the inverse of the date.isocalendar() function

  classmethod fromisoformat(object, /)

    string -> datetime from a string in most ISO 8601 formats

  classmethod fromordinal()

    int -> date corresponding to a proleptic Gregorian ordinal.

  classmethod fromtimestamp()

    timestamp[, tz] -> tz’s local time from POSIX timestamp.

  hour
  isocalendar()

    Return a named tuple containing ISO year, week number, and weekday.

  isoformat()

    [sep] -> string in ISO 8601 format, YYYY-MM-DDT[HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM]. sep is used to separate the year from the time, and defaults to ‘T’. The optional argument timespec specifies the number of additional terms of the time to include. Valid options are ‘auto’, ‘hours’, ‘minutes’, ‘seconds’, ‘milliseconds’ and ‘microseconds’.

  isoweekday()

    Return the day of the week represented by the date. Monday == 1 … Sunday == 7

  max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)
  microsecond
  min = datetime.datetime(1, 1, 1, 0, 0)
  minute
  month
  property next_fiscal_day: FiscalDay
    Returns:

      The next fiscal day

  property next_fiscal_month: FiscalMonth
    Returns:

      The next fiscal month

  property next_fiscal_quarter: FiscalQuarter
    Returns:

      The next fiscal quarter

  property next_fiscal_year: FiscalYear
    Returns:

      The next fiscal year

  classmethod now(tz=None)

    Returns new datetime object representing current time local to tz.

    > tz

    >   Timezone object.

    If no tz is specified, uses local timezone.

  property prev_fiscal_day: FiscalDay
    Returns:

      The previous fiscal day

  property prev_fiscal_month: FiscalMonth
    Returns:

      The previous fiscal month

  property prev_fiscal_quarter: FiscalQuarter
    Returns:

      The previous fiscal quarter

  property prev_fiscal_year: FiscalYear
    Returns:

      The previous fiscal year

  replace()

    Return datetime with new specified fields.

  resolution = datetime.timedelta(microseconds=1)
  second
  strftime()

    format -> strftime() style string.

  classmethod strptime()

    string, format -> new datetime parsed from a string (like time.strptime()).

  time()

    Return time object with same time but with tzinfo=None.

  timestamp()

    Return POSIX timestamp as float.

  timetuple()

    Return time tuple, compatible with time.localtime().

  timetz()

    Return time object with same time and tzinfo.

  classmethod today()

    Current date or datetime: same as self.__class__.fromtimestamp(time.time()).

  toordinal()

    Return proleptic Gregorian ordinal. January 1 of year 1 is day 1.

  tzinfo
  tzname()

    Return self.tzinfo.tzname(self).

  classmethod utcfromtimestamp()

    Construct a naive UTC datetime from a POSIX timestamp.

  classmethod utcnow()

    Return a new datetime representing UTC day and time.

  utcoffset()

    Return self.tzinfo.utcoffset(self).

  utctimetuple()

    Return UTC time tuple, compatible with time.localtime().

  weekday()

    Return the day of the week represented by the date. Monday == 0 … Sunday == 6

  year

class fiscalyear.FiscalDay(fiscal_year, fiscal_day)

  A class representing a single fiscal day.

  Constructor.

  Parameters:

    - fiscal_year (int) – The fiscal year

    - fiscal_day (int) – The fiscal day

  Returns:

    A newly constructed FiscalDay object

  Raises:

    ValueError – If fiscal_year or fiscal_day is out of range

  Return type:

    FiscalDay

  classmethod current()

    Alternative constructor. Returns the current FiscalDay.

    Returns:

      A newly constructed FiscalDay object

    Return type:

      FiscalDay

  property end: FiscalDateTime
    Returns:

      End of the fiscal day

  property fiscal_day: int
    Returns:

      The fiscal day

  property fiscal_month: int
    Returns:

      The fiscal month

  property fiscal_quarter: int
    Returns:

      The fiscal quarter

  property fiscal_year: int
    Returns:

      The fiscal year

  property next_fiscal_day: FiscalDay
    Returns:

      The next fiscal day

  property prev_fiscal_day: FiscalDay
    Returns:

      The previous fiscal day

  property start: FiscalDateTime
    Returns:

      Start of the fiscal day

class fiscalyear.FiscalMonth(fiscal_year, fiscal_month)

  A class representing a single fiscal month.

  Constructor.

  Parameters:

    - fiscal_year (int) – The fiscal year

    - fiscal_month (int) – The fiscal month

  Returns:

    A newly constructed FiscalMonth object

  Raises:

    ValueError – If fiscal_year or fiscal_month is out of range

  Return type:

    FiscalMonth

  classmethod current()

    Alternative constructor. Returns the current FiscalMonth.

    Returns:

      A newly constructed FiscalMonth object

    Return type:

      FiscalMonth

  property end: FiscalDateTime
    Returns:

      End of the fiscal month

  property fiscal_month: int
    Returns:

      The fiscal month

  property fiscal_year: int
    Returns:

      The fiscal year

  property next_fiscal_month: FiscalMonth
    Returns:

      The next fiscal month

  property prev_fiscal_month: FiscalMonth
    Returns:

      The previous fiscal month

  property start: FiscalDateTime
    Returns:

      Start of the fiscal month

class fiscalyear.FiscalQuarter(fiscal_year, fiscal_quarter)

  A class representing a single fiscal quarter.

  Constructor.

  Parameters:

    - fiscal_year (int) – The fiscal year

    - fiscal_quarter (int) – The fiscal quarter

  Returns:

    A newly constructed FiscalQuarter object

  Raises:

    ValueError – If fiscal_year or fiscal_quarter is out of range

  Return type:

    FiscalQuarter

  classmethod current()

    Alternative constructor. Returns the current FiscalQuarter.

    Returns:

      A newly constructed FiscalQuarter object

    Return type:

      FiscalQuarter

  property end: FiscalDateTime
    Returns:

      The end of the fiscal quarter

  property fiscal_quarter: int
    Returns:

      The fiscal quarter

  property fiscal_year: int
    Returns:

      The fiscal year

  property next_fiscal_quarter: FiscalQuarter
    Returns:

      The next fiscal quarter

  property prev_fiscal_quarter: FiscalQuarter
    Returns:

      The previous fiscal quarter

  property start: FiscalDateTime
    Returns:

      The start of the fiscal quarter

class fiscalyear.FiscalYear(fiscal_year)

  A class representing a single fiscal year.

  Constructor.

  Parameters:

    fiscal_year (int) – The fiscal year

  Returns:

    A newly constructed FiscalYear object

  Raises:

    ValueError – If `fiscal_year` is out of range

  Return type:

    FiscalYear

  classmethod current()

    Alternative constructor. Returns the current FiscalYear.

    Returns:

      A newly constructed FiscalYear object

    Return type:

      FiscalYear

  property end: FiscalDateTime
    Returns:

      End of the fiscal year

  property fiscal_year: int
    Returns:

      The fiscal year

  property isleap: bool

    returns: True if the fiscal year contains a leap day, else False

  property next_fiscal_year: FiscalYear
    Returns:

      The next fiscal year

  property prev_fiscal_year: FiscalYear
    Returns:

      The previous fiscal year

  property q1: FiscalQuarter
    Returns:

      The first quarter of the fiscal year

  property q2: FiscalQuarter
    Returns:

      The second quarter of the fiscal year

  property q3: FiscalQuarter
    Returns:

      The third quarter of the fiscal year

  property q4: FiscalQuarter
    Returns:

      The fourth quarter of the fiscal year

  property start: FiscalDateTime
    Returns:

      Start of the fiscal year

fiscalyear.fiscal_calendar(start_year=None, start_month=None, start_day=None)

  A context manager that lets you modify the start of the fiscal calendar inside the scope of a with-statement.

  Parameters:

    - start_year (str | None) – Relationship between the start of the fiscal year and the calendar year. Possible values: `'previous'` or `'same'`.

    - start_month (int | None) – The first month of the fiscal year

    - start_day (int | None) – The first day of the first month of the fiscal year

  Raises:

    - ValueError – If `start_year` is not `'previous'` or `'same'`

    - ValueError – If `start_month` or `start_day` is out of range

fiscalyear.setup_fiscal_calendar(start_year=None, start_month=None, start_day=None)

  Modify the start of the fiscal calendar.

  Parameters:

    - start_year (str | None) – Relationship between the start of the fiscal year and the calendar year. Possible values: `'previous'` or `'same'`.

    - start_month (int | None) – The first month of the fiscal year

    - start_day (int | None) – The first day of the first month of the fiscal year

  Raises:

    - ValueError – If `start_year` is not `'previous'` or `'same'`

    - ValueError – If `start_month` or `start_day` is out of range