2525 ParamType ,
2626 StringParam ,
2727)
28- from ._parse import parse_api_date , parse_user_date_or_week , validate_version_query
28+ from ._parse import parse_api_date , parse_user_date_or_week , validate_report_time_query
2929
3030
3131def get_wildcard_equivalent_dates (time_value : EpiRangeParam , time_type : Literal ["day" , "week" ]) -> EpiRangeParam :
@@ -1532,24 +1532,24 @@ def epidata_snapshot(
15321532 signals : StringParam ,
15331533 geo_type : str ,
15341534 geo_values : StringParam = "*" ,
1535- time_values : EpiRangeParam = "*" ,
1535+ reference_time : EpiRangeParam = "*" ,
15361536 fill_method : str | None = None ,
1537- as_of : str | date | None = None ,
1537+ snapshot_date : str | date | None = None ,
15381538 ) -> CALL_TYPE :
1539- """Fetch a snapshot of CAST-API signals as they appeared at `as_of `.
1539+ """Fetch a snapshot of CAST-API signals as they appeared on `snapshot_date `.
15401540
1541- `as_of =None` returns the latest available version. `geo_values` and
1542- `time_values ` are filtered locally after the API call.
1541+ `snapshot_date =None` returns the latest available version. `geo_values`
1542+ and `reference_time ` are filtered locally after the API call.
15431543 """
1544- if as_of is None :
1545- snapshot_date : str | None = None
1546- elif isinstance (as_of , date ):
1547- snapshot_date = as_of .strftime ("%Y-%m-%d" )
1544+ if snapshot_date is None :
1545+ snapshot_date_str : str | None = None
1546+ elif isinstance (snapshot_date , date ):
1547+ snapshot_date_str = snapshot_date .strftime ("%Y-%m-%d" )
15481548 else :
1549- parsed = parse_api_date (as_of )
1549+ parsed = parse_api_date (snapshot_date )
15501550 if parsed is None :
1551- raise InvalidArgumentException (f"Invalid `as_of ` value: { as_of !r} " )
1552- snapshot_date = parsed .strftime ("%Y-%m-%d" )
1551+ raise InvalidArgumentException (f"Invalid `snapshot_date ` value: { snapshot_date !r} " )
1552+ snapshot_date_str = parsed .strftime ("%Y-%m-%d" )
15531553 signal_str = signals if isinstance (signals , str ) else "," .join (signals )
15541554
15551555 return self ._create_call (
@@ -1559,11 +1559,11 @@ def epidata_snapshot(
15591559 "signal" : signal_str ,
15601560 "geo_type" : geo_type ,
15611561 "fill_method" : fill_method ,
1562- "snapshot_date" : snapshot_date ,
1562+ "snapshot_date" : snapshot_date_str ,
15631563 },
15641564 _cast_signal_fields (),
15651565 api_version = "cast" ,
1566- post_filter = (geo_values , time_values , None ),
1566+ post_filter = (geo_values , reference_time , None ),
15671567 )
15681568
15691569 def epidata_archive (
@@ -1572,18 +1572,18 @@ def epidata_archive(
15721572 signals : StringParam ,
15731573 geo_type : str ,
15741574 geo_values : StringParam = "*" ,
1575- time_values : EpiRangeParam = "*" ,
1575+ reference_time : EpiRangeParam = "*" ,
15761576 fill_method : str | None = None ,
1577- version : str | date | EpiRange | None = "*" ,
1577+ report_time_query : str | date | EpiRange | None = "*" ,
15781578 ) -> CALL_TYPE :
1579- """Fetch the full version history of CAST-API signals.
1579+ """Fetch the full report-time history of CAST-API signals.
15801580
1581- `version ` accepts an exact date, an operator-prefixed string
1581+ `report_time_query ` accepts an exact date, an operator-prefixed string
15821582 (e.g. ``"<2025-10-16"``), or an :class:`EpiRange`. ``"*"`` (default)
1583- requests all versions . `geo_values`, `time_values `, and the EpiRange
1584- lower bound are filtered locally after the API call.
1583+ requests all report times . `geo_values`, `reference_time `, and the
1584+ EpiRange lower bound are filtered locally after the API call.
15851585 """
1586- version_query = validate_version_query ( version )
1586+ report_time_query_str = validate_report_time_query ( report_time_query )
15871587
15881588 signal_str = signals if isinstance (signals , str ) else "," .join (signals )
15891589
@@ -1594,11 +1594,15 @@ def epidata_archive(
15941594 "signal" : signal_str ,
15951595 "geo_type" : geo_type ,
15961596 "fill_method" : fill_method ,
1597- "version_query " : version_query ,
1597+ "report_time_query " : report_time_query_str ,
15981598 },
15991599 _cast_signal_fields (),
16001600 api_version = "cast" ,
1601- post_filter = (geo_values , time_values , version if isinstance (version , EpiRange ) else None ),
1601+ post_filter = (
1602+ geo_values ,
1603+ reference_time ,
1604+ report_time_query if isinstance (report_time_query , EpiRange ) else None ,
1605+ ),
16021606 )
16031607
16041608 def epidata (
@@ -1607,50 +1611,51 @@ def epidata(
16071611 signals : StringParam ,
16081612 geo_type : str ,
16091613 geo_values : StringParam = "*" ,
1610- time_values : EpiRangeParam = "*" ,
1614+ reference_time : EpiRangeParam = "*" ,
16111615 fill_method : str | None = None ,
1612- as_of : str | date | None = None ,
1613- version : str | date | EpiRange | None = None ,
1616+ snapshot_date : str | date | None = None ,
1617+ report_time_query : str | date | EpiRange | None = None ,
16141618 ) -> CALL_TYPE :
16151619 """Router for CAST-API queries.
16161620
1617- Dispatches to :meth:`epidata_archive` when ``version`` is supplied or
1618- ``as_of == "*"``; otherwise to :meth:`epidata_snapshot`. ``version`` and
1619- ``as_of`` are mutually exclusive.
1621+ Dispatches to :meth:`epidata_archive` when ``report_time_query`` is
1622+ supplied or ``snapshot_date == "*"``; otherwise to
1623+ :meth:`epidata_snapshot`. ``report_time_query`` and ``snapshot_date``
1624+ are mutually exclusive.
16201625 """
1621- if version is not None and as_of is not None :
1622- raise InvalidArgumentException ("`version ` and `as_of ` are mutually exclusive" )
1626+ if report_time_query is not None and snapshot_date is not None :
1627+ raise InvalidArgumentException ("`report_time_query ` and `snapshot_date ` are mutually exclusive" )
16231628
1624- if version is not None or as_of == "*" :
1629+ if report_time_query is not None or snapshot_date == "*" :
16251630 return self .epidata_archive (
16261631 source = source ,
16271632 signals = signals ,
16281633 geo_type = geo_type ,
16291634 geo_values = geo_values ,
1630- time_values = time_values ,
1635+ reference_time = reference_time ,
16311636 fill_method = fill_method ,
1632- version = version if version is not None else "*" ,
1637+ report_time_query = report_time_query if report_time_query is not None else "*" ,
16331638 )
16341639 return self .epidata_snapshot (
16351640 source = source ,
16361641 signals = signals ,
16371642 geo_type = geo_type ,
16381643 geo_values = geo_values ,
1639- time_values = time_values ,
1644+ reference_time = reference_time ,
16401645 fill_method = fill_method ,
1641- as_of = as_of ,
1646+ snapshot_date = snapshot_date ,
16421647 )
16431648
16441649
16451650def _cast_signal_fields () -> Sequence [EpidataFieldInfo ]:
16461651 """Fields for CAST snapshot/archive responses; extras are skipped if absent."""
16471652 return [
16481653 EpidataFieldInfo ("signal" , EpidataFieldType .text ),
1649- EpidataFieldInfo ("version " , EpidataFieldType .date ),
1654+ EpidataFieldInfo ("report_time " , EpidataFieldType .date ),
16501655 EpidataFieldInfo ("geo_type" , EpidataFieldType .text ),
16511656 EpidataFieldInfo ("geo_value" , EpidataFieldType .text ),
16521657 EpidataFieldInfo ("fill_method" , EpidataFieldType .text ),
1653- EpidataFieldInfo ("time_value " , EpidataFieldType .date ),
1658+ EpidataFieldInfo ("reference_time " , EpidataFieldType .date ),
16541659 EpidataFieldInfo ("value" , EpidataFieldType .float ),
16551660 # Source-specific extras (skipped per-response if not present):
16561661 EpidataFieldInfo ("age_group" , EpidataFieldType .text ), # pophive
0 commit comments