diff --git a/HISTORY.txt b/HISTORY.txt index 8550b82b..9c64c989 100644 --- a/HISTORY.txt +++ b/HISTORY.txt @@ -3,6 +3,12 @@ Changelog +14.5.1 (2026-04-27) +------------------- + +* Initial release for DSS 14.5.1 + + 14.5.0 (2026-04-17) ------------------- diff --git a/dataikuapi/dss/project.py b/dataikuapi/dss/project.py index f552b086..c8bd1f4e 100644 --- a/dataikuapi/dss/project.py +++ b/dataikuapi/dss/project.py @@ -3017,6 +3017,27 @@ def get_webapp(self, webapp_id): """ return DSSWebApp(self.client, self.project_key, webapp_id) + def create_webapp(self, name, webapp_type="STANDARD"): + """ + Create a new native code webapp in the project + + :param str name: the name of the webapp + :param str webapp_type: the type of webapp to create (defaults to ``STANDARD``) + Supported values are ``STANDARD``, ``BOKEH``, ``DASH``, ``STREAMLIT``, and ``SHINY`` + + :returns: A webapp handle + :rtype: :class:`dataikuapi.dss.webapp.DSSWebApp` + :raises Exception: If the DSS backend returns an error. + """ + if webapp_type not in ("STANDARD", "BOKEH", "DASH", "STREAMLIT", "SHINY"): + raise ValueError("Webapp type not supported") + payload = { + "name": name, + "type": webapp_type + } + webapp = self.client._perform_json("POST", "/projects/%s/webapps/" % self.project_key, body=payload) + return DSSWebApp(self.client, self.project_key, webapp["webAppId"]) + ######################################################## # Dashboards diff --git a/setup.py b/setup.py index e3743399..f95bd61c 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup -VERSION = "14.5.0" +VERSION = "14.5.1" long_description = (open('README').read() + '\n\n' + open('HISTORY.txt').read())