[docs]@contextmanagerdefdisable_copy_on_write(name):"""Context manager to disable Pandas :ref:`pandas:copy_on_write`. A message is logged with level :any:`logging.DEBUG` if the setting is changed. """importpandasstored=pandas.options.mode.copy_on_writeoverride_value="warn"ifversion()>=Version("2.2.0")elseFalsetry:ifstoredisTrue:log.debug(f"Override pandas.mode.options.copy_on_write = True for {name}")pandas.options.mode.copy_on_write=override_valueyieldfinally:pandas.options.mode.copy_on_write=stored
[docs]@lru_cachedefhandles_parquet_attrs()->bool:"""Return :any:`True` if :mod:`pandas` can read/write attrs to/from Parquet files. If not, a message is logged. """ifversion()<Version("2.1.0"):log.info(f"Pandas {version()!s} < 2.1.0 cannot read/write Quantity.attrs "f"to/from Parquet; {__name__} will use pickle from the standard library")returnFalseelse:returnTrue