question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

bug: trace.enable() no longer works in pandas/dask backends

See original GitHub issue

Something with option registration doesn’t seem quite right, I haven’t dug into why yet:

In [2]: from ibis.backends.pandas import trace as pandas_trace

In [3]: pandas_trace.enable()
---------------------------------------------------------------------------
OptionError                               Traceback (most recent call last)
<ipython-input-3-ede9e3aa5fd1> in <module>
----> 1 pandas_trace.enable()

../ibis/backends/pandas/trace.py in enable()
     86 def enable():
     87     """Enable tracing."""
---> 88     set_option(_TRACE_CONFIG, True)
     89     logging.getLogger('ibis.backends.pandas.trace').setLevel(logging.DEBUG)
     90 

../ibis/config.py in __call__(self, *args, **kwds)
    246     def __call__(self, *args, **kwds):
    247         """Call the the function defined when the object was initialized."""
--> 248         return self.__func__(*args, **kwds)
    249 
    250     @property

.../ibis/config.py in _set_option(*args, **kwargs)
     92 
     93     for k, v in zip(args[::2], args[1::2]):
---> 94         key = _get_single_key(k, silent)
     95 
     96         o = _get_registered_option(key)

../ibis/config.py in _get_single_key(pat, silent)
     59         if not silent:
     60             _warn_if_deprecated(pat)
---> 61         raise OptionError('No such keys(s): %r' % pat)
     62     if len(keys) > 1:
     63         raise OptionError('Pattern matched multiple keys')

OptionError: "No such keys(s): 'pandas.enable_trace'"

In [4]: from ibis.backends.dask import trace as dask_trace

In [5]: dask_trace.enable()
---------------------------------------------------------------------------
OptionError                               Traceback (most recent call last)
<ipython-input-5-9948765eb5ab> in <module>
----> 1 dask_trace.enable()

.../ibis/backends/dask/trace.py in enable()
     72 def enable():
     73     """Enable tracing."""
---> 74     set_option(_TRACE_CONFIG, True)
     75     logging.getLogger('ibis.dask.trace').setLevel(logging.DEBUG)
     76 

.../ibis/config.py in __call__(self, *args, **kwds)
    246     def __call__(self, *args, **kwds):
    247         """Call the the function defined when the object was initialized."""
--> 248         return self.__func__(*args, **kwds)
    249 
    250     @property

.../ibis/config.py in _set_option(*args, **kwargs)
     92 
     93     for k, v in zip(args[::2], args[1::2]):
---> 94         key = _get_single_key(k, silent)
     95 
     96         o = _get_registered_option(key)

.../ibis/config.py in _get_single_key(pat, silent)
     59         if not silent:
     60             _warn_if_deprecated(pat)
---> 61         raise OptionError('No such keys(s): %r' % pat)
     62     if len(keys) > 1:
     63         raise OptionError('Pattern matched multiple keys')

OptionError: "No such keys(s): 'dask.enable_trace'"

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:10 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
cpcloudcommented, Jan 29, 2022

Maybe these options should be registered as part of backend init?

That seems reasonable. I’ve got a PR up to replace the existing config with pydantic in #3376, I can address this issue as a follow up to that PR.

1reaction
gerrymanoimcommented, Dec 17, 2021

It works fine in the old version of ibis, so I think it is a regression, but I haven’t had a chance to track down where.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Changelog - Dask documentation
Fix mindeps-distributed CI build to handle numpy / pandas not being installed (GH#9668) ... More Backend dispatch class type annotations (GH#9573) Ian Rose ......
Read more >
Dask engine can only have 4 partitions - Pull Requests #2492
FIXBUG : Dask engine can have multiple partitions according to n_workers #2492 ... TypeError: object of type 'coroutine' has no len().
Read more >
Release Notes - Ibis Project
Enable non -equijoins (join clauses with operations other than == ). Add remaining string functions supported by Impala. Add pipe method to ...
Read more >
What's New - Xarray
Fixed bug where Dataset.coarsen.construct() would demote non-dimension ... Enable providing more keyword arguments to the pydap backend when reading OpenDAP ...
Read more >
What's new in 1.0.0 (January 29, 2020) - Pandas
It is recommended to first upgrade to pandas 0.25 and to ensure your code is working without warnings, before upgrading to pandas 1.0....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found