Repository: spyder-ide/spyder

Issue:
Spyder 6.0 beta1 release
This is an issue to track  comments, questions, pending things, and general changes regarding dependencies done for the Spyder 6 beta1 release.

New/updated dependencies:

* spyder-kernels >=3.0.0b6 - Done (https://github.com/conda-forge/spyder-kernels-feedstock/pull/102)
* aiohttp>=3.9.3 - https://github.com/spyder-ide/spyder/pull/21757
* asyncssh>=2.0.0,<3.0.0 - (partially done at https://github.com/spyder-ide/spyder/pull/21757, missing upper constraint)
* yarl>=1.9.4 - https://github.com/spyder-ide/spyder/pull/21757


Discussion:
@dalthviz, please add an upper constraint to `asyncssh` when you update our core deps for the release (I edited your OP with the new constraint).

That's necessary because `asyncssh` is critical for the Remote client plugin.

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -205,7 +205,7 @@ def run(self):
 install_requires = [
     'aiohttp>=3.9.3',
     'applaunchservices>=0.3.0;platform_system=="Darwin"',
-    'asyncssh>=2.0.0',
+    'asyncssh>=2.0.0,<3.0.0',
     'atomicwrites>=1.2.0',
     'chardet>=2.0.0',
     'cloudpickle>=0.5.0',
@@ -245,7 +245,7 @@ def run(self):
     'rtree>=0.9.7',
     'setuptools>=49.6.0',
     'sphinx>=0.6.6',
-    'spyder-kernels>=3.0.0b5,<3.0.0b6',
+    'spyder-kernels>=3.0.0b6,<3.0.0b7',
     'superqt>=0.6.1,<1.0.0',
     'textdistance>=4.2.0',
     'three-merge>=0.1.1',
@@ -260,7 +260,7 @@ def run(self):
                         if req.split(">")[0] not in reqs_to_loosen]
     install_requires.append('python-lsp-server[all]>=1.11.0,<1.13.0')
     install_requires.append('qtconsole>=5.5.1,<5.7.0')
-    install_requires.append('spyder-kernels>=3.0.0b5,<3.1.0')
+    install_requires.append('spyder-kernels>=3.0.0b6,<3.1.0')
 
 extras_require = {
     'test:platform_system == "Windows"': ['pywin32'],
diff --git a/spyder/dependencies.py b/spyder/dependencies.py
--- a/spyder/dependencies.py
+++ b/spyder/dependencies.py
@@ -36,7 +36,7 @@
 # Hard dependencies
 AIOHTTP_REQVER = '>=3.9.3'
 APPLAUNCHSERVICES_REQVER = '>=0.3.0'
-ASYNCSSH_REQVER = '>=2.0.0'
+ASYNCSSH_REQVER = '>=2.0.0,<3.0.0'
 ATOMICWRITES_REQVER = '>=1.2.0'
 CHARDET_REQVER = '>=2.0.0'
 CLOUDPICKLE_REQVER = '>=0.5.0'
@@ -72,7 +72,7 @@
 RTREE_REQVER = '>=0.9.7'
 SETUPTOOLS_REQVER = '>=49.6.0'
 SPHINX_REQVER = '>=0.6.6'
-SPYDER_KERNELS_REQVER = '>=3.0.0b5,<3.0.0b6'
+SPYDER_KERNELS_REQVER = '>=3.0.0b6,<3.0.0b7'
 SUPERQT_REQVER = '>=0.6.1,<1.0.0'
 TEXTDISTANCE_REQVER = '>=4.2.0'
 THREE_MERGE_REQVER = '>=0.1.1'
diff --git a/spyder/plugins/ipythonconsole/__init__.py b/spyder/plugins/ipythonconsole/__init__.py
--- a/spyder/plugins/ipythonconsole/__init__.py
+++ b/spyder/plugins/ipythonconsole/__init__.py
@@ -20,10 +20,10 @@
 
 # Required version of Spyder-kernels
 SPYDER_KERNELS_MIN_VERSION = (
-    '3.0.0b5' if not running_under_pytest() else '3.0.0.dev0'
+    '3.0.0b6' if not running_under_pytest() else '3.0.0.dev0'
 )
 SPYDER_KERNELS_MAX_VERSION = (
-    '3.0.0b6' if not running_under_pytest() else '4.0.0'
+    '3.0.0b7' if not running_under_pytest() else '4.0.0'
 )
 SPYDER_KERNELS_VERSION = (
     f'>={SPYDER_KERNELS_MIN_VERSION},<{SPYDER_KERNELS_MAX_VERSION}'


Test patch:
diff --git a/external-deps/spyder-kernels/spyder_kernels/console/tests/test_console_kernel.py b/external-deps/spyder-kernels/spyder_kernels/console/tests/test_console_kernel.py
--- a/external-deps/spyder-kernels/spyder_kernels/console/tests/test_console_kernel.py
+++ b/external-deps/spyder-kernels/spyder_kernels/console/tests/test_console_kernel.py
@@ -1143,14 +1143,16 @@ def test_locals_globals_in_pdb(kernel):
     reason="Doesn't work with pip packages")
 @pytest.mark.skipif(
     sys.version_info[:2] < (3, 9),
-    reason="Too flaky in Python 3.7/8 and doesn't work in older versions")
-@pytest.mark.skipif(sys.platform == 'darwin', reason="Fails on Mac")
+    reason="Too flaky in Python 3.8 and doesn't work in older versions")
 def test_get_interactive_backend(backend):
     """
     Test that we correctly get the interactive backend set in the kernel.
     """
-    cmd = "from spyder_kernels.console import start; start.main()"
+    # This test passes locally but fails on CIs. Don't know why.
+    if sys.platform == "darwin" and backend == "qt" and os.environ.get('CI'):
+        return
 
+    cmd = "from spyder_kernels.console import start; start.main()"
     with setup_kernel(cmd) as client:
         # Set backend
         if backend is not None: