用于快速构建 基于python的web应用

Fabien Lelaquais 36c1700637 Linter(6) 3 mēneši atpakaļ
.github 332f1fc29f Update trigger-benchmark.yml 3 mēneši atpakaļ
doc f3f9e4ee76 Update year to 2025 in header 4 mēneši atpakaļ
frontend 6ade9d438f Merge branch 'develop' into feature/doc#1266-page-builder-api-for-extension-libraries 3 mēneši atpakaļ
readme_img 94503b8d01 banner_changes (#1408) 11 mēneši atpakaļ
taipy 09f6f53fd4 Added test on tgb api generation for extension libraries. 3 mēneši atpakaļ
tests 36c1700637 Linter(6) 3 mēneši atpakaļ
tools 4a6315fada chore: replace coverage job (#2404) 3 mēneši atpakaļ
.coveragerc 4a6315fada chore: replace coverage job (#2404) 3 mēneši atpakaļ
.editorconfig 356260bd3b fix: update markdown format 1 gadu atpakaļ
.gitattributes 7f0b872e89 Add taipy-rest package (#13) 3 gadi atpakaļ
.gitignore 4cce531e86 Allow overriding data accessor for pandas (#2437) 3 mēneši atpakaļ
.license-header f3f9e4ee76 Update year to 2025 in header 4 mēneši atpakaļ
.pre-commit-config.yaml 9fee734d62 Added examples for progress control (#1809) 8 mēneši atpakaļ
CODE_OF_CONDUCT.md d6cfd7f4ae New installation.md (#2092) 6 mēneši atpakaļ
CONTRIBUTING.md 349b047dd9 fix wrong typing 4 mēneši atpakaļ
INSTALLATION.md d6cfd7f4ae New installation.md (#2092) 6 mēneši atpakaļ
LICENSE f3f9e4ee76 Update year to 2025 in header 4 mēneši atpakaļ
MANIFEST.in 356260bd3b fix: update markdown format 1 gadu atpakaļ
Pipfile 1668422919 Update dependencies [pyarrow, flask related] (#2239) (#2248) 6 mēneši atpakaļ
README.md f3f9e4ee76 Update year to 2025 in header 4 mēneši atpakaļ
SECURITY.md 2080aa17c5 Update SECURITY.md 7 mēneši atpakaļ
mypy.ini 9fee734d62 Added examples for progress control (#1809) 8 mēneši atpakaļ
package-lock.json 1486c443fb Added Feature Cover Json Data Node in Data Node control (#2164) 6 mēneši atpakaļ
package_desc.md f3f9e4ee76 Update year to 2025 in header 4 mēneši atpakaļ
pyproject.toml 4a6315fada chore: replace coverage job (#2404) 3 mēneši atpakaļ
pytest.ini f5a18ef9f8 Remove modin dependency. compatibility is guaranteed by falling back on pandas. 1 gadu atpakaļ
setup.py f3f9e4ee76 Update year to 2025 in header 4 mēneši atpakaļ

README.md


Build Python Data & AI web applications

From simple pilots to production-ready web applications in no time.
No more compromises on performance, customization, and scalability.


Go beyond existing libraries

## Table of Contents

 

⭐️ What's Taipy?

Taipy is designed for data scientists and machine learning engineers to build data & AI web applications.  

⭐️ Enables building production-ready web applications.
⭐️ No need to learn new languages; only Python is needed.
⭐️ Concentrate on data and AI algorithms without the complexities of development and deployment.

 

Taipy is a Two-in-One Tool for UI Generation and Scenario & Data Management


User Interface Generation Scenario & Data Management
Interface Animation Back-End Animation

 

✨ Key Features

Scenario Banner Front-End Animation Back-End Animation

 

⚙️ Quickstart

To install the stable release of Taipy, run:

pip install taipy

Ready to Install Taipy? 🚀

Get everything set up in no time! Whether you're using a Conda environment or installing from source, follow our Installation Guide for step-by-step instructions.

Excited to Dive In? 💡

Start building with Taipy today! Our Getting Started Guide is the perfect place to begin your journey and unlock the full potential of Taipy.

 

🔌 Scenario & Data Management

Let's create a simple scenario in Taipy that allows you to filter movie data based on your chosen genre.
This scenario is designed as a straightforward pipeline.
Every time you change your genre selection, the scenario runs to process your request.
It then displays the top seven most popular movies in that genre.


⚠️ Keep in mind that in this example, we're using a very basic pipeline that consists of just one task. However,
Taipy is capable of handling much more complex pipelines 🚀


Below is our filter function. This is a typical Python function, and it's the only task used in this scenario.

def filter_genre(initial_dataset: pd.DataFrame, selected_genre):
    filtered_dataset = initial_dataset[initial_dataset['genres'].str.contains(selected_genre)]
    filtered_data = filtered_dataset.nlargest(7, 'Popularity %')
    return filtered_data

This is the execution graph of the scenario we are implementing:

Taipy Studio

You can use the Taipy Studio extension in Visual Studio Code to configure your scenario with no code.
Your configuration is automatically saved as a TOML file.
Check out the Taipy Studio Documentation.

For more advanced use cases or if you prefer coding your configurations instead of using Taipy Studio,
check out the movie genre demo scenario creation with this Demo.

Back-End Animation

 

User Interface Generation and Scenario & Data Management

This simple Taipy application demonstrates how to create a basic film recommendation system using Taipy.
The application filters a dataset of films based on the user's selected genre and displays the top seven films in that genre by popularity. Here is the full code for both the front end and back end of the application.

```python import taipy as tp import pandas as pd from taipy import Config, Scope, Gui # Defining the helper functions # Callback definition - submits scenario with genre selection def on_genre_selected(state): scenario.selected_genre_node.write(state.selected_genre) tp.submit(scenario) state.df = scenario.filtered_data.read() ## Set initial value to Action def on_init(state): on_genre_selected(state) # Filtering function - task def filter_genre(initial_dataset: pd.DataFrame, selected_genre): filtered_dataset = initial_dataset[initial_dataset["genres"].str.contains(selected_genre)] filtered_data = filtered_dataset.nlargest(7, "Popularity %") return filtered_data # The main script if __name__ == "__main__": # Taipy Scenario & Data Management # Load the configuration made with Taipy Studio Config.load("config.toml") scenario_cfg = Config.scenarios["scenario"] # Start Taipy Orchestrator tp.Orchestrator().run() # Create a scenario scenario = tp.create_scenario(scenario_cfg) # Taipy User Interface # Let's add a GUI to our Scenario Management for a full application # Get the list of genres genres = [ "Action", "Adventure", "Animation", "Children", "Comedy", "Fantasy", "IMAX", "Romance", "Sci-Fi", "Western", "Crime", "Mystery", "Drama", "Horror", "Thriller", "Film-Noir", "War", "Musical", "Documentary" ] # Initialization of variables df = pd.DataFrame(columns=["Title", "Popularity %"]) selected_genre = "Action" # User interface definition my_page = """ # Film Recommendation ## Choose Your Favorite Genre <|{selected_genre}|selector|lov={genres}|on_change=on_genre_selected|dropdown|> ## Here are the Top Seven Picks by Popularity <|{df}|chart|x=Title|y=Popularity %|type=bar|title=Film Popularity|> """ Gui(page=my_page).run() ```

And the final result:

 

⚒️ Contributing

Want to help build Taipy? Check out our Contributing Guide.

🪄 Code of Conduct

Want to be part of the Taipy community? Check out our Code of Conduct

🪪 License

Copyright 2021-2025 Avaiga Private Limited

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Apache License

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.