web_programming.get_top_billionaires ==================================== .. py:module:: web_programming.get_top_billionaires .. autoapi-nested-parse:: CAUTION: You may get a json.decoding error. This works for some of us but fails for others. Attributes ---------- .. autoapisummary:: web_programming.get_top_billionaires.API_URL web_programming.get_top_billionaires.LIMIT web_programming.get_top_billionaires.TODAY Functions --------- .. autoapisummary:: web_programming.get_top_billionaires.display_billionaires web_programming.get_top_billionaires.get_forbes_real_time_billionaires web_programming.get_top_billionaires.years_old Module Contents --------------- .. py:function:: display_billionaires(forbes_billionaires: list[dict[str, int | str]]) -> None Display Forbes real-time billionaires in a rich table. Args: forbes_billionaires (list): Forbes top 10 real-time billionaires .. py:function:: get_forbes_real_time_billionaires() -> list[dict[str, int | str]] Get the top 10 real-time billionaires using Forbes API. Returns: List of top 10 realtime billionaires data. .. py:function:: years_old(birth_timestamp: int, today: datetime.date | None = None) -> int Calculate the age in years based on the given birth date. Only the year, month, and day are used in the calculation. The time of day is ignored. Args: birth_timestamp: The date of birth. today: (useful for writing tests) or if None then datetime.date.today(). Returns: int: The age in years. Examples: >>> today = date(2024, 1, 12) >>> years_old(birth_timestamp=datetime(1959, 11, 20).timestamp(), today=today) 64 >>> years_old(birth_timestamp=datetime(1970, 2, 13).timestamp(), today=today) 53 >>> all( ... years_old(datetime(today.year - i, 1, 12).timestamp(), today=today) == i ... for i in range(1, 111) ... ) True .. py:data:: API_URL :value: 'https://www.forbes.com/forbesapi/person/rtb/0/position/true.json?fields=personName,gender,source... .. py:data:: LIMIT :value: 10 .. py:data:: TODAY