Repository: evidentlyai/evidently
Issue: TypeError: analyzers() missing 1 required positional argument: 'self' in [historical_drift_visualization.ipynb]
Root cause: Documentation Deficiency

I am getting the following error when trying to execute publicly available code (lines 200-205 "Features Drift" section) from https://github.com/evidentlyai/evidently/blob/main/evidently/tutorials/historical_drift_visualization.ipynb:
-----
TypeError                                 Traceback (most recent call last)
<ipython-input-17-0cdbc9afe012> in <module>
      3 
      4 for date in experiment_batches:
----> 5     drifts = detect_features_drift(raw_data.loc[reference_dates[0]:reference_dates[1]], 
      6                            raw_data.loc[date[0]:date[1]],
      7                            column_mapping=data_columns,

<ipython-input-16-044c700989fb> in detect_features_drift(reference, production, column_mapping, confidence, threshold, get_pvalues)
      8     """
      9 
---> 10     data_drift_profile = Profile(sections=[DataDriftProfileSection])
     11     data_drift_profile.calculate(reference, production, column_mapping=column_mapping)
     12     report = data_drift_profile.json()

~\AppData\Roaming\Python\Python38\site-packages\evidently\model_profile\model_profile.py in __init__(self, sections, options)
     16 
     17     def __init__(self, sections: Sequence[ProfileSection], options: Optional[list] = None):
---> 18         super().__init__(sections, options if options is not None else [])
     19         self.result = {}
     20 

~\AppData\Roaming\Python\Python38\site-packages\evidently\pipeline\pipeline.py in __init__(self, stages, options)
     20         self.analyzers_results = {}
     21         self.options_provider = OptionsProvider()
---> 22         self._analyzers = list(itertools.chain.from_iterable([stage.analyzers() for stage in stages]))
     23         for option in options:
     24             self.options_provider.add(option)

~\AppData\Roaming\Python\Python38\site-packages\evidently\pipeline\pipeline.py in <listcomp>(.0)
     20         self.analyzers_results = {}
     21         self.options_provider = OptionsProvider()
---> 22         self._analyzers = list(itertools.chain.from_iterable([stage.analyzers() for stage in stages]))
     23         for option in options:
     24             self.options_provider.add(option)

TypeError: analyzers() missing 1 required positional argument: 'self'
----
I obtained a similar error after trying to execute lines 195-196 (section: Dataset drift).

I use Python 3.8.8/ Win10

I installed Evidently with some problems. After successful installation (pip install --user Evidently) I got the following error:
"mitosheet 0.1.361 requires plotly==5.3.0, but you have plotly 4.12.0 which is incompatible"
and after (pip install plotly==5.3.0) pip informed me that
"0.1.34.dev0 requires plotly~=4.12.0, but you have plotly 5.3.0 which is incompatible."
However, the pip installation with user argument seems to be contradictory with a tip from the "evidently" team: "building reports inside a Jupyter notebook is not yet possible for Windows. The reason is Windows requires administrator privileges to create symlink."

Hi @tomaszek0 ,

thank you for reporting this!

It seems like you are using an outdated version of the example. Could you please load the latest version from our repo: https://github.com/evidentlyai/evidently/blob/main/evidently/tutorials/historical_drift_visualization.ipynb ? This should be already fixed.



@Liraim could you please take a look at the problems with the installation? May be we can suggest something here?

Hi @tomaszek0,

Thanks for reporting issues with using evidently on Windows!

1) Error about incompatible libraries is known issue, and we are fixing it, but it shouldn't affect anything.

2) Looks like our Installation instruction for Windows a bit outdated, we will update it in couple of days.


Hi 
Thank you for the updated code. Now, the code generates the expected output on my machine (Windows 10).