Skip to content

Version management system

When developing, maintaining, or deploying a Taipy application, it is challenging to keep the Taipy entities (scenarios, tasks, data nodes, etc.) up-to-date when the Core configuration changes. Taipy provides Version Management to address these central issues.

Indeed, developers can update the configuration (Config) to implement a new feature, experiment with an alternative algorithm, fix a bug, create a new data node, etc. When re-running the application after a change in the configuration, old entities instantiated before the change are not guaranteed to be compatible with the new configuration.

Taipy proposes a version management system to:

  • Manage the different versions of the configuration across the application runs,
  • Keep track of the old versions used to instantiate old entities,
  • Choose the runtime mode of Taipy that defines how Taipy handles old entities.

This version management system is available using command line arguments when running a Taipy Core application. Please refer to the Manage versions documentation page for more details.

Modes

Taipy requires a mode to run. A mode corresponds to how Taipy behaves at runtime regarding old entities instantiated in previous runs. Three runtime modes can be used to run a Taipy application.

  • Using the development mode (default mode), Taipy drops all old entities before running the application. It is made to help users during the application development phase to implement its application through successive iterations of configuration changes. Please refer to the development mode documentation page for more details.

  • Using the experiment mode, Taipy keeps old entities untouched but filters them out when running the application. The application behaves like there are no old entities. Only the entities created during the current run are considered by the application. It is designed to help the user improve an existing application by experimenting with possible configuration changes, trying new algorithms, investigating the impacts of a parameter change, etc. Please refer to the experiment mode documentation page for more details.

  • Using the production mode, Taipy considers all existing entities, whether they have been instantiated in the current run or in a previous one. It is designed to run an application in a production environment with existing entities created in previous runs. Please refer to the production mode documentation page for more details.

Versions

A version is basically made of a mode and a configuration (Config). The various versions are used to track the configuration changes with respect to old entities. Each Taipy entity is assigned to a unique version.

At runtime, Taipy uses a version either by creating a new one or retrieving an existing one. It depends on the runtime mode used to run the application and on the configuration changes. This runtime version is assigned to new entities created.