# Installation There are different ways to install Taipy, depending on how you plan to use it. If your goal is to look into the code, modify and improve it, go straight to the [source installation](#installing-for-development) section. Taipy needs your system to have Python 3.9 or above installed. ## Installing from PyPI The easiest way to install Taipy is from the [Pypi software repository](https://pypi.org/project/taipy/). Run the command: ```bash pip install taipy ``` If you are running in a virtual environment, you will have to issue the command: ```bash pipenv install taipy ``` Alternatively, you can use `venv` to create a virtual environment: ```bash python -m venv myenv source myenv/bin/activate # On Windows use `myenv\Scripts\activate` pip install taipy ``` These commands install the `taipy` package in the Python environment with all its dependencies. ## Installing a Specific Version from PyPI To install a specific version of Taipy, use the following command: ```bash pip install taipy== ``` Replace `` with a specific version number of Taipy. The list of all released Taipy versions can be found [here](https://pypi.org/project/taipy/#history). ## Installing from GitHub The development version of Taipy is updated daily with changes from the Taipy R&D and external contributors whom we praise for their input. The development version of Taipy can be installed using *pip* and *git*: ```bash pip install git+https://git@github.com/Avaiga/taipy ``` ## Installing for development If you need the source code for Taipy on your system so you can see how things are done or maybe participate in the improvement of the packages, you can clone the GitHub repository: ```bash git clone https://github.com/Avaiga/taipy.git ``` This creates the 'taipy' directory holding all the package's source code. ### Building the JavaScript bundles Taipy (and Taipy GUI that it embeds) has some code dealing with the client side of the web applications.
This code is written in [TypeScript](https://www.typescriptlang.org/), relies on [React](https://reactjs.org/) components, and is packaged into JavaScript bundles that are sent to browsers when they connect to all Taipy applications that have a graphical interface. There are two main JavaScript bundles that can be built: - Taipy GUI: All the graphical interfaces that Taipy GUI can generate are based on a set of generated files, including the web application and all the predefined visual elements. - Taipy: A set of visual elements dedicated to Scenario Management. **Prerequisites**: If you need to build the JavaScript bundle, you need to make sure that the [Node.js](https://nodejs.org/) JavaScript runtime version 18 or above is installed on your machine.
Note that Node.js comes with the [`npm` package manager](https://www.npmjs.com/) as part of the standard installation. The build process is described in the [Taipy GUI front-end](frontend/taipy-gui/README.md) and [Taipy front-end](frontend/taipy/README.md) README files.
The Taipy GUI bundle must be built first, as the Taipy front-end code depends on it. Here is the sequence of commands that can be issued to build both sets of files: ```bash # Current directory is the repository's root directory # # Build the Taipy GUI bundle cd frontend/taipy-gui cd dom npm i cd .. npm i npm run build # # Build the Taipy front-end bundle cd ../taipy # Current directory is [taipy-dir]/frontend/taipy npm i npm run build ``` These commands should create the directories `taipy/gui/webapp` and `taipy/gui_core/lib` in the root directory of the taipy repository. ### Debugging the JavaScript bundles If you plan to modify the front-end code and need to debug the TypeScript code, you must use the following: ```bash npm run build:dev ``` instead of the *standard* build option. This will preserve the debugging symbols, and you will be able to navigate in the TypeScript code from your debugger. > **Note:** Web application location > > When you are developing front-end code for the Taipy GUI package, it may > be cumbersome to have to install the package over and over when you know > that all that has changed is the JavaScript bundle that makes the Taipy > web app. > > By default, the Taipy GUI application searches for the front-end code > in the `[taipy-gui-package-dir]/taipy/gui/webapp` directory.
> You can, however, set the environment variable `TAIPY_GUI_WEBAPP_PATH` > to the location of your choice, and Taipy GUI will look for the web > app in that directory.
> If you set this variable to the location where you build the web app > repeatedly, you will no longer have to reinstall Taipy GUI before you > try your code again. ## Running the tests To run the tests on the package, you need to install the required development packages. We recommend using [Pipenv](https://pipenv.pypa.io/en/latest/) to create a virtual environment and install the development packages. ```bash pip install pipenv pipenv install --dev ``` Then you can run the tests with the following command: ```bash pipenv run pytest ```