| """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 | |