We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
AttributeError: 'FileDataContext' object has no attribute 'create_expectation_suite'
### Current Behaviour

AttributeError: 'FileDataContext' object has no attribute 'create_expectation_suite'

[Related to this issue](https://docs.greatexpectations.io/docs/changelog/#01549): "[MAINTENANCE] Change all instances of create_expectation_suite to add_expectation_suite in tests, docs, and source code ([#7117](https://github.com/great-expectations/great_expectations/pull/7117))" 

DataContext objects no longer has a method 'create_expectation_suite'.

### Expected Behaviour

[Great expectation test suite](https://docs.profiling.ydata.ai/4.6/integrations/great_expectations/#creating-expectation-suites-with-ydata-profiling): "ydata-profiling provides a simple to_expectation_suite() method that returns a Great Expectations ExpectationSuite object which contains a set of Expectations."

### Data Description

[Dataset can be used from the documentation](https://docs.profiling.ydata.ai/4.6/integrations/great_expectations/#about-great-expectations)

### Code that reproduces the bug

```Python
profile = ProfileReport(
    df, 
    title='Pandas Profiling Report', 
    type_schema=type_schema,
    minimal=True, 
    lazy=False
)
data_context = ge.data_context.DataContext(
    context_root_dir='./gx/'
)
suite = profile.to_expectation_suite(
    data_context=data_context
)
```


### pandas-profiling version

-

### Dependencies

```Text
-
```


### OS

_No response_

### Checklist

- [X] There is not yet another bug report for this issue in the [issue tracker](https://github.com/ydataai/pandas-profiling/issues)
- [X] The problem is reproducible from this bug report. [This guide](http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) can help to craft a minimal bug report.
- [X] The issue has not been resolved by the entries listed under [Common Issues](https://pandas-profiling.ydata.ai/docs/master/pages/support_contrib/common_issues.html).

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `src/ydata_profiling/expectations_report.py`
Content:
```
1 from typing import Any, Optional
2 
3 import pandas as pd
4 from visions import VisionsTypeset
5 
6 from ydata_profiling.config import Settings
7 from ydata_profiling.model import BaseDescription, expectation_algorithms
8 from ydata_profiling.model.handler import Handler
9 from ydata_profiling.utils.dataframe import slugify
10 
11 
12 class ExpectationHandler(Handler):
13     """Default handler"""
14 
15     def __init__(self, typeset: VisionsTypeset, *args, **kwargs):
16         mapping = {
17             "Unsupported": [expectation_algorithms.generic_expectations],
18             "Text": [expectation_algorithms.categorical_expectations],
19             "Categorical": [expectation_algorithms.categorical_expectations],
20             "Boolean": [expectation_algorithms.categorical_expectations],
21             "Numeric": [expectation_algorithms.numeric_expectations],
22             "URL": [expectation_algorithms.url_expectations],
23             "File": [expectation_algorithms.file_expectations],
24             "Path": [expectation_algorithms.path_expectations],
25             "DateTime": [expectation_algorithms.datetime_expectations],
26             "Image": [expectation_algorithms.image_expectations],
27         }
28         super().__init__(mapping, typeset, *args, **kwargs)
29 
30 
31 class ExpectationsReport:
32     config: Settings
33     df: Optional[pd.DataFrame] = None
34 
35     @property
36     def typeset(self) -> Optional[VisionsTypeset]:
37         return None
38 
39     def to_expectation_suite(
40         self,
41         suite_name: Optional[str] = None,
42         data_context: Optional[Any] = None,
43         save_suite: bool = True,
44         run_validation: bool = True,
45         build_data_docs: bool = True,
46         handler: Optional[Handler] = None,
47     ) -> Any:
48         """
49         All parameters default to True to make it easier to access the full functionality of Great Expectations out of
50         the box.
51         Args:
52             suite_name: The name of your expectation suite
53             data_context: A user-specified data context
54             save_suite: Boolean to determine whether to save the suite to .json as part of the method
55             run_validation: Boolean to determine whether to run validation as part of the method
56             build_data_docs: Boolean to determine whether to build data docs, save the .html file, and open data docs in
57                 your browser
58             handler: The handler to use for building expectation
59 
60         Returns:
61             An ExpectationSuite
62         """
63         try:
64             import great_expectations as ge
65         except ImportError as ex:
66             raise ImportError(
67                 "Please install great expectations before using the expectation functionality"
68             ) from ex
69 
70         # Use report title if suite is empty
71         if suite_name is None:
72             suite_name = slugify(self.config.title)
73 
74         # Use the default handler if none
75         if handler is None:
76             handler = ExpectationHandler(self.typeset)
77 
78         # Obtain the ge context and create the expectation suite
79         if not data_context:
80             data_context = ge.data_context.DataContext()
81 
82         suite = data_context.create_expectation_suite(
83             suite_name, overwrite_existing=True
84         )
85 
86         # Instantiate an in-memory pandas dataset
87         batch = ge.dataset.PandasDataset(self.df, expectation_suite=suite)
88 
89         # Obtain the profiling summary
90         summary: BaseDescription = self.get_description()  # type: ignore
91 
92         # Dispatch to expectations per semantic variable type
93         for name, variable_summary in summary.variables.items():
94             handler.handle(variable_summary["type"], name, variable_summary, batch)
95 
96         # We don't actually update the suite object on the batch in place, so need
97         # to get the populated suite from the batch
98         suite = batch.get_expectation_suite()
99 
100         validation_result_identifier = None
101         if run_validation:
102             batch = ge.dataset.PandasDataset(self.df, expectation_suite=suite)
103 
104             results = data_context.run_validation_operator(
105                 "action_list_operator", assets_to_validate=[batch]
106             )
107             validation_result_identifier = results.list_validation_result_identifiers()[
108                 0
109             ]
110 
111         # Write expectations and open data docs
112         if save_suite or build_data_docs:
113             data_context.save_expectation_suite(suite)
114 
115         if build_data_docs:
116             data_context.build_data_docs()
117             data_context.open_data_docs(validation_result_identifier)
118 
119         return batch.get_expectation_suite()
120
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/src/ydata_profiling/expectations_report.py b/src/ydata_profiling/expectations_report.py
--- a/src/ydata_profiling/expectations_report.py
+++ b/src/ydata_profiling/expectations_report.py
@@ -79,7 +79,7 @@
         if not data_context:
             data_context = ge.data_context.DataContext()
 
-        suite = data_context.create_expectation_suite(
+        suite = data_context.add_expectation_suite(
             suite_name, overwrite_existing=True
         )

{"golden_diff": "diff --git a/src/ydata_profiling/expectations_report.py b/src/ydata_profiling/expectations_report.py\n--- a/src/ydata_profiling/expectations_report.py\n+++ b/src/ydata_profiling/expectations_report.py\n@@ -79,7 +79,7 @@\n         if not data_context:\n             data_context = ge.data_context.DataContext()\n \n-        suite = data_context.create_expectation_suite(\n+        suite = data_context.add_expectation_suite(\n             suite_name, overwrite_existing=True\n         )\n", "issue": "AttributeError: 'FileDataContext' object has no attribute 'create_expectation_suite'\n### Current Behaviour\n\nAttributeError: 'FileDataContext' object has no attribute 'create_expectation_suite'\r\n\r\n[Related to this issue](https://docs.greatexpectations.io/docs/changelog/#01549): \"[MAINTENANCE] Change all instances of create_expectation_suite to add_expectation_suite in tests, docs, and source code ([#7117](https://github.com/great-expectations/great_expectations/pull/7117))\" \r\n\r\nDataContext objects no longer has a method 'create_expectation_suite'.\n\n### Expected Behaviour\n\n[Great expectation test suite](https://docs.profiling.ydata.ai/4.6/integrations/great_expectations/#creating-expectation-suites-with-ydata-profiling): \"ydata-profiling provides a simple to_expectation_suite() method that returns a Great Expectations ExpectationSuite object which contains a set of Expectations.\"\n\n### Data Description\n\n[Dataset can be used from the documentation](https://docs.profiling.ydata.ai/4.6/integrations/great_expectations/#about-great-expectations)\n\n### Code that reproduces the bug\n\n```Python\nprofile = ProfileReport(\r\n    df, \r\n    title='Pandas Profiling Report', \r\n    type_schema=type_schema,\r\n    minimal=True, \r\n    lazy=False\r\n)\r\ndata_context = ge.data_context.DataContext(\r\n    context_root_dir='./gx/'\r\n)\r\nsuite = profile.to_expectation_suite(\r\n    data_context=data_context\r\n)\n```\n\n\n### pandas-profiling version\n\n-\n\n### Dependencies\n\n```Text\n-\n```\n\n\n### OS\n\n_No response_\n\n### Checklist\n\n- [X] There is not yet another bug report for this issue in the [issue tracker](https://github.com/ydataai/pandas-profiling/issues)\n- [X] The problem is reproducible from this bug report. [This guide](http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) can help to craft a minimal bug report.\n- [X] The issue has not been resolved by the entries listed under [Common Issues](https://pandas-profiling.ydata.ai/docs/master/pages/support_contrib/common_issues.html).\n", "before_files": [{"content": "from typing import Any, Optional\n\nimport pandas as pd\nfrom visions import VisionsTypeset\n\nfrom ydata_profiling.config import Settings\nfrom ydata_profiling.model import BaseDescription, expectation_algorithms\nfrom ydata_profiling.model.handler import Handler\nfrom ydata_profiling.utils.dataframe import slugify\n\n\nclass ExpectationHandler(Handler):\n    \"\"\"Default handler\"\"\"\n\n    def __init__(self, typeset: VisionsTypeset, *args, **kwargs):\n        mapping = {\n            \"Unsupported\": [expectation_algorithms.generic_expectations],\n            \"Text\": [expectation_algorithms.categorical_expectations],\n            \"Categorical\": [expectation_algorithms.categorical_expectations],\n            \"Boolean\": [expectation_algorithms.categorical_expectations],\n            \"Numeric\": [expectation_algorithms.numeric_expectations],\n            \"URL\": [expectation_algorithms.url_expectations],\n            \"File\": [expectation_algorithms.file_expectations],\n            \"Path\": [expectation_algorithms.path_expectations],\n            \"DateTime\": [expectation_algorithms.datetime_expectations],\n            \"Image\": [expectation_algorithms.image_expectations],\n        }\n        super().__init__(mapping, typeset, *args, **kwargs)\n\n\nclass ExpectationsReport:\n    config: Settings\n    df: Optional[pd.DataFrame] = None\n\n    @property\n    def typeset(self) -> Optional[VisionsTypeset]:\n        return None\n\n    def to_expectation_suite(\n        self,\n        suite_name: Optional[str] = None,\n        data_context: Optional[Any] = None,\n        save_suite: bool = True,\n        run_validation: bool = True,\n        build_data_docs: bool = True,\n        handler: Optional[Handler] = None,\n    ) -> Any:\n        \"\"\"\n        All parameters default to True to make it easier to access the full functionality of Great Expectations out of\n        the box.\n        Args:\n            suite_name: The name of your expectation suite\n            data_context: A user-specified data context\n            save_suite: Boolean to determine whether to save the suite to .json as part of the method\n            run_validation: Boolean to determine whether to run validation as part of the method\n            build_data_docs: Boolean to determine whether to build data docs, save the .html file, and open data docs in\n                your browser\n            handler: The handler to use for building expectation\n\n        Returns:\n            An ExpectationSuite\n        \"\"\"\n        try:\n            import great_expectations as ge\n        except ImportError as ex:\n            raise ImportError(\n                \"Please install great expectations before using the expectation functionality\"\n            ) from ex\n\n        # Use report title if suite is empty\n        if suite_name is None:\n            suite_name = slugify(self.config.title)\n\n        # Use the default handler if none\n        if handler is None:\n            handler = ExpectationHandler(self.typeset)\n\n        # Obtain the ge context and create the expectation suite\n        if not data_context:\n            data_context = ge.data_context.DataContext()\n\n        suite = data_context.create_expectation_suite(\n            suite_name, overwrite_existing=True\n        )\n\n        # Instantiate an in-memory pandas dataset\n        batch = ge.dataset.PandasDataset(self.df, expectation_suite=suite)\n\n        # Obtain the profiling summary\n        summary: BaseDescription = self.get_description()  # type: ignore\n\n        # Dispatch to expectations per semantic variable type\n        for name, variable_summary in summary.variables.items():\n            handler.handle(variable_summary[\"type\"], name, variable_summary, batch)\n\n        # We don't actually update the suite object on the batch in place, so need\n        # to get the populated suite from the batch\n        suite = batch.get_expectation_suite()\n\n        validation_result_identifier = None\n        if run_validation:\n            batch = ge.dataset.PandasDataset(self.df, expectation_suite=suite)\n\n            results = data_context.run_validation_operator(\n                \"action_list_operator\", assets_to_validate=[batch]\n            )\n            validation_result_identifier = results.list_validation_result_identifiers()[\n                0\n            ]\n\n        # Write expectations and open data docs\n        if save_suite or build_data_docs:\n            data_context.save_expectation_suite(suite)\n\n        if build_data_docs:\n            data_context.build_data_docs()\n            data_context.open_data_docs(validation_result_identifier)\n\n        return batch.get_expectation_suite()\n", "path": "src/ydata_profiling/expectations_report.py"}], "after_files": [{"content": "from typing import Any, Optional\n\nimport pandas as pd\nfrom visions import VisionsTypeset\n\nfrom ydata_profiling.config import Settings\nfrom ydata_profiling.model import BaseDescription, expectation_algorithms\nfrom ydata_profiling.model.handler import Handler\nfrom ydata_profiling.utils.dataframe import slugify\n\n\nclass ExpectationHandler(Handler):\n    \"\"\"Default handler\"\"\"\n\n    def __init__(self, typeset: VisionsTypeset, *args, **kwargs):\n        mapping = {\n            \"Unsupported\": [expectation_algorithms.generic_expectations],\n            \"Text\": [expectation_algorithms.categorical_expectations],\n            \"Categorical\": [expectation_algorithms.categorical_expectations],\n            \"Boolean\": [expectation_algorithms.categorical_expectations],\n            \"Numeric\": [expectation_algorithms.numeric_expectations],\n            \"URL\": [expectation_algorithms.url_expectations],\n            \"File\": [expectation_algorithms.file_expectations],\n            \"Path\": [expectation_algorithms.path_expectations],\n            \"DateTime\": [expectation_algorithms.datetime_expectations],\n            \"Image\": [expectation_algorithms.image_expectations],\n        }\n        super().__init__(mapping, typeset, *args, **kwargs)\n\n\nclass ExpectationsReport:\n    config: Settings\n    df: Optional[pd.DataFrame] = None\n\n    @property\n    def typeset(self) -> Optional[VisionsTypeset]:\n        return None\n\n    def to_expectation_suite(\n        self,\n        suite_name: Optional[str] = None,\n        data_context: Optional[Any] = None,\n        save_suite: bool = True,\n        run_validation: bool = True,\n        build_data_docs: bool = True,\n        handler: Optional[Handler] = None,\n    ) -> Any:\n        \"\"\"\n        All parameters default to True to make it easier to access the full functionality of Great Expectations out of\n        the box.\n        Args:\n            suite_name: The name of your expectation suite\n            data_context: A user-specified data context\n            save_suite: Boolean to determine whether to save the suite to .json as part of the method\n            run_validation: Boolean to determine whether to run validation as part of the method\n            build_data_docs: Boolean to determine whether to build data docs, save the .html file, and open data docs in\n                your browser\n            handler: The handler to use for building expectation\n\n        Returns:\n            An ExpectationSuite\n        \"\"\"\n        try:\n            import great_expectations as ge\n        except ImportError as ex:\n            raise ImportError(\n                \"Please install great expectations before using the expectation functionality\"\n            ) from ex\n\n        # Use report title if suite is empty\n        if suite_name is None:\n            suite_name = slugify(self.config.title)\n\n        # Use the default handler if none\n        if handler is None:\n            handler = ExpectationHandler(self.typeset)\n\n        # Obtain the ge context and create the expectation suite\n        if not data_context:\n            data_context = ge.data_context.DataContext()\n\n        suite = data_context.add_expectation_suite(\n            suite_name, overwrite_existing=True\n        )\n\n        # Instantiate an in-memory pandas dataset\n        batch = ge.dataset.PandasDataset(self.df, expectation_suite=suite)\n\n        # Obtain the profiling summary\n        summary: BaseDescription = self.get_description()  # type: ignore\n\n        # Dispatch to expectations per semantic variable type\n        for name, variable_summary in summary.variables.items():\n            handler.handle(variable_summary[\"type\"], name, variable_summary, batch)\n\n        # We don't actually update the suite object on the batch in place, so need\n        # to get the populated suite from the batch\n        suite = batch.get_expectation_suite()\n\n        validation_result_identifier = None\n        if run_validation:\n            batch = ge.dataset.PandasDataset(self.df, expectation_suite=suite)\n\n            results = data_context.run_validation_operator(\n                \"action_list_operator\", assets_to_validate=[batch]\n            )\n            validation_result_identifier = results.list_validation_result_identifiers()[\n                0\n            ]\n\n        # Write expectations and open data docs\n        if save_suite or build_data_docs:\n            data_context.save_expectation_suite(suite)\n\n        if build_data_docs:\n            data_context.build_data_docs()\n            data_context.open_data_docs(validation_result_identifier)\n\n        return batch.get_expectation_suite()\n", "path": "src/ydata_profiling/expectations_report.py"}]}