Skip to content

Comments

PR: Refactor Remote Client kernel management#23720

Merged
ccordoba12 merged 23 commits intospyder-ide:masterfrom
hlouzada:refactor-remote-kernels
Mar 22, 2025
Merged

PR: Refactor Remote Client kernel management#23720
ccordoba12 merged 23 commits intospyder-ide:masterfrom
hlouzada:refactor-remote-kernels

Conversation

@hlouzada
Copy link
Contributor

@hlouzada hlouzada commented Feb 13, 2025

Description of Changes

  • Update Base API to handle the "ensure" server/connection/kernel logic
  • Refactor Jupyter API using the new module system and Base API #PR: Add remote filesystem API to the Remote client plugin #23381
  • Move the plugin's "create new kernel" and all "container" logic to ipythonconsole.
  • Move kernel's implementation tests to ipythonconsole.
  • Update tests without the need to catch signals.
  • Add jupyter_api tests.
  • Wrote at least one-line docstrings (for any new functions)
  • Added unit test(s) covering the changes (if testable)
  • Included a screenshot or animation (if affecting the UI, see Licecap)

Refactor the remoteclient plugin's remote kernel logic so the kernels magnament
are done in ipythonconsole plugin using the base Jupyter's API with the new modules system.

Affirmation

By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @hlouzada

@hlouzada hlouzada force-pushed the refactor-remote-kernels branch from 336fc59 to 6a58753 Compare March 5, 2025 06:35
@hlouzada hlouzada changed the title [WIP] Refactor Remote Client Kernel Management Refactor Remote Client Kernel Management Mar 19, 2025
@hlouzada hlouzada marked this pull request as ready for review March 19, 2025 20:25
@ccordoba12 ccordoba12 added this to the v6.1.0a2 milestone Mar 19, 2025
Also, add missing copyright header to new files that didn't have it.
Copy link
Member

@ccordoba12 ccordoba12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work here @hlouzada! Just some small questions and a couple of suggested fixes for you.

dict[str, type[SpyderBaseJupyterAPIType]]
] = {}
] = {
JupyterAPI.__qualname__: JupyterAPI,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't seen this before. What's __qualname__ used for?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's used to get the fully qualified name from the python object. I'm using it in case someone might define another API with the same name. This way there's no overwrites when using the register_api decorator

@ccordoba12 ccordoba12 force-pushed the refactor-remote-kernels branch from 52524c6 to fc28a64 Compare March 21, 2025 19:39
@ccordoba12 ccordoba12 changed the title Refactor Remote Client Kernel Management PR: Refactor Remote Client kernel management Mar 21, 2025
Copy link
Member

@ccordoba12 ccordoba12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @hlouzada!

@ccordoba12 ccordoba12 merged commit 16794e2 into spyder-ide:master Mar 22, 2025
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants