from pandas.core.frame import DataFrame
from pandas.core.indexes.base import Index
from pandas.core.series import Series
from pandas._typing import FilePathOrBuffer as FilePathOrBuffer, FrameOrSeries as FrameOrSeries
from typing import Any, List, Optional, Union

lzma = ...
N: int = ...
K: int = ...

def set_testing_mode() -> None: ...
def reset_testing_mode() -> None: ...
def reset_display_options() -> None: ...
def round_trip_pickle(obj, path: Optional[FilePathOrBuffer]=...) -> FrameOrSeries: ...
def round_trip_pathlib(writer, reader, path: Optional[str]=...) : ...
def round_trip_localpath(writer, reader, path: Optional[str]=...) : ...
def decompress_file(path, compression) -> None: ...
def write_to_compressed(compression, path, data, dest: str = ...) -> None: ...
def assert_almost_equal(left, right, check_dtype: Union[bool, str]=..., check_less_precise: Union[bool, int]=..., **kwargs) : ...
def assert_dict_equal(left, right, compare_keys: bool=...) : ...
def randbool(size=..., p: float=...) : ...

RANDS_CHARS = ...
RANDU_CHARS = ...

def rands_array(nchars, size, dtype: str = ...): ...
def randu_array(nchars, size, dtype: str = ...): ...
def rands(nchars): ...
def randu(nchars): ...
def close(fignum = ...) -> None: ...
def ensure_clean(filename = ..., return_filelike: bool = ...) -> None: ...
def ensure_clean_dir() -> None: ...
def ensure_safe_environment_variables() -> None: ...
def equalContents(arr1, arr2) -> bool: ...
def assert_index_equal(left: Index[Any], right: Index[Any]) -> None: ...
def assert_class_equal(left, right, exact: Union[bool, str]=..., obj=...) : ...
def assert_attr_equal(attr, left, right, obj: str = ...): ...
def assert_is_valid_plot_return_object(objs) -> None: ...
def isiterable(obj) -> bool: ...
def assert_is_sorted(seq) -> None: ...
def assert_categorical_equal(left, right, check_dtype: bool = ..., check_category_order: bool = ..., obj: str = ...) -> None: ...
def assert_interval_array_equal(left, right, exact: str = ..., obj: str = ...) -> None: ...
def assert_period_array_equal(left, right, obj: str = ...) -> None: ...
def assert_datetime_array_equal(left, right, obj: str = ...) -> None: ...
def assert_timedelta_array_equal(left, right, obj: str = ...) -> None: ...
def raise_assert_detail(obj, message, left, right, diff = ...) -> None: ...
def assert_numpy_array_equal(left, right, strict_nan: bool = ..., check_dtype: bool = ..., err_msg = ..., check_same = ..., obj: str = ...): ...
def assert_extension_array_equal(
    left, right, check_dtype: bool = ..., check_less_precise: bool = ..., check_exact: bool = ...,
) -> None: ...
def assert_series_equal(left: Series, right: Series,
    check_dtype: bool = ...,
    check_index_type: bool|str = ...,
    check_series_type: bool = ...,
    check_less_precise: bool|int = ...,
    check_names : bool = ...,
    check_exact: bool = ...,
    check_datetimelike_compat: bool = ...,
    check_categorical: bool = ...,
    check_category_order: bool = ...,
    check_freq: bool = ...,
    check_flags: bool = ...,
    rtol: float = ...,
    atol: float = ...,
    obj: str = ...,
    *,
    check_index: bool = ...) -> None: ...
def assert_frame_equal(left: DataFrame, right: DataFrame, check_like: Optional[bool] = ...) -> None: ...
def assert_equal(left, right, **kwargs) -> None: ...
def box_expected(expected, box_cls, transpose: bool = ...): ...
def to_array(obj): ...
def assert_sp_array_equal(left, right, check_dtype: bool = ..., check_kind: bool = ..., check_fill_value: bool = ..., consolidate_block_indices: bool = ...) -> None: ...
def assert_contains_all(iterable, dic) -> None: ...
def assert_copy(iter1, iter2, **eql_kwargs) -> None: ...
def getCols(k): ...
def makeStringIndex(k: int = ..., name = ...): ...
def makeUnicodeIndex(k: int = ..., name = ...): ...
def makeCategoricalIndex(k: int = ..., n: int = ..., name = ..., **kwargs): ...
def makeIntervalIndex(k: int = ..., name = ..., **kwargs): ...
def makeBoolIndex(k: int = ..., name = ...): ...
def makeIntIndex(k: int = ..., name = ...): ...
def makeUIntIndex(k: int = ..., name = ...): ...
def makeRangeIndex(k: int = ..., name = ..., **kwargs): ...
def makeFloatIndex(k: int = ..., name = ...): ...
def makeDateIndex(k: int = ..., freq: str = ..., name = ..., **kwargs): ...
def makeTimedeltaIndex(k: int = ..., freq: str = ..., name = ..., **kwargs): ...
def makePeriodIndex(k: int = ..., name = ..., **kwargs): ...
def makeMultiIndex(k: int = ..., names = ..., **kwargs): ...
def all_index_generator(k: int = ...) -> None: ...
def index_subclass_makers_generator() -> None: ...
def all_timeseries_index_generator(k: int = ...) -> None: ...
def makeFloatSeries(name = ...): ...
def makeStringSeries(name = ...): ...
def makeObjectSeries(name = ...): ...
def getSeriesData(): ...
def makeTimeSeries(nper = ..., freq: str = ..., name = ...): ...
def makePeriodSeries(nper = ..., name = ...): ...
def getTimeSeriesData(nper = ..., freq: str = ...): ...
def getPeriodData(nper = ...): ...
def makeTimeDataFrame(nper = ..., freq: str = ...): ...
def makeDataFrame(): ...
def getMixedTypeDict(): ...
def makeMixedDataFrame(): ...
def makePeriodFrame(nper = ...): ...
def makeCustomIndex(nentries, nlevels, prefix: str = ..., names: bool = ..., ndupe_l = ..., idx_type = ...): ...
def makeCustomDataframe(nrows, ncols, c_idx_names: bool = ..., r_idx_names: bool = ..., c_idx_nlevels: int = ..., r_idx_nlevels: int = ..., data_gen_f = ..., c_ndupe_l = ..., r_ndupe_l = ..., dtype = ..., c_idx_type = ..., r_idx_type = ...): ...
def makeMissingCustomDataframe(nrows, ncols, density: float = ..., random_state = ..., c_idx_names: bool = ..., r_idx_names: bool = ..., c_idx_nlevels: int = ..., r_idx_nlevels: int = ..., data_gen_f = ..., c_ndupe_l = ..., r_ndupe_l = ..., dtype = ..., c_idx_type = ..., r_idx_type = ...): ...
def makeMissingDataframe(density: float = ..., random_state = ...): ...
def optional_args(decorator): ...
def can_connect(url, error_classes = ...): ...
def network(t, url: str = ..., raise_on_error = ..., check_before_test: bool = ..., error_classes = ..., skip_errnos = ..., _skip_on_messages = ...): ...
with_connectivity_check = network

def assert_produces_warning(expected_warning = ..., filter_level: str = ..., clear = ..., check_stacklevel: bool = ..., raise_on_extra_warnings: bool = ...) -> None: ...

def with_csv_dialect(name, **kwargs) -> None: ...
def use_numexpr(use, min_elements = ...) -> None: ...
def test_parallel(num_threads: int = ..., kwargs_list = ...): ...

def set_timezone(tz: str) : ...
def convert_rows_list_to_csv_str(rows_list: List[str]) : ...
