SHA256
1
0
forked from pool/python-panel
python-panel/python-panel.spec
Dirk Mueller 41d0a55b60 Accepting request 1128716 from home:bnavigator:branches:devel:languages:python:numeric
- Update to 1.3.2
  * This micro-release focuses on a number of performance
    improvements, speeding up the initial rendering of simple apps
    by 2x in many cases. In addition it includes a number of
    smaller enhancements for various widgets, better support for
    async and threading and a number of bug fixes related to
    authentication, the Tabulator widget and a few other items. We
    are very pleased to welcome @isumitjha and @fohria as new
    contributors and want to thank our core team including
    @maximlt, @Hoxbro, @MarcSkovMadsen, @ahuang11 and @philippjfr
    for their continuing contributions.
  ## Performance
  * Speed up Pane.clone (#5848)
  * Speed up config attribute access (#5851)
  * Cache templates loaded from string (#5854)
  * Only load extension entrypoints once (#5855)
  * Do not freeze document models unless needed (#5864)
  ## Enhancements
  * Use the compiled version of Pyodide by default (#5808)
  * Add support for AutocompleteInput.search_strategy parameter
    (#5832)
  * Use stdlib_module_names when determining pyodide dependencies
    (#5818)
  * Add Tabulator.sortable parameter (#5827)
  * Add delay for tooltip to show up for buttons (#5860)
  * Add serialize method on ChatMessage and ChatFeed (#5764)
  * Allow running onload and defer_load tasks on threads (#5865)
  * Allow Image panes for ChatMessage.avatar (#5870)
  * Allow async callbacks on FileDownload (#5878)
  * Allow running scheduled tasks on threads (#5879)
  ## Bug fixes
  * Fix Google OAuth default scopes (#5823)
  * Fix logic for cleaning up OAuth user (#5824)
  * Set text_align correctly if Tabulator is given Bokeh formatter
    (#5866)
  * Fix FileDownload embed=True style for Fast design (#5875)
  * Enable Tabulator selection across pages with
    pagination="remote" and selectable="checkbox" (#5889)
  * Fix rendering of VTK colorbar (#5902)
  * Ensure HoloViews DynamicMap updates when widget dimension has
    unit (#5904)
  * Add space between MaterialTemplate app and site title separator
    (#5905)
  * Consistently handle errors during authentication (#5909)
  ## Compatibility
  * Updates for Numpy 2.0 compatibility (#5817)
  * Improve notebook handling when loading bokeh dev versions
    (#5820)
- Version 1.3.1
  * This micro-release primarily ships a variety of bug and
    regression fixes focusing on auth, the chat components, and
    WASM (i.e. PyScript and Pyodide) support. It also adds an
    enhancement to the auth components that now makes it possible
    to let users access applications as a guest. Many thanks to our
    new contributors @art3xa, @polivbr and @tupui as well as our
    core development team including @MarcSkovMadsen, @maximlt,
    @ahuang11 and @philippjfr.
  ## Enhancements
  * Add support for authenticating as guest using OAuth and basic
    auth components (#5743)
  ## Bug fixes
  * Ensure ColorMap widget correctly handles shared layout and
    display parameters (#5732)
  * Fix accessing refreshed access_token (#5734)
  * Ensure Markdown code blocks always wrap (#5738)
  * Fix returning state.user_info if no id_token is present in
    cookies (#5747)
  * Fix Widget.from_param type annotation (#5754)
  * Fix auto send for ChatInterface with TextAreaInput (#5762)
  * Add support for iframe srcdoc on Location (#5774)
  * Ensure Tabulator.style applies correctly with changing data
    (#5757)
  * Ensure panel convert can correctly detect transformers_js
    import (#5772)
  * Adjust ReactiveHTML css resources for relative paths (#5779)
  * Ensure invalid query parameters warn instead of erroring
    (#5781)
  * Apply pyscript CSS by default without the splashscreen (#5784)
  * Ensure components which require DOM element to be attached can
    be rendered in Card (#5786)

OBS-URL: https://build.opensuse.org/request/show/1128716
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-panel?expand=0&rev=34
2023-11-25 22:44:19 +00:00

188 lines
6.3 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
Name: python-panel%{psuffix}
Version: 1.3.2
Release: 0
Summary: A high level app and dashboarding solution for Python
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://panel.holoviz.org
Source: https://files.pythonhosted.org/packages/source/p/panel/panel-%{version}.tar.gz
Source99: python-panel-rpmlintrc
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module bleach}
BuildRequires: %{python_module bokeh >= 3.3.0}
BuildRequires: %{python_module packaging}
BuildRequires: %{python_module param >= 2.0.0}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pyct >= 0.4.4}
BuildRequires: %{python_module pyviz-comms >= 2.0.0}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module tqdm >= 4.48.0}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: jupyter-notebook-filesystem
BuildRequires: nodejs
BuildRequires: python-rpm-macros
%if %{with test}
BuildRequires: %{python_module altair}
BuildRequires: %{python_module asyncio}
BuildRequires: %{python_module diskcache}
BuildRequires: %{python_module folium}
BuildRequires: %{python_module holoviews >= 1.16.0}
BuildRequires: %{python_module ipympl}
BuildRequires: %{python_module ipython >= 7.0}
BuildRequires: %{python_module panel = %{version}}
BuildRequires: %{python_module parameterized}
BuildRequires: %{python_module plotly >= 4.0}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest-rerunfailures}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scipy}
BuildRequires: %{python_module streamz}
# Tests segfault
# BuildRequires: %%{python_module vtk}
%endif
Requires: jupyter-panel
Requires: python-Markdown
Requires: python-bleach
Requires: python-bokeh >= 3.2.0
Requires: python-linkify-it-py
Requires: python-markdown-it-py
Requires: python-mdit-py-plugins
Requires: python-pandas >= 1.2
Requires: python-param >= 2.0.0
Requires: python-pyviz_comms >= 2.0.0
Requires: python-requests
Requires: python-tqdm >= 4.48.0
Requires: python-typing_extensions
Requires: python-xyzservices >= 2021.09.1
Requires(post): update-alternatives
Requires(postun):update-alternatives
Recommends: python-Pillow
Recommends: python-holoviews >= 1.16.0
Recommends: python-jupyterlab
Recommends: python-matplotlib
Recommends: python-plotly
BuildArch: noarch
%python_subpackages
%description
Panel is a Python library that lets you create custom interactive web apps and
dashboards by connecting user-defined widgets to plots, images, tables, or
text.
%package -n jupyter-panel
Summary: Jupyter notebook and server cofiguration for python-panel
Group: Development/Languages/Python
%description -n jupyter-panel
Panel is a Python library that lets you create custom interactive web apps and
dashboards by connecting user-defined widgets to plots, images, tables, or
text.
This package contains the notebook and server extension configuration common
to all Python flavors.
%prep
%autosetup -p1 -n panel-%{version}
# Do not try to rebuild the bundled npm stuff. We don't have network. Just use the shipped bundle.
sed -i '/def _build_paneljs/ a \ return' setup.py
# no color for pytest
sed -i '/addopts/ s/--color=yes//' pyproject.toml
for p in panel/tests/io/reload_module.py
do \
[ -f $p -a ! -s $p ] || exit 1 && echo "# Empty module" > $p
done
for p in panel/dist/css/regular_table.css \
panel/dist/bundled/perspective/@finos/perspective-viewer@1.9.3/dist/css/variables.css
do \
[ -f $p -a ! -s $p ] || exit 1 && echo "// Empty css" > $p
done
%if ! %{with test}
%build
%pyproject_wheel
%install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/panel
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%if %{with test}
%check
# DISABLE TESTS REQUIRING NETWORK ACCESS
donttest="test_loading_a_image_from_url"
donttest="$donttest or test_png_native_size_embed"
donttest="$donttest or test_png_embed_scaled_fixed_size"
donttest="$donttest or (test_png_scale_ and True)"
donttest="$donttest or (test_png_stretch_ and True)"
donttest="$donttest or (test_svg_native_size and True)"
donttest="$donttest or (test_svg_scaled_fixed_size and True)"
donttest="$donttest or (test_svg_scale_ and True)"
donttest="$donttest or (test_svg_stretch_ and True)"
# flaky async test
donttest="$donttest or test_server_async_callbacks"
# flaky timeout
donttest="$donttest or test_server_thread_pool_change_event"
# upstream skips it for win and osx, we skip it because it (flakily) terminates everything on aarch64
donttest="$donttest or (test_terminal and test_subprocess)"
# file sample.pdf missing
donttest="$donttest or test_pdf_local_file"
# Don't test on 32-bit: asyncio is too flaky
[ $(getconf LONG_BIT) -eq 32 ] && exit 0
#
%pytest -n auto -rsfE -k "not ($donttest)"
%endif
%post
%python_install_alternative panel
%postun
%python_uninstall_alternative panel
%if ! %{with test}
%files %{python_files}
%license LICENSE.txt
%doc README.md
%python_alternative %{_bindir}/panel
%{python_sitelib}/panel
%{python_sitelib}/panel-%{version}.dist-info
%files -n jupyter-panel
%license LICENSE.txt
%_jupyter_config %{_jupyter_servextension_confdir}/panel-client-jupyter.json
%_jupyter_config %{_jupyter_server_confdir}/panel-client-jupyter.json
%endif
%changelog