diff --git a/.github/workflows/publish_new_release.yml b/.github/workflows/publish_new_release.yml index d42627b..bb2e970 100644 --- a/.github/workflows/publish_new_release.yml +++ b/.github/workflows/publish_new_release.yml @@ -16,7 +16,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.10" - name: Set up Node.js uses: actions/setup-node@v3 with: diff --git a/e2e/app_to_test.py b/e2e/app_to_test.py index 52dcb57..d058c48 100644 --- a/e2e/app_to_test.py +++ b/e2e/app_to_test.py @@ -1,5 +1,6 @@ import pandas as pd import streamlit as st + from streamlit_drawable_canvas import st_canvas st.header("End-to-end Cypress test") @@ -17,4 +18,4 @@ if canvas_result.image_data is not None: st.image(canvas_result.image_data) - st.dataframe(pd.json_normalize(canvas_result.json_data["objects"])) \ No newline at end of file + df = pd.json_normalize(canvas_result.json_data["objects"]) diff --git a/setup.py b/setup.py index c03097b..924a7a2 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ -from os.path import dirname -from os.path import join +from os.path import dirname, join + import setuptools @@ -15,7 +15,7 @@ def readme() -> str: setuptools.setup( name="streamlit-drawable-canvas", - version="0.9.3", + version="0.9.4", author="Fanilo ANDRIANASOLO", author_email="contact@andfanilo.com", description="A Streamlit custom component for a free drawing canvas using Fabric.js.", @@ -25,10 +25,10 @@ def readme() -> str: packages=setuptools.find_packages(), include_package_data=True, classifiers=[], - python_requires=">=3.6", + python_requires=">=3.10", install_requires=[ "Pillow", "numpy", - "streamlit >= 0.63", - ] + "streamlit >= 1.40", + ], ) diff --git a/streamlit_drawable_canvas/__init__.py b/streamlit_drawable_canvas/__init__.py index aa4445b..a91ada1 100644 --- a/streamlit_drawable_canvas/__init__.py +++ b/streamlit_drawable_canvas/__init__.py @@ -7,8 +7,8 @@ import numpy as np import streamlit as st import streamlit.components.v1 as components -import streamlit.elements.image as st_image from PIL import Image +from streamlit.elements.lib.image_utils import image_to_url _RELEASE = True # on packaging, pass this to True @@ -122,16 +122,19 @@ def st_canvas( if background_image: background_image = _resize_img(background_image, height, width) # Reduce network traffic and cache when switch another configure, use streamlit in-mem filemanager to convert image to URL - background_image_url = st_image.image_to_url( - background_image, width, True, "RGB", "PNG", f"drawable-canvas-bg-{md5(background_image.tobytes()).hexdigest()}-{key}" + background_image_url = image_to_url( + background_image, + width, + True, + "RGB", + "PNG", + f"drawable-canvas-bg-{md5(background_image.tobytes()).hexdigest()}-{key}", ) background_image_url = st._config.get_option("server.baseUrlPath") + background_image_url background_color = "" # Clean initial drawing, override its background color - initial_drawing = ( - {"version": "4.4.0"} if initial_drawing is None else initial_drawing - ) + initial_drawing = {"version": "4.4.0"} if initial_drawing is None else initial_drawing initial_drawing["background"] = background_color component_value = _component_func(