"""Tests that the tslibs API is locked down""" | |
from pandas._libs import tslibs | |
def test_namespace(): | |
submodules = [ | |
"base", | |
"ccalendar", | |
"conversion", | |
"dtypes", | |
"fields", | |
"nattype", | |
"np_datetime", | |
"offsets", | |
"parsing", | |
"period", | |
"strptime", | |
"vectorized", | |
"timedeltas", | |
"timestamps", | |
"timezones", | |
"tzconversion", | |
] | |
api = [ | |
"BaseOffset", | |
"NaT", | |
"NaTType", | |
"iNaT", | |
"nat_strings", | |
"OutOfBoundsDatetime", | |
"OutOfBoundsTimedelta", | |
"Period", | |
"IncompatibleFrequency", | |
"Resolution", | |
"Tick", | |
"Timedelta", | |
"dt64arr_to_periodarr", | |
"Timestamp", | |
"is_date_array_normalized", | |
"ints_to_pydatetime", | |
"normalize_i8_timestamps", | |
"get_resolution", | |
"delta_to_nanoseconds", | |
"ints_to_pytimedelta", | |
"localize_pydatetime", | |
"tz_convert_from_utc", | |
"tz_convert_from_utc_single", | |
"to_offset", | |
"tz_compare", | |
"is_unitless", | |
"astype_overflowsafe", | |
"get_unit_from_dtype", | |
"periods_per_day", | |
"periods_per_second", | |
"guess_datetime_format", | |
"add_overflowsafe", | |
"get_supported_dtype", | |
"is_supported_dtype", | |
] | |
expected = set(submodules + api) | |
names = [x for x in dir(tslibs) if not x.startswith("__")] | |
assert set(names) == expected | |