diff --git a/panel-0.13.1.tar.gz b/panel-0.13.1.tar.gz deleted file mode 100644 index cbbd5f4..0000000 --- a/panel-0.13.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e9008f0a851cbcffbce0273d62b5bc62644d9030cc68535c824381df52113af -size 17959938 diff --git a/panel-0.14.1.tar.gz b/panel-0.14.1.tar.gz new file mode 100644 index 0000000..08b3dc4 --- /dev/null +++ b/panel-0.14.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0922421e5625498a5041123c01e8be7e12c350ce3ef180c534b45419bf20052b +size 20052944 diff --git a/python-panel.changes b/python-panel.changes index 479ef2f..b2e5fad 100644 --- a/python-panel.changes +++ b/python-panel.changes @@ -1,3 +1,173 @@ +------------------------------------------------------------------- +Mon Nov 21 17:47:47 UTC 2022 - Ben Greiner + +- Update to 0.14.1 + * This release primarily addresses regressions introduced in + 0.14.0 and various long standing bugs. Many thanks to external + contributors @liu-kan and @KedoKudo and the maintainers + @Hoxbro, @maximlt and @philippjfr for contributing a number of + fixes. + ## Minor enhancements + * Improve support for requests in pyodide (#3973) + * Add option to clear value of DatetimePicker (#3990) + * Add support for hashing dates in pn.cache (#4004) + * Silence EMPTY_LAYOUT warnings (#4056) + ## Compatibility + * Fix Jupyterlite and latest PyScript compatibility (#4040) + ## Bugs + ### Webassembly conversion + * Correctly handle resource mode in when converting to + WebAssembly (#3967) + ### Jupyter and Server + * Correctly handle future exceptions on threads (#3977) + * Fix panel serve index template (#3980) + * Do not error if curdoc has been destroyed (#3994) + * Ensure extensions loaded in jupyter kernel are served by + StaticHandler (#4000) + * Various fixes for OAuth handling with pn.serve (#4006) + * Fix bug in on_load callback exception handling (#4007) + * Ensure periodic callbacks are only started on main thread + (#4011) + * Ensure jupyter server extension handles explicit root_dir + (#4029) + * Ensure futures are correctly awaited when executed on thread + (#4031) + ### Components + * Ensure Tabulator handles filtering on edited values correctly + if show_index=False (#3988, #4016) + * Ensure Tabulator declares numeric sorter for numeric dtypes + (#3999) + * Fix regression initializing DiscreteSlider with non-integer + value (#4009) + * Ensure that template.config.raw_css is correctly applied + (#4018) + * Fix handling MenuButton clicks when split=True (#4021) + * Ensure styling on Tabulator with empty DataFrame does not error + (#4028) + * Allow changing level on Debugger widget (#4057) +- Release 0.14.0 + * This release focuses on three main themes: + - Support for running Panel apps entirely in the browser using + WebAssembly (via Pyodide and PyScript) + - Improvements in the app-user experience by making it easier + to build responsive and performant applications + - Improvements in the developer experience through static + typing and docstrings. + * Many, many thanks to everyone who filed issues or contributed + to this release. In particular we would like to thank @janimo, + @xavArtley, @thuydotm, @jmosbacher, @dmarx, @2WoLpH, @ipopa144, + @sdc50 for contributions and @philippjfr, @Hoxbro, @maximlt, + and @MarcSkovMadsen for ongoing maintenance and development. + ## Features + * Add support for converting Panel apps to pyscript/pyodide + (#3817, #3830, #3851, #3856, #3857, #3858, #3860, #3861, #3863, + #3864, #3868, #3878) + * Manage our own CDN to improve performance and reliability for + delivering JS payloads (#3867, #3870) + * Add ability to defer_load of components (#3882) + * Add pn.widget helper function (#1826, #3589) + * Add config.exception_handler to easily capture, log and notify + users about errors (#3893) + * Implement pn.cache function for memoization support (#2411) + * Rewrite server extension to run Panel applications in kernels + so that previews run in the same environment as the deployed + app (#3763) + * Add ability to define authorization callback (#3777) + * Support memray profiler (#3509) + * Add liveness endpoint (#3832) + * Add ability to configure exception handler (#3896) + ## Enhancements + * Ensure OAuth redirects to requested app and retains query + arguments (#3555) + * Add extension entry point (#3738) + * Update Admin Logs page to use Tabulator (#3694) + * Ensure location.unsync unsets query params (#3806) + * Allow None value on numeric sliders and LiteralInput (#3174) + * Allow serving admin panel with pn.serve (#3798) + * Improve ReactiveHTML loop support and validation (#3813) + * Support declaring Perspective.plugin_config pane (#3814) + * Do not flicker busy indicator during --autoreload check (#3804) + * Improve robustness of state.curdoc in threaded and async + contexts (#3776, #3810, #3834) + * Support datetime bounds for DatetimePicker and + DatetimeRangePicker (#3788) + * Allow setting the Oauth provider using environment variables + (#3698) + * Implement Player.value_throttled (#3756) + * Ensure that URL query parameters are preserved during OAuth + (#3656) + * Improve Markdown code syntax highlighting (#3758) + * Ensure components do not re-render if background or loading + parameters change (#3599) + * Add ability to define admin dashboard plugins (#3668) + * Do not calculate embed state for disabled widgets (#3757) + * Add hard bounds to editable sliders (#3739) + * Add bundling of shared resources (#3894) + * Add Tabulator as default param.DataFrame widget (#3912) + ## Compatibility & Version updates + * Support ipywidgets>=8.0 (#3782) + * Bump jsoneditor package (#3838) + * Upgrade to Tabulator 5.3.2 (#3784) + * Improve Django compatibility (#3843, #3835) + * Remove all usage of deprecated Pane + ## Bugs + ### Server + * Ensure closed websocket does not cause errors + * Handle session and websocket close cleanly (#3769) + * Fix prefix handling for admin page (#3809) + * Support admin dashboard in multi-process deployments (#3812) + * Improve document cleanup when not invoked using server_destroy + (#3842) + * Ensure pn.state.execute dispatches immediately if possible + (#3859) + * Ensure autoload.js resources are appropriately prefixed (#3873) + ### Notebook + * Fix support for copying cells and creating new views in + JupyterLab (#3652) + * Ensure output renders in VSCode notebook with latest ipywidgets + (#3765) + * Resolve issues with Jupyter slowdown due to event_loop patching + on Windows (#3770) + * Ensure old comm managers do not raise errors in notebook + (#3853) + * Simplify rendering of ipywidget (#3937) + ### Tabulator + * Do not re-render Tabulator on css_classes or background change + (#3598) + * Ensure expand icon updates on Tabulator.expanded change (#3703) + * Update page Parameter when pagination is 'local' (#3704) + * Do not apply sorters on Tabulator cell edits (#3744) + * Ensure Tabulator.controls renders (#3768) + * Ensure correctness of event row and selection indices in + Tabulator (#3771, #3841) + * Fix issues with frontend and backend sorters being out of sync + in Tabulator (#3825, #3839) + * Fix default values of a list header filter in Tabulator (#3826) + * Fix the edit event with a python filter in Tabulator (#3829) + * Disable client-side date filtering on Tabulator (#3849) + * Support editing of pandas masked array dtypes in Tabulator + (#3850) + * Fix issues editing a cell when client-side filtering applied + (#3852) + * Do not recompute data when local pagination is enabled (#3854) + * Don't skip filtering when the column name is undefined (#3862) + ### Misc + * Fix FileInput.save (#3579) + * Fix issues with Matplotlib.high_dpi option (#3591, #3594) + * Ensure layout recomputes on HTML/Markdown re-rerender (#3616) + * Allow overriding all widget parameters on Param pane (#3754) + * Ensure DatePicker start/end are transformed when jslinked + (#3759) + * Ensure notifications can be enabled without a template (#3820) + * Ensure ReactiveHTML inline callbacks on loop variables return + correct node (#3840) + * Ensure that Perspective does not take precedence on empty dict + (#3936) + * Improve sizing_mode behavior when width/height are specified + (#3955) + * Do not load notyf resources unless notifications are enabled + (#3958) + ------------------------------------------------------------------- Wed Jun 22 00:20:11 UTC 2022 - Atri Bhattacharya diff --git a/python-panel.spec b/python-panel.spec index 5d9815c..be401d1 100644 --- a/python-panel.spec +++ b/python-panel.spec @@ -1,5 +1,5 @@ # -# spec file for package python-panel +# spec file # # Copyright (c) 2022 SUSE LLC # @@ -16,7 +16,6 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "test" %define psuffix -test @@ -25,11 +24,10 @@ %define psuffix %{nil} %bcond_with test %endif -%define skip_python2 1 -%define skip_python36 1 + %define modname panel Name: python-panel%{psuffix} -Version: 0.13.1 +Version: 0.14.1 Release: 0 Summary: A high level app and dashboarding solution for Python License: BSD-3-Clause @@ -38,8 +36,9 @@ 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 Markdown} -BuildRequires: %{python_module bleach} -BuildRequires: %{python_module bokeh >= 2.4.0} +BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module bokeh >= 2.4.0 with %python-bokeh < 2.5} +BuildRequires: %{python_module nbval} BuildRequires: %{python_module param >= 1.12.0} BuildRequires: %{python_module pyct >= 0.4.4} BuildRequires: %{python_module pyviz-comms >= 0.7.4} @@ -52,11 +51,13 @@ BuildRequires: nodejs BuildRequires: python-rpm-macros %if %{with test} BuildRequires: %{python_module altair} +BuildRequires: %{python_module diskcache} +BuildRequires: %{python_module flaky} BuildRequires: %{python_module folium} BuildRequires: %{python_module holoviews} BuildRequires: %{python_module ipympl} BuildRequires: %{python_module ipython >= 7.0} -BuildRequires: %{python_module nbsmoke >= 0.2.0} +BuildRequires: %{python_module markdown-it-py} BuildRequires: %{python_module pandas >= 1.3} BuildRequires: %{python_module parameterized} BuildRequires: %{python_module plotly >= 4.0} @@ -70,18 +71,20 @@ BuildRequires: %{python_module twine} Requires: jupyter-panel Requires: python-Markdown Requires: python-bleach -Requires: python-bokeh >= 2.4.0 Requires: python-param >= 1.10.0 Requires: python-pyct >= 0.4.4 Requires: python-pyviz-comms >= 0.7.4 Requires: python-requests +Requires: python-setuptools Requires: python-tqdm >= 4.48.0 +Requires: python-typing_extensions +Requires: (python-bokeh >= 2.4.0 with python-bokeh < 2.5) Requires(post): update-alternatives Requires(postun):update-alternatives Recommends: python-Pillow Recommends: python-holoviews > 1.14.1 +Recommends: python-jupyterlab Recommends: python-matplotlib -Recommends: python-notebook >= 5.4 Recommends: python-plotly >= 4.0 BuildArch: noarch %python_subpackages @@ -107,38 +110,40 @@ to all Python flavors. %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 +# fix python call in test, upstream expects them to be run inside tox or venv +sed -i -e '/import ast/ a import sys' -e 's/"python",/sys.executable,/' panel/tests/test_docs.py +%if ! %{with test} %build %python_build -%if ! %{with test} %install %python_install -%jupyter_move_config - -%{python_expand # FIX HASHBANG AND LINK EXAMPLES INTO PACKAGE DOCS -mkdir examples-%{$python_bin_suffix} -ln -s %{$python_sitelib}/%{modname}/examples examples-%{$python_bin_suffix}/examples -sed -i "1{s|#!/usr/bin/env python|#!%{__$python}|}" \ - %{buildroot}%{$python_sitelib}/%{modname}/examples/apps/django2/manage.py \ - %{buildroot}%{$python_sitelib}/%{modname}/examples/apps/django_multi_apps/manage.py -} - %python_clone -a %{buildroot}%{_bindir}/panel - -%python_expand %fdupes %{buildroot}%{$python_sitelib} +%{python_expand # +rm %{buildroot}%{$python_sitelib}/panel/dist/bundled/js/@microsoft/fast-colors@5.3.1/.prettierignore +rm %{buildroot}%{$python_sitelib}/panel/dist/bundled/js/@microsoft/fast-colors@5.3.1/.eslintignore +%fdupes %{buildroot}%{$python_sitelib} +} %endif %if %{with test} %check # DISABLE TESTS REQUIRING NETWORK ACCESS -donttest="test_loading_a_image_from_url or test_image_alt_text or test_image_link_url or test_vtk_pane_from_url or test_vtkjs_pane or test_pdf_embed or test_server" +donttest="test_loading_a_image_from_url" +donttest="$donttest or test_image_alt_text" +donttest="$donttest or test_image_link_url" +donttest="$donttest or test_vtk_pane_from_url" +donttest="$donttest or test_vtkjs_pane" +donttest="$donttest or test_pdf_embed" +donttest="$donttest or test_server" +donttest="$donttest or (test_markdown_codeblocks and build_app.md)" +donttest="$donttest or (test_markdown_codeblocks and APIs.md)" # https://github.com/holoviz/panel/issues/2101 -donttest+=" or test_record_modules_not_stdlib" +donttest="$donttest or test_record_modules_not_stdlib" # flaky async test -donttest+=" or test_server_async_callbacks" -# -s: some tests execute twice and fail without it (?) -%pytest -s -ra -k "not ($donttest)" +donttest="$donttest or test_server_async_callbacks" +%pytest -ra -k "not ($donttest)" %endif %post @@ -151,15 +156,15 @@ donttest+=" or test_server_async_callbacks" %files %{python_files} %license LICENSE.txt %doc README.md -%doc examples-%{python_bin_suffix}/examples -%docdir %{python_sitelib}/%{modname}/examples %python_alternative %{_bindir}/panel %{python_sitelib}/%{modname}/ -%{python_sitelib}/%{modname}-%{version}-py%{python_version}.egg-info/ +%exclude %{python_sitelib}/%{modname}/tests +%{python_sitelib}/%{modname}-%{version}*-info/ %files -n jupyter-panel %license LICENSE.txt -%{_jupyter_server_confdir}/panel-client-jupyter.json +%_jupyter_config %{_jupyter_servextension_confdir}/panel-client-jupyter.json +%_jupyter_config %{_jupyter_server_confdir}/panel-client-jupyter.json %endif