Practical Use of Code Studios

Tanguy
Tanguy Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron, Dataiku DSS Adv Designer, Registered, Dataiku DSS Developer, Neuron 2023 Posts: 124 Neuron

I am starting this thread to learn about how others are using code studios (such as VSCode, JupyterLab, and Streamlit) and for what purposes. 

In our organization, we were initially excited about the feature introduced in DSS v11. However, our enthusiasm was quickly dampened by the fact that users cannot select the associated code env running behind each code studio. While we could ask our admins to build a new template with a specific version of python, we face two major issues: 1) we already have several hundred code envs on our Design instance, and 2) The Python paths used by code studios cannot be linked to our existing code envs (which users can regularly update). This situation prevents the code studio from adapting to the specific needs of the users. Although we can install packages in code studios, we can't change the Python version. As a result, no one uses them, even though we hope to utilize the new IDE and web app tools.

I am eager to hear feedback and experiences from the community.

Operating system used: RHL

Best Answer

  • Turribeach
    Turribeach Dataiku DSS Core Designer, Neuron, Dataiku DSS Adv Designer, Registered, Neuron 2023 Posts: 2,163 Neuron
    Answer ✓

    Glad you found the option. You can even set the code env to rebuild the Code Studio Template automatically when the Code Env changes (see screen shot below). That way the code env it's also updated in the Code Studios that use that Template automatically. Be aware that this could generate a lot of docker images so make sure you ask your Administrator to purge the old docker images as needed.

    Your other questions should really be in a new thread. I will answer them here but make sure to set the thread as answered and start a new thread if you need more info.

    The versions that you see in Help > About are the versions that you get. Code v1.78.2 is the open source version of VS Code, client side. code-server v4.13.0 is the open source version of VS Code, server side. If you upgrade to v13.2 you should get newer versions of both.

    The use of Code Studios VSCode extensions is "complicated" by multiple factors:

    1. The code/code-server you have are over a year old which in an IDE development tool lifecycle is quite a bit. So you will find that most of the extensions you may want (like Github Copilot) will just not work due to the code/code-server versions being too old. It's possible to install an older version of an extension but this is a manual step so not something most users would want to do.
    2. Not all VSCode extensions are designed to work under Kubernetes which is where Code Studios runs. There is no way to know if an extension will work or not. You just have to try.
    3. Microsoft does not allow the use of Visual Studio Code Marketplace in the open source Code Server version. This doesn't necessarily mean they won't work, just that you will be breaching the Marketplace license terms. For this reason the code-server uses the  Open-VSX extension gallery which is way smaller in what it offers compared to the official VSCode Marketplace. Again it's possible to install them manually by downloading them from the official Marketplace but then again you will most likely face the above two issues as well and you will be breaching Microsoft's license so probably not something you want to do in a corporate environment.

Answers

  • Turribeach
    Turribeach Dataiku DSS Core Designer, Neuron, Dataiku DSS Adv Designer, Registered, Neuron 2023 Posts: 2,163 Neuron

    Hi, I don't believe these statements are correct:

    "users cannot select the associated code env running behind each code studio"

    "we can't change the Python version"

    In Code Studios users can both change Python interpreter versions and select the code environment of their choice. Python interpreters and Dataiku Python Code Environments however need to be "baked" into the images that you build for Code Studio Templates so while building and updating these takes time this does work.

    Below is screen showing a Dataiku Python Code Environment being selectable inside a Visual Code Studio Code Studio template. Note that I have Python 2.7, 3.6.x, 3.7.x, 3.9.x and 3.11.x all available as Python interpreters with some duplication due to how Python creates symlinks. While available these Python interpreters do not generally work as they do not have the Dataiku packages installed so the user will need to select a Dataiku Python Code Environment to run Dataiku Python recipes. So the user experience for selecting Python interpreters/code environments is not ideal but then again the target for Code Studios is to provide a full IDE experience so the personas using this capability should know their way around it.

    Finally I am not sure what you mean by this statement:

    "The Python paths used by code studios cannot be linked to our existing code envs (which users can regularly update)."

  • Tanguy
    Tanguy Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron, Dataiku DSS Adv Designer, Registered, Dataiku DSS Developer, Neuron 2023 Posts: 124 Neuron

    My apologies. After investigating the matter with one of our platform administrators (and after reviewing the documentation), we were indeed able to link a VS Code studio to a code environment which allows us to develop and run code — a great feature! 😊

    However, I wasn’t able to find the same extensions that I use in my local VS Code, particularly the 'GitHub Copilot' extension. Do you know why this might be the case or if there is a way to access extensions that seem to be missing from the marketplace in the VS Code Studio?

    Note: Since I am not an admin, I couldn't identify the exact version of VS Code installed in the Code Studio. In the Help > About section, I have the following settings:

  • Tanguy
    Tanguy Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron, Dataiku DSS Adv Designer, Registered, Dataiku DSS Developer, Neuron 2023 Posts: 124 Neuron

    Thank you for your insights, it's much clearer now!

    Too bad for the limited extensions with the code server, we'll likely continue using VS Code locally to take full advantage of its potential (though the main drawback is that it can sometimes get disconnected from DSS, with the risk of making changes that don't sync).

  • Turribeach
    Turribeach Dataiku DSS Core Designer, Neuron, Dataiku DSS Adv Designer, Registered, Neuron 2023 Posts: 2,163 Neuron

    Yeah I think Code Studios it's not a silver bullet but still has some value.

  • Tanguy
    Tanguy Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron, Dataiku DSS Adv Designer, Registered, Dataiku DSS Developer, Neuron 2023 Posts: 124 Neuron

    @Turribeach : did you manage to have non-admin users to update code studios via their code envs ? We are having issues in making this option work.

  • Turribeach
    Turribeach Dataiku DSS Core Designer, Neuron, Dataiku DSS Adv Designer, Registered, Neuron 2023 Posts: 2,163 Neuron

    Start a new thread. Be very specific about your problems. “Issues” doesn’t really say much.

  • Tanguy
    Tanguy Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron, Dataiku DSS Adv Designer, Registered, Dataiku DSS Developer, Neuron 2023 Posts: 124 Neuron

    In the end I created a product idea : https://community.dataiku.com/discussion/44550/extend-the-rebuild-code-studio-templates-option-to-non-admins-when-updating-a-code-environment#latest

Setup Info
    Tags
      Help me…