spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.27k stars 1.61k forks source link

Feature: Settings sync #22150

Open skjerns opened 4 months ago

skjerns commented 4 months ago

One of the things that bugs me often is having to setup Spyder settings when being on a new computer/VM. Copying the old settings file often leads to problems as they are (so it seems!) not cross-system compatible. Most other IDEs have a setting-sync functionality.

Would it be an idea to implement such a feature in Spyder for v6?

(I was surprised that this was not discussed yet here! but could not find anything in the search)

dalthviz commented 2 months ago

Hi @skjerns thank you for the feedback and sorry for the late response! Did a quick about the concept of [setting-sync] functionality and I found a couple of links:

Following that I guess an initial idea for Spyder could be having a way to properly export/import Spyder preferences in a cross-platform supported way? 🤔 Also, seems like setting-sync functionality usually enables you to store and retrieve settings using some sort of account but I'm not totally sure how that would work with Spyder.

What do you think @spyder-ide/core-developers ?

mrclary commented 2 months ago

This seems like an interesting idea to me. It could also be useful for institutional administrators to deploy Spyder setup to several machines/users. At my company our Data Science Director has expressed some interest in this.

Certainly we'd have to investigate the platform independence of our config file(s). But I think that the "sync" capability would just have to rely on a user's cloud storage (Google Drive, Dropbox, Box, ...). Spyder could just allow the user to point to the configuration file and synchronize it with the local file(s).

I think the real challenge will be to determine which items should be synchronized and which should not, including platform specific configuration settings.

skjerns commented 2 months ago

Thanks! One idea would be to have setting sync via a dedicated user-specific github repo? as far as I see there is no sensitive information in the settings, so being able to simply sync it to a repo might be an idea (which you can still make private if you have premium).

Alternatively, Zotero is solving sync via WebDAV (which many cloud backends still support, e.g. nextcloud). This way, institutional accounts could also setup sync in an internal network.