macrosynergy.download.dataquery_file_api.common#

class RateLimitedRequester(api_delay)[source]#

Bases: object

Provides a thread-safe rate-limiting mechanism for API requests.

pl_string_type()[source]#
class JPMaQSParquetExpectedColumns(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

TICKER = {'eop_lag': Float64, 'grading': Float64, 'last_updated': Datetime(time_unit='us', time_zone=None), 'mop_lag': Float64, 'real_date': Date, 'ticker': String, 'value': Float64}#
METADATA = {'Category': String, 'Definition': String, 'Group': String, 'Last Updated': Datetime(time_unit='ns', time_zone=None), 'Market': String, 'Market Group': String, 'Theme': String, 'Ticker': String}#
pd_to_datetime_compat(ts, format='mixed', utc=True)[source]#

Parse common timestamp-like inputs into pandas datetime objects.

  • Scalars return a pd.Timestamp

  • pd.Series returns a Series of Timestamps

Notes

  • Strings accept the same formats as _pd_to_datetime_compat (and in pandas>=2.0 also support format=”mixed”).

  • Non-string scalars (date/datetime/Timestamp) are converted via pd.Timestamp and optionally localized/converted to UTC.

pd_timestamp_compat(ts=None, *, utc=True)[source]#

Convert common timestamp-like inputs into a pandas Timestamp.

This is a thin wrapper around pd_to_datetime_compat for scalar inputs. It keeps the legacy convenience of ts=None defaulting to “now”.

Return type:

Timestamp

get_current_or_last_business_day(now_utc=None)[source]#

Return “today” (UTC) if it’s a weekday, otherwise the previous business day.

Notes

  • “Business day” is Monday-Friday (no holiday calendar).

  • Returned Timestamp is UTC and normalized to midnight.

Return type:

Timestamp

validate_dq_timestamp(ts, var_name=None, raise_error=True)[source]#

Validate a timestamp string for DataQuery API.

Return type:

bool