taipy icon indicating copy to clipboard operation
taipy copied to clipboard

Provide a library extension for Vizzu

Open FlorianJacta opened this issue 2 years ago • 10 comments

What would that feature address The possibility to use Vizzu inside Taipy and create animations through it.

Description of the ideal solution The ideal solution is to use the Taipy extension API to create a new visual element for Vizzu. A workaround would be to create an Iframe around a Vizzu element to incorporate it inside Taipy.

Caveats This should not impact Taipy and be an addition to Taipy.

Other options Any solution can be provided to have this feature inside Taipy. The goal is to expand the features of Taipy.

Acceptance Criteria

  • [ ] Ensure new code is unit tested, and check code coverage is at least 90%
  • [ ] Propagate any change on the demos and run all of them to ensure there is no breaking change
  • [ ] Ensure any change is well documented

FlorianJacta avatar Oct 09 '23 10:10 FlorianJacta

Hey, I'd like to work on this. Could you tell me more about extension API (the link doesn't work anymore)?

dec0dedd avatar Oct 05 '24 13:10 dec0dedd

Here is the new link: https://docs.taipy.io/en/develop/refmans/reference_guiext/

jrobinAV avatar Oct 06 '24 17:10 jrobinAV

New Quest! image New Quest!

A new Quest has been launched in @Avaiga’s repo. Merge a PR that solves this issue to loot the Quest and earn your reward.


Some loot has been stashed in this issue to reward the solver!

🗡 Comment @quest-bot embark to check-in for this Quest and start solving the issue. Other solvers will be notified!

⚔️ When you submit a PR, comment @quest-bot loot #430 to link your PR to this Quest.

Questions? Check out the docs.

quest-bot[bot] avatar Oct 07 '24 11:10 quest-bot[bot]

Hi @FlorianJacta I would like to work on this . Can you assign me this under Hacktoberfest and Devfest-Ai ?

Kavya-kakkar avatar Oct 15 '24 13:10 Kavya-kakkar

I am assigning you this issue! @Kavya-kakkar. You can help @dec0dedd too

FlorianJacta avatar Oct 15 '24 14:10 FlorianJacta

Hi @FlorianJacta .I am new to this open source community . So kindly tell me this is enough for vizzu integration with taipy Screenshot 2024-10-27 205212

Kavya-kakkar avatar Oct 27 '24 15:10 Kavya-kakkar

Should I see something inside the box?

FlorianJacta avatar Oct 28 '24 08:10 FlorianJacta

This issue has been labelled as "🥶Waiting for contributor" because it has been inactive for more than 14 days. If you would like to continue working on this issue, please add another comment or create a PR that links to this issue. If a PR has already been created which refers to this issue, then you should explicitly mention this issue in the relevant PR. Otherwise, you will be unassigned in 14 days. For more information please refer to the contributing guidelines.

github-actions[bot] avatar Nov 11 '24 09:11 github-actions[bot]

This issue has been unassigned automatically because it has been marked as "🥶Waiting for contributor" for more than 14 days with no activity.

github-actions[bot] avatar Nov 25 '24 09:11 github-actions[bot]

Example of manual integration:

import pandas as pd
from ipyvizzu import Chart, Data, Config, Style, DisplayTarget


chart = Chart(width="640px", height="360px", display=DisplayTarget.MANUAL)
data = Data()

df = pd.read_csv("https://ipyvizzu.vizzuhq.com/0.16/showcases/titanic/titanic.csv")
data.add_df(df)
chart.animate(data)

chart.animate(
    Config(
        {
            "x": "Count",
            "y": "Sex",
            "label": "Count",
            "title": "Passengers of the Titanic",
        }
    )
)

chart.animate(
    Config(
        {
            "x": ["Count", "Survived"],
            "label": ["Count", "Survived"],
            "color": "Survived",
        }
    )
)

chart.animate(Config({"x": "Count", "y": ["Sex", "Survived"]}))

chart.animate(Style({"title": {"fontSize": 35}}))

html = chart._repr_html_()

# Taipy part
from taipy.gui import Gui, get_user_content_url, notify

def on_user_content(state, path: str, query: dict):
    return state.html


def on_init(state):
    state.uc_url = get_user_content_url(state, "hello", {"t": "a"})


uc_url = None
iframe_example = "<|part|page={uc_url}|height=360px|width=640px|>"

Gui(iframe_example).run()

FlorianJacta avatar Apr 02 '25 15:04 FlorianJacta