Variable expansion

tomas Registered, Neuron 2022 Posts: 120 ✭✭✭✭✭
edited July 16 in Using Dataiku


I was wondering if there is an api in Dataiku Python API to replace all the template literals in strings. DSS uses in many places a javascript like template literals, for example, in dataset you can define a path as:


When I do not know what placeholders are used it is pretty complicated to parse out all the placeholders and then fetch those values from variables (assuming that get_custom_variables handles prioritization of local/standard/global vars)

It would be super useful to have something like:

client = dataiku.api_client()

and it would replace all the known variables plus all the internal variables of DSS.



Best Answer

  • Marlan
    Marlan Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Dataiku Frontrunner Awards 2021 Participant, Neuron 2023 Posts: 317 Neuron
    edited July 17 Answer ✓

    Hi @tomas

    Definitely agree that it would be really nice to have a built-in method like you describe available in the API.

    A less convenient but workable approach is to use the Python Template class. It turns out that the Template class handles the ${varname} format. Here is an example:

    import dataiku
    from string import Template
    t = '/exports/${environment}/${projectKey}/customers'
    e = Template(t).substitute(dataiku.get_custom_variables())


Setup Info
      Help me…