1
0

8 Commits

Author SHA256 Message Date
6b76dd4b16 Accepting request 1330759 from devel:languages:python:jupyter
- update to 8.1.8:
  * Fix badge formatting in README.md
  * Add Plausible web stats
  * Update jupyterlab_widgets metadata to indicate it works with
    JupyterLab 4
- Update to 8.1.7
  * Dynamic widgets registry by @martinRenou in #3988
- Release 8.1.6
  * Fix lumino and lab packages pinning by @martinRenou in #3958
  * Typo fix by @david4096 in #3960
  * Update lables even without MatJax/TypeSetter by @DonJayamanne
    in #3962
  * Fix the new line when pressing enter in textarea widget by
    @brichet in #3982
  * Backward compatibility on processPhosphorMessage by
    @martinRenou in #3945
  * Include sourcemaps in npm tarballs by @manzt in #3978
  * Fix deprecation warning when importing the backend_inline by
    @emolinlu in #3984
- Update to 8.1.5
  * More Phosphor backward compatibility by @martinRenou in #3942
  ## New features
  * Allow interact to use basic type hint annotations by
    @corranwebster in #3908
  * Support horizontal orientation of radio buttons by
    @DonJayamanne in #3620
  ## Maintenance and bug fixes
  * Fix compatibility with pytest 8 by @frenzymadness in #3903
  * HTMLManager: Support both ipywidgets 7 and 8 models by
    @martinRenou in #3932
  * Make tests compatible with Python 3.13 by @frenzymadness in
    #3924
  * fix: get_metadata deprecated since traitlets 4.1 by
    @ManonMarchand in #3894
  * Phosphor widget backward compatibility fixes by @martinRenou in
    #3933
  * Remove confusing error message by @martinRenou in #3936
  * Fix wrong tag index in TagsInput when updated via python by
    @s-weigand in #3862
- Drop ipywidgets-pr3903-pytest.patch
- Update to 8.1.3
  * Add support for widgets in JupyterLab code consoles by @jtpio
    in #3004
  * Add return to pack_models by @gjmooney in #3923
- Add ipywidgets-pr3903-pytest.patch
  gh#jupyter-widgets/ipywidgets#3903
- Update to 8.1.2
  * Bump systeminformation from 5.18.3 to 5.21.8 in /ui-tests by
    @dependabot in #3837
  * Try to use manager's latexTypesetter if window.MathJax is not
    defined by @bollwyvl in #3847
  * fix: restoring widgets from saved state is broken since v8 in
    Lab by @mariobuikhuizen in #3866
- Skip python39: no longer supported since ipython 8.19
- Update to 8.1.1
  * Raise error when copy method is used on base widget class by
    @mmc1718 in #3780
  * Reverts #3689 and #3738 back to the original working codebase
    by @martinRenou in #3830
- Update to 8.1.0
  * Allow CSS variables to be used as values in the Color trait by
    @nurbo in #3796
  * Replace ipykernel dependency by the comm dependency by
    @martinRenou in #3811
- Release 8.0.6
  * Fix tab widget with JupyterLab 4 by @martinRenou in #3787
- Update to 8.0.6
  * Fix: revert removing ipykernel dependency #3749
  * Fix: structuredClone broke default serializer that depended on
    JSON/toJSON #3738
  * Fix: comm/ipykernel/manager runtime issues: #3740, #3737
- Release 8.0.5
  * Fix: propertly typed Comm interface #3722
  * Fix: support the comm package #3533
  * Fix: use of structuredClone allows for binary traits out of the
    box #3689
  * Fix: combobox update issue #3681
  * Fix: add grey as valid color #3671
  * Fix: deprecation warning when using interact #3669
- Update to 8.0.4
  * Fix: slider change event issue with tapping: #3597, #3617
  * Fix: unintentional deprecation warnings: #3648, #3650
  * Fix: registry state lookup failed, making is impossible to
    create widgets from the frontend: #3653
- Release 8.0.3
  * Fix: be backwards compatibel with 7.x, where we re-instroduced
    .widget and .widget_types #3567
  * Fix: be backwards compatibel with 7.x, revert hold_sync during
    set_state #3642
- update to version 8.0.2:
  * Add a regression test for time and datetime cross validation
  * datetime test lint
  * Accept None for Date[time]Picker widgets
  * Export the NaiveDatetimePicker as well
  * Delete unused import.
  * Rename check_widgets -> check_widget_children to be more clear
  * Fix tests#
  * Allow Mappings to be given as the options in a selection widget
    again.
- specfile:
  * update required versions
  * require python >= 3.7
- update to version 8.0.1:
  * Deserialize state before setting it, as is done elsewhere
    set_state i…
  * Update to lerna 5.4.3
- changes from version 8.0.0:
  * changes
    + Add a cookiecutter-based tutorial to build a custom widget
      (#2919)
    + Change media widgets to use memory views. (#2723)
    + Upgrade to FontAwesome 5 in html-manager (#2713)
    + Play widget now toggles between play and pause button as needed
      (#2703, #2671)
    + Drop support for mapping types as selection options (#2679,
      #1958)
    + Focus or blur a widget. (#2664, #2692, #2691, #2690)
    + Drop notebook dependency from widgetsnbextension (#2590)
    + Cast ‘value’ in range sliders to a tuple (#2441)
    + Play widget: expose playing and repeat (#2283, #1897)
    + Fix debouncing and throttling code (#3060)
    + Fix regression on spinning icons (#2685, #2477)
    + Fix selection container default index (#1823)
    + Remove deprecated overflow properties (#2688)
    + Select: Do not force a selection if there is currently no
      selection and the options list changes (#3284)
    + Add support for localization to the lab extension (#3286)
    + Drop support for Python 2.7, 3.4, and 3.5 (#2558, #2655, #3131,
      #3120)
    + Fix character escapes in combobox options (#2972)
    + Modify outputs to use a comm if IPython is not available (#2954)
    + Bugfix/parameters in the from_file method to be passed along in
      the media class (#3074)
    + Widgetsnbextension: throw error on failure to render (#3280)
    + Fix memory leak from Image widget not releasing object urls
      (#3171, #3170)
    + ErrorWidget as fallback when widgets models or views fail -
      Following up (#3304)
    + Fix matplotlib plots in interact (#3277)
    + Fix selection equality checking (#2897)
    + Remove the on_displayed Python callback mechanism (#2021)
  * Python
    + Widget.widgets and Widget.widget_types are now private variables
      (#3122, #3173)
    + Generate the widget data spec as JSON (#2193)
    + Use _repr_mimebundle_ and require ipython 6.1 or later. (#2021,
      #1811)
    + Hold sync during set_state + fix selection widgets flakiness
      (#3271)
    + Remove deprecated handle_kernel alias (#2694)
    + Removed deprecated signature of the register decorator (#2695)
  * Javascript
    + Fix CSS variable names to match JupyterLab names (#2801, #2062)
    + Delete display_model and display_view (#2752, #2751)
    + Drop underscore usage (#2742)
    + Upgrade to es2017 javascript (#2725)
    + Split base manager into separate packages (#2710, #2561)
    + Change Phosphor to Lumino (#2681, #3267)
    + Widgetmanagerbase: improve create_view return type (#2662)
    + Refactor the JupyterLab widget manager so it can be reused
      (#2532)
    + Make more of lab manager dependencies optional (#2528)
    + Remove class jupyter-widgets from jp-outputarea-output node
      (#2500)
    + Rename pWidget to luminoWidget and deprecate pWidget (#3118,
      #3141, #3358,)
    + Add layout, style, and shown events (#3300)
    + Implement jupyter.widget.control comm channel (#3313)
    + Update to TypeScript 4.3 (#3162)
    + Add event listener for resize events (#3124)
    + Remove process.cwd polyfill (#3315)
    + Make sure buffer is a DataView (#3127)
    + Deprecate the overly broad CSS class widget and introduce a
      similar jupyter-widget CSS class (#3146)
    + Fetch the full widget state via a control Comm (#3021)
    + Export LabWidgetManager and KernelWidgetManager (#3166)
    + More helpful semver range message (#3185)
    + Make the base widget manager .get_model() method always return a
      Promise, which is rejected if the requested model is not
      registered. To test if a model is registered, use the new
      .has_model() method (#3389)
  * Documentation improvements
    + Documentation overhaul (#3104, #3096, #3099, #3076, #2824,
      #3246, #3243, #3103, #3165, #3283, #2927, #3062, #3129, #3130,
      #3155, )
    + Remove step parameter from widget list notebook (#3106)
    + Remove extra requirements from doc to fix RTD build (#3098)
    + Align doc requirements for 7.x branch with master (#3094)
    + Remove defunct deep-links from install in README (#3225)
    + Fix documentation about embedding widget in HTML (#3224)
    + Fix example web3 missing process during runtime (#3223)
    + Complete docstring for interactive. (#3169)
    + Unpin ipykernel<6 for the docs (#3168)
    + Checking milestone and generating changelog (#3125)
    + Change graph example to receive a tuple instead of a dict
      (#3117)
    + Fix debouncing and throttling code (#3060)
    + Variable Inspector example used a wrong callback argument
      signature (#3302)
  * Repo maintenance
    + Visual regression testing using Galata (#3172, #3279)
    + Reorganize packages in the monorepo, moving the python packages
      to the python folder (#3301, #3316)
    + Use new custom widget label on issue template (#3176)
    + Create and upload reference screenshots on CI failure (#3227)
    + Allow generate-spec to take optional output file (#3174)
    + Update to Jupyter Packaging 0.10 (#3194)
    + Update bug report test environment (#3156)
    + Create links out to gitter and discourse from the new issue
      options (#3153)
    + Adapt the milestone_check script from JupyterLab for
      ipywidgets. (#3091)
    + Fix spec generation for traitlets 5 (#3234)
    + Add documentation issue template (#3095)
    + Add Binder links and badges (#3164, #3212, #3151, #3148, #2701)
- Update to version 7.7.1
  * Fix broken link icon for FontAwesome 4 and 5 #3495
  * Fix message throttling bug #3494
  * Fix state message parsing to be more permissive #3486
  * Fix tests on Python 3.11 #3480
  * Add better front-page docs #3496
- Release 7.7
  * Fix installation on Python 3.10. #3368
  * Throw an error if we cannot render a widget, enabling the
    rendering system to fall back to rendering a different data
    type if available. #3290
  * Create a new widget control comm channel, enabling more
    efficient fetching of kernel widget state. #3201
  * Refactor logic for fetching kernel widget state to the manager
    base class. This logic first tries to use the new widget
    control comm channel, falling back to the existing method of
    requesting each widget's state individually. #3337
  * Enable HTMLManager output widgets to render state updates.
    #3372
  * Do not reset JupyterLab CSS variables if they are already
    defined. #3344
  * Fix variable inspector example. #3302
  * Introduce new widget manager has_model method for synchronously
    checking if a widget model is registered. #3377
  * Work around bug in Chrome rendering Combobox arrows. #3375
  * Optionally echo update messages from frontends to other
    frontends. This enables widget views in different frontends to
    maintain consistent state simultaneously, and also makes sure
    that simultaneous updates from the kernel and frontend resolve
    to a consistent state. This is off by default in ipywidgets
    7.7, and it is anticipated this will be on by default in
    ipywidgets 8.0. To enable echo update messages across
    ipywidgets, set the environment variable JUPYTER_WIDGETS_ECHO
    to 1. To opt a specific attribute out of echo updates, tag the
    attribute with echo_update=False metadata (we do this in core
    for the FileUpload widget's data attribute). #3400, #3394
- Drop ipywidgets-pr2655-collectionsabc.patch
- Add ipywidgets-pr2655-collectionsabc.patch for python310 support
- Update to 7.6.5
  * No release notes
- Update requirements: jupyterlab-widgets and widgetsnbextensions
- Remove doc package
  * Version 7.6.5 ipywidgets.pdf and ipywidgets.zip not available
- Updated to version 7.6.3:
  * The main change in this release is that installing `ipywidgets`
    7.6.0 will now automatically enable ipywidgets support in
    JupyterLab 3.0
  * Full list of pull requests and issues, see the [7.6.0
    milestone](https://github.com/jupyter-widgets/ipywidgets/
    milestone/31?closed=1).
- Update html and pdf files.
- Provide the old jupyter package name only for the primary
  Python3 interpreter -- gh#openSUSE/python-rpm-macros#66
- Drop left over python-mock dep that is not present on
  python2 less enviroment
- Disable python2 build temporarily to get everything working.
- Update to 7.5.1
  * Add $el to BoxView and ControllerView
  * Fix setting a selection index when having duplicate values
  * Fixup build of documentation
  * Fix controls base dep
  * Reduce count of deprecation warnings
  * Update LayoutTemplate example
  * update html manager
  * js integrity
- Update to 7.5.0
  * New `AppLayout` and `GridLayout` templates for positioning interactive widgets.
  * New `FileUpload` widget allowing users to upload files from the browser.
  * New `ComboBox` widget.
  * JupyterLab CSS variables are now exposed by default even in the case of the classic notebook.
- Remove upstream-included fix-py3.7-unicode-in-rawstring.patch
- Remove not strictly needed dependencies to avoid dependency
  loop.
- Rename to to match python package naming guidelines.
- add python pexpect and pickleshare test dependencies
- Add fix-py3.7-unicode-in-rawstring.patch to fix building with python3.7
- specfile:
  * remove devel from noarch
  * be more specific in %files section
- update to version 7.4.2:
  * Add `click` method to the Button Widget
  * Fix JS remove_buffers view check
  * Add tests for JS remove_buffers
  * Use data-jupyter-widgets-cdn attribute to make the CDN
    configurable
  * update lerna
- Update to 3.4.1
  * New `Video` and `Audio` widgets have been introduced. [#2162](https://github.com/jupyter-widgets/ipywidgets/pull/2162)
    We updated the `@jupyter-widgets/controls` widget specification version to `1.4.0`, leading to the version bump to 7.4.
  * The use of mappings for the `options` attribute of selection widgets is deprecated. [#2130](https://github.com/jupyter-widgets/ipywidgets/pull/2130)
- Use upstream documentation builds
- Update to version 7.3.2
  * A new `GridBox` widget is introduced and associated CSS gridproperties are added to the layout. This enables using the CSS Grid spec for laying out widgets. See the [Widget Styling](http://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Styling.html) documentation for some examples. Because of this and other model specification changes, the view and module versions of widgets was incremented in both the base and controls packages. ([#2107](https://github.com/jupyter-widgets/ipywidgets/pull/2107), [#2064](https://github.com/jupyter-widgets/ipywidgets/pull/2064), [#1942](https://github.com/jupyter-widgets/ipywidgets/issues/1942))
  * Widgets with a `description` attribute now also have a `description_tooltip` attribute to set a tooltip on the description. The tooltip defaults to the description text. Setting `description_tooltip` to `''` removes it, and setting it to `None` makes the tooltip default to the description text. ([#2070](https://github.com/jupyter-widgets/ipywidgets/pull/2070))
  * `'transparent'` is now a valid color for color attributes. ([#2128](https://github.com/jupyter-widgets/ipywidgets/pull/2128))
  * Dropdowns now have extra padding to make room for the dropdown arrow. ([#2052](https://github.com/jupyter-widgets/ipywidgets/issues/2052), [#2101](https://github.com/jupyter-widgets/ipywidgets/pull/2101))
  * Image widget `repr` now truncates the image value to prevent huge amounts of output in notebooks. ([#2111](https://github.com/jupyter-widgets/ipywidgets/pull/2111))
  * Python 3.3 support is dropped. Python 3.3 support was dropped in the Python community in [September 2017](https://www.python.org/dev/peps/pep-0398/#x-end-of-life). ([#2129](https://github.com/jupyter-widgets/ipywidgets/pull/2129))
  * The license information has been consolidated into the LICENSE file, and the COPYING.md file is removed. If you are repackaging ipywidgets or widgetsnbextension, please make sure to include LICENSE instead of COPYING.md. ([#2133](https://github.com/jupyter-widgets/ipywidgets/pull/2133), [#2048](https://github.com/jupyter-widgets/ipywidgets/pull/2048), [#1701](https://github.com/jupyter-widgets/ipywidgets/issues/1701), [#1706](https://github.com/jupyter-widgets/ipywidgets/pull/1706))
- Update to version 7.2.1
  * A new `FloatLogSlider` widget is a slider with a log scale, suitable for exploring a wide range of magnitudes.
  * `link` and `dlink` are now exported from ipywidgets for convenience, so that you can import them directly from ipywidgets instead of needing to import them from traitlets. ([#1923](https://github.com/jupyter-widgets/ipywidgets/pull/1923))
  * A new option `manual_name` has been added to `interact_manual()` to change the name of the update button, for example `interact_manual(manual_name='Update')`. ([#1924](https://github.com/jupyter-widgets/ipywidgets/pull/1923))
  * The Output widget now has a `.capture()` method, which returns a decorator to capture the output of a function.
  * The Output widget has much more comprehensive documentation in its own section. ([#2020](https://github.com/jupyter-widgets/ipywidgets/pull/2020))
  * Installing `widgetsnbextension` now automatically enables the nbextension in Jupyter Notebook 5.3 or later. ([#1911](https://github.com/jupyter-widgets/ipywidgets/pull/1911))
  * The default rendering of a widget if widgets are not installed is now a short description of the widget in text instead of a much longer HTML message. ([#2007](https://github.com/jupyter-widgets/ipywidgets/pull/2007))
  * The JavaScript base widget manager class now has a `resolveUrl` method to resolve a URL relative to the current notebook location. ([#1993](https://github.com/jupyter-widgets/ipywidgets/pull/1993))
  * The html manager now exposes a way to specify which JavaScript file is fetched for a package and the loader used to fetch the library. ([#1995](https://github.com/jupyter-widgets/ipywidgets/pull/1995), [#1998](https://github.com/jupyter-widgets/ipywidgets/pull/1998))
  * The `@jupyter-widgets/controls` widget specification version was bumped to `1.2.0`. Changes include the FloatLogSlider widget and more specific documentation about array element types. ([#2017](https://github.com/jupyter-widgets/ipywidgets/pull/2017))
- Update to version 7.1.2
  * Bugfix release
- Update to version 7.1.1
  * Bugfix release
- Update to version 7.1
  * We updated the @jupyter-widgets/controls widget specification
    version to 1.1.0, leading to the version bump to 7.1.
    The new widget model specification now includes new
    description_width and font_weight attributes for the
    ToggleButtonsStyle widget.
  * There are also other bugfixes in this release.
- update to version 7.0.5:
  * No changelog
- update to version 7.0.4:
  * No changelog
- Update to 7.0.3
  * No changelog
- Update to version 7.0.1
  + Major user-visible changes in ipywidgets 7.0 include:
    * Widgets are now displayed in the output area in the classic notebook and are treated as any other output. This allows the widgets to work more naturally with other cell output. To delete a widget, clear the output from the cell. Output from functions triggered by a widget view is appended to the output area that contains the widget view. This means that printed text will be appended to the output, and calling `clear_output()` will delete the entire output, including the widget view. ([#1274](https://github.com/jupyter-widgets/ipywidgets/pull/1274), [#1353](https://github.com/jupyter-widgets/ipywidgets/pull/1353))
    * Removed the version validation check since it was causing too many false warnings about the widget javascript not being installed or the wrong version number. It is now up to the user to ensure that the ipywidgets and widgetsnbextension packages are compatible. ([#1219](https://github.com/jupyter-widgets/ipywidgets/pull/1219))
    * The documentation theme is changed to the new standard Jupyter theme. ([#1363](https://github.com/jupyter-widgets/ipywidgets/pull/1363))
    * The `layout` and `style` traits can be set with a dictionary for convenience, which will automatically converted to a Layout or Style object, like `IntSlider(layout={'width': '100%'}, style={'handle_color': 'lightgreen'})`. ([#1253](https://github.com/jupyter-widgets/ipywidgets/pull/1253))
    * The Select widget now is a listbox instead of a dropdown, reverting back to the pre-6.0 behavior. ([#1238](https://github.com/jupyter-widgets/ipywidgets/pull/1238))
    * The Select and SelectMultiple widgets now have a `rows` attribute for the number of rows to display, consistent with the Textarea widget. The `layout.height` attribute overrides this to control the height of the widget. ([#1250](https://github.com/jupyter-widgets/ipywidgets/pull/1250))
    * Selection widgets (`Select`, `Dropdown`, `ToggleButtons`, etc.) have new `.value`, `.label`, and `.index` traits to make it easier to access or change the selected option.  ([#1262](https://github.com/jupyter-widgets/ipywidgets/pull/1262), [#1513](https://github.com/jupyter-widgets/ipywidgets/pull/1513))
    * Selection container widgets (`Accordion`, `Tabs`) can have their `.selected_index` set to `None` to deselect all items. ([#1495](https://github.com/jupyter-widgets/ipywidgets/pull/1495))
    * The `Play` widget range is now inclusive (max value is max, instead of max-1), to be consistent with Sliders
    * The `Play` widget now has an optional repeat toggle button (visible by default). ([#1190](https://github.com/jupyter-widgets/ipywidgets/pull/1190))
    * A refactoring of the text, slider, slider range, and progress widgets in resulted in the progress widgets losing their `step` attribute (which was previously ignored), and a number of these widgets changing their `_model_name` and/or `_view_name` attributes ([#1290](https://github.com/jupyter-widgets/ipywidgets/pull/1290))
    * The `Checkbox` description is now on the right of the checkbox and is clickable. The `Checkbox` widget has a new `indent` attribute (defaults to `True`) to line up nicely with controls that have descriptions. To make the checkbox align to the left, set `indent` to `False`. ([#1346](https://github.com/jupyter-widgets/ipywidgets/pull/1346))
    * A new Password widget, which behaves exactly like the Text widget, but hides the typed text: `Password()`. ([#1310](https://github.com/jupyter-widgets/ipywidgets/pull/1310))
    * A new SelectionRangeSlider widget for selecting ranges from ordered lists of objects. For example, this enables having a slider to select a date range. ([#1356](https://github.com/jupyter-widgets/ipywidgets/pull/1356))
    * The `Label` widget now has no width restriction. ([#1269](https://github.com/jupyter-widgets/ipywidgets/pull/1269))
    * The description width is now configurable with the `.style.description_width` attribute ([#1376](https://github.com/jupyter-widgets/ipywidgets/pull/1376))
    * ToggleButtons have a new `.style.button_width` attribute to set the CSS width of the buttons. Set this to `'initial'` to have buttons that individually size to the content width. ([#1257](https://github.com/jupyter-widgets/ipywidgets/pull/1257))
    * The `readout_format` attribute of number sliders now validates its argument. ([#1550](https://github.com/jupyter-widgets/ipywidgets/pull/1550))
    * The `IntRangeSlider` widget now has a `.readout_format` trait to control the formatting of the readout. ([#1446](https://github.com/jupyter-widgets/ipywidgets/pull/1446))
    * The `Text`, `Textarea`, `IntText`, `BoundedIntText`, `FloatText`, and `BoundedFloatText` widgets all gained a `continuous_update` attribute (defaults to `True` for `Text` and `TextArea`, and `False` for the others).  ([#1545](https://github.com/jupyter-widgets/ipywidgets/pull/1545))
    * The `IntText`, `BoundedIntText`, `FloatText`, and `BoundedFloatText` widgets are now rendered as HTML number inputs, and have a `step` attribute that controls the resolution. ([#1545](https://github.com/jupyter-widgets/ipywidgets/pull/1545))
    * The `Text.on_submit` callback is deprecated; instead, set `continuous_update` to `False` and observe the `value` attribute: `mywidget.observe(callback, 'value')`. The `Textarea.scroll_to_bottom` method was removed. ([#1545](https://github.com/jupyter-widgets/ipywidgets/pull/1545))
    * The `msg_throttle` attribute on widgets is now gone, and the code has a hardcoded message throttle equivalent to `msg_throttle=1`. ([#1557](https://github.com/jupyter-widgets/ipywidgets/pull/1557))
    * Using function annotations to specify interact controls for a function is now deprecated and will be removed in a future version of ipywidgets. ([#1292](https://github.com/jupyter-widgets/ipywidgets/pull/1292))
    * There are now two simple ways to embed widgets in an HTML page: with a simple script tag that does not use require.js and does not support anything but the basic widgets, and a require module that does support custom widgets. See the migration guide for more details. ([#1615](https://github.com/jupyter-widgets/ipywidgets/pull/1615), [#1629](https://github.com/jupyter-widgets/ipywidgets/pull/1629), [#1630](https://github.com/jupyter-widgets/ipywidgets/pull/1630))
  + If you are developing a custom widget or widget manager, here are some major changes that may affect you. The [migration guide](./migration_guides.html) also walks through how to upgrade a custom widget.
    * On the Python/kernel side:
      > The Python `@register` decorator for widget classes no longer takes a string argument, but registers a widget class using the `_model_*` and `_view_*` traits in the class. Using the decorator as `@register('name')` is deprecated and should be changed to just `@register`. [#1228](https://github.com/jupyter-widgets/ipywidgets/pull/1228), [#1276](https://github.com/jupyter-widgets/ipywidgets/pull/1276)
      > Widgets will now need correct `_model_module` and `_view_module` Unicode traits defined.
      > Selection widgets now sync the index of the selected item, rather than the label. ([#1262](https://github.com/jupyter-widgets/ipywidgets/pull/1262))
      > The Python `ipywidget.domwidget.LabeledWidget` is now `ipywidget.widget_description.DescriptionWidget`, and there is a new `ipywidget.widget_description.DescriptionStyle` that lets the user set the CSS width of the description.
      > Custom serializers can now return a structure that contains binary objects (`memoryview`, `bytearray`, or Python 3 `bytes` object). In this case, the sync message will be a binary message, which is much more efficient for binary data than base64-encoding. The Image widget now uses this binary synchronization. ([#1194](https://github.com/jupyter-widgets/ipywidgets/pull/1194), [#1595](https://github.com/jupyter-widgets/ipywidgets/pull/1595), [#1643](https://github.com/jupyter-widgets/ipywidgets/pull/1643))
    * On the Javascript side:
      > The `jupyter-js-widgets` Javascript package has been split into `@jupyter-widgets/base` package (containing base widget classes, the DOM widget, and the associated layout and style classes), and the `@jupyter-widgets/controls` package (containing the rest of the Jupyter widgets controls). Authors of custom widgets will need to update to depend on `@jupyter-widgets/base` instead of `jupyter-js-widgets` (if you use a class from the controls package, you will also need to depend on `@jupyter-widgets/controls`). See the [cookie cutter](https://github.com/jupyter-widgets/widget-cookiecutter) to generate a simple example custom widget using the new packages.
      > Custom serializers in Javascript are now synchronous, and should return a snapshot of the widget state. The default serializer makes a copy of JSONable objects. ([#1270](https://github.com/jupyter-widgets/ipywidgets/pull/1270))
      > Custom serializers can now return a structure that contains binary objects (`ArrayBuffer`, `DataView`, or a typed array such as `Int8Array`, `Float64Array`, etc.). In this case, the sync message will be a binary message, which is much more efficient for binary data than base64-encoding. The Image widget now uses this binary synchronization. ([#1194](https://github.com/jupyter-widgets/ipywidgets/pull/1194), [#1643](https://github.com/jupyter-widgets/ipywidgets/pull/1643))
      > A custom serializer is given the widget instance as its second argument, and a custom deserializer is given the widget manager as its second argument.
      > The Javascript model `.id` attribute has been renamed to `.model_id` to avoid conflicting with the Backbone `.id` attribute. ([#1410](https://github.com/jupyter-widgets/ipywidgets/pull/1410))
    * Regarding widget managers and the syncing message protocol:
      > The widget protocol was significantly overhauled. The new widget messaging protocol (version 2) is specified in the [version 2 protocol documentation](https://github.com/jupyter-widgets/ipywidgets/blob/master/jupyter-widgets-schema/messages.md).
      > Widgets are now displayed with a `display_data` message instead of with a custom comm message. See the [ipywidgets](20cd0f0500/ipywidgets/widgets/widget.py (L656)) implementation for an example. ([#1274](https://github.com/jupyter-widgets/ipywidgets/pull/1274))
      > Custom widget managers are now responsible completely for loading widget model and view classes. Widget managers should provide an output model and view class appropriate for their environment so that the `Output` widget works. ([#1313](https://github.com/jupyter-widgets/ipywidgets/pull/1313))
      > The widget manager `clear_state` method no longer has a `commlessOnly` argument. All models in the widget manager will be closed and cleared when `clear_state` is called. ([#1354](https://github.com/jupyter-widgets/ipywidgets/pull/1354))
- Implement single-spec version.
- Update to 6.0
  * Rendering of Jupyter interactive widgets in various web contexts
  *  Addition of a DatePicker widget in the core widget collection.
  * Changes to the automatic control generation syntax in @interact, inspired by the Sage interact syntax.
  * Removal of APIs which had been deprecated in 5.0
  * A new API for custom styling of widgets is provided, through a top-level `style` attribute. For example, the color of a slider handler can be set by `slider.style.handle_color`.
  * Removal of the Proxy and PlaceProxy widgets.
  * Removed the button_style attribute of the Dropdown widget
  * Addition of an OutputWidget for capturing output and rich display objects. @interact has changed to use an OutputWidget for function output instead of overwriting the output area of a cell.
  * The jupyter-js-widgets Javascript implementation now relies on the PhosphorJS framework for the management of rich layout and a better integration of JupyterLab.
  * Numerous bug fixes.
- Create doc subpackage
- Remove unnecessary dependency on npm
- update to version 4.1.1:
  * More detailed dev-install instructions
  * add 'npm is required' message when files are missing
  * fix version_info
  * Don't prefix with v
  * Update the RELEASE instructions
- update to version 4.1.0:
  * Add release instructions
  * Reuse backend's widgets
  * Move ready trigger
  * Add `ready` event which fires when the widget receives its first state
  * 0 is falsy
  * Pass the correct Comm target name in create_widget
  * Do not send comm_info for workaround widget
  * Search for css selectors using the parent element
  * Fixes
  * Add the ability to change the readout logic easily.
  * Fix version in py file
  * Run interact manual on Text widget submit
  * Fix clean-css too
  * Include float/int text and progress widgets too
  * Only update slider description on description change
  * Fixes, - Behavior so the readout render - Listen to the correct
    jqueryui event
  * Add `continuous` flag to the sliders, which allows you to set
    whether or not the sliders update as they are being dragged.
  * Allow for numeric labels and retain type information on selection
  * Stricter LESS and Bower versions, and make sure bower is ran silently
  * Fix collapse/expand bug on accordion title change.
  * Import get_ipython() since it is no longer available globally.
  * Don't filter on the javascript side
  * Use the _get_comm_info method to reconstruct all widget models
    living in the backend.
  * Close the widget area when there are no more widget views.
  * Allow change of description
  * Adding color picker widget
  * Move create_model back into WidgetManager
  * Reference persistence callbacks in WidgetManager, not ManagerBase
  * fix typo in comm creation conditional
  * Handle case where options are missing in new_widget call.
  * Fix that/this context error
  * Change postinstall to prepublish
  * Bug fix
  * Finish decoupling of the manager
  * Begin notebook decoupling effort.
- Update to 4.0.3
  * Provide link to example notebooks in the README.md
  * Correct some bugs in the code
  * Add __version__ to ipywidgets package
  * Call correct superclass in AccordionView
  * Make long description part of setup.py
  * Remove README.md from manifest
- Fix npm dependency on openSUSE:Factory
- Initial version

OBS-URL: https://build.opensuse.org/request/show/1330759
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipywidgets?expand=0&rev=21
2026-02-03 20:34:59 +00:00
bc4ee371b0 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipywidgets?expand=0&rev=56 2026-02-03 11:09:08 +00:00
eb3af81282 - update to 8.1.8:
* Fix badge formatting in README.md
  * Add Plausible web stats
  * Update jupyterlab_widgets metadata to indicate it works with
    JupyterLab 4
- Updated to version 7.6.3:
- add python pexpect and pickleshare test dependencies
  * Correct some bugs in the code

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipywidgets?expand=0&rev=55
2025-12-01 23:16:53 +00:00
32bdadde13 Accepting request 1297165 from devel:languages:python:jupyter
- Update to 8.1.7
  * Dynamic widgets registry by @martinRenou in #3988
- Release 8.1.6
  * Fix lumino and lab packages pinning by @martinRenou in #3958
  * Typo fix by @david4096 in #3960
  * Update lables even without MatJax/TypeSetter by @DonJayamanne
    in #3962
  * Fix the new line when pressing enter in textarea widget by
    @brichet in #3982
  * Backward compatibility on processPhosphorMessage by
    @martinRenou in #3945
  * Include sourcemaps in npm tarballs by @manzt in #3978
  * Fix deprecation warning when importing the backend_inline by
    @emolinlu in #3984

- Update to 8.1.5

OBS-URL: https://build.opensuse.org/request/show/1297165
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipywidgets?expand=0&rev=20
2025-08-03 11:37:57 +00:00
6ee5a86176 - Update to 8.1.7
* Dynamic widgets registry by @martinRenou in #3988
- Release 8.1.6
  * Fix lumino and lab packages pinning by @martinRenou in #3958
  * Typo fix by @david4096 in #3960
  * Update lables even without MatJax/TypeSetter by @DonJayamanne
    in #3962
  * Fix the new line when pressing enter in textarea widget by
    @brichet in #3982
  * Backward compatibility on processPhosphorMessage by
    @martinRenou in #3945
  * Include sourcemaps in npm tarballs by @manzt in #3978
  * Fix deprecation warning when importing the backend_inline by
    @emolinlu in #3984
- Update to 8.1.5

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipywidgets?expand=0&rev=53
2025-08-02 16:28:03 +00:00
1694b16bae Accepting request 1201256 from devel:languages:python:jupyter
- Update to 4.0.13
  * More Phosphor backward compatibility by @martinRenou in #3942
  ## New features
  * Allow interact to use basic type hint annotations by
    @corranwebster in #3908
  * Support horizontal orientation of radio buttons by
    @DonJayamanne in #3620
  ## Maintenance and bug fixes
  * Fix compatibility with pytest 8 by @frenzymadness in #3903
  * HTMLManager: Support both ipywidgets 7 and 8 models by
    @martinRenou in #3932
  * Make tests compatible with Python 3.13 by @frenzymadness in
    #3924
  * fix: get_metadata deprecated since traitlets 4.1 by
    @ManonMarchand in #3894
  * Phosphor widget backward compatibility fixes by @martinRenou in
    #3933
  * Remove confusing error message by @martinRenou in #3936
  * Fix wrong tag index in TagsInput when updated via python by
    @s-weigand in #3862
- Drop ipywidgets-pr3903-pytest.patch

OBS-URL: https://build.opensuse.org/request/show/1201256
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ipywidgets?expand=0&rev=19
2024-09-16 15:42:39 +00:00
d47ccb1cab - Drop ipywidgets-pr3903-pytest.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipywidgets?expand=0&rev=51
2024-09-15 15:56:14 +00:00
c0ddd65f0a - Update to 4.0.13
* More Phosphor backward compatibility by @martinRenou in #3942
  ## New features
  * Allow interact to use basic type hint annotations by
    @corranwebster in #3908
  * Support horizontal orientation of radio buttons by
    @DonJayamanne in #3620
  ## Maintenance and bug fixes
  * Fix compatibility with pytest 8 by @frenzymadness in #3903
  * HTMLManager: Support both ipywidgets 7 and 8 models by
    @martinRenou in #3932
  * Make tests compatible with Python 3.13 by @frenzymadness in
    #3924
  * fix: get_metadata deprecated since traitlets 4.1 by
    @ManonMarchand in #3894
  * Phosphor widget backward compatibility fixes by @martinRenou in
    #3933
  * Remove confusing error message by @martinRenou in #3936
  * Fix wrong tag index in TagsInput when updated via python by
    @s-weigand in #3862

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:jupyter/python-ipywidgets?expand=0&rev=50
2024-09-15 15:55:24 +00:00
5 changed files with 65 additions and 105 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f5f9eeaae082b1823ce9eac2575272952f40d748893972956dc09700a6392d9c
size 116515

3
ipywidgets-8.1.8.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:61f969306b95f85fba6b6986b7fe45d73124d1d9e3023a8068710d47a22ea668
size 116739

View File

@@ -1,91 +0,0 @@
From bbc6c064aa797eb21bd5a9b441dbbc76925a72db Mon Sep 17 00:00:00 2001
From: Lumir Balhar <lbalhar@redhat.com>
Date: Thu, 11 Apr 2024 11:40:15 +0200
Subject: [PATCH] Fix compatibility with pytest 8
Resolves: https://github.com/jupyter-widgets/ipywidgets/issues/3883
---
.../ipywidgets/ipywidgets/widgets/tests/test_interaction.py | 2 --
python/ipywidgets/ipywidgets/widgets/tests/test_link.py | 1 -
.../ipywidgets/ipywidgets/widgets/tests/test_send_state.py | 2 +-
.../ipywidgets/ipywidgets/widgets/tests/test_set_state.py | 2 +-
python/ipywidgets/ipywidgets/widgets/tests/utils.py | 6 +++---
5 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/ipywidgets/widgets/tests/test_interaction.py b/ipywidgets/widgets/tests/test_interaction.py
index 0dc7e5fcfc..feb1afe50c 100644
--- a/ipywidgets/widgets/tests/test_interaction.py
+++ b/ipywidgets/widgets/tests/test_interaction.py
@@ -19,8 +19,6 @@
# Utility stuff
#-----------------------------------------------------------------------------
-from .utils import setup, teardown
-
def f(**kwargs):
pass
diff --git a/ipywidgets/widgets/tests/test_link.py b/ipywidgets/widgets/tests/test_link.py
index 0c92dfdcb2..9301764d40 100644
--- a/ipywidgets/widgets/tests/test_link.py
+++ b/ipywidgets/widgets/tests/test_link.py
@@ -4,7 +4,6 @@
import pytest
from .. import jslink, jsdlink, ToggleButton
-from .utils import setup, teardown
def test_jslink_args():
with pytest.raises(TypeError):
diff --git a/ipywidgets/widgets/tests/test_send_state.py b/ipywidgets/widgets/tests/test_send_state.py
index ec18ae4af1..98465b9b7d 100644
--- a/ipywidgets/widgets/tests/test_send_state.py
+++ b/ipywidgets/widgets/tests/test_send_state.py
@@ -3,7 +3,7 @@
from traitlets import Bool, Tuple, List
-from .utils import setup, teardown, DummyComm
+from .utils import setup
from ..widget import Widget
diff --git a/ipywidgets/widgets/tests/test_set_state.py b/ipywidgets/widgets/tests/test_set_state.py
index 82ecbd9311..22ec54d90f 100644
--- a/ipywidgets/widgets/tests/test_set_state.py
+++ b/ipywidgets/widgets/tests/test_set_state.py
@@ -6,7 +6,7 @@
from traitlets import Bool, Tuple, List, Instance, CFloat, CInt, Float, Int, TraitError, observe
-from .utils import setup, teardown
+from .utils import setup
import ipywidgets
from ipywidgets import Widget
diff --git a/ipywidgets/widgets/tests/utils.py b/ipywidgets/widgets/tests/utils.py
index 260485e3f8..8dbbcb355b 100644
--- a/ipywidgets/widgets/tests/utils.py
+++ b/ipywidgets/widgets/tests/utils.py
@@ -12,7 +12,7 @@
NEW_COMM_PACKAGE = False
import ipykernel.comm
-
+import pytest
class DummyComm():
comm_id = 'a-b-c-d'
@@ -87,10 +87,10 @@ def teardown_test_comm():
setattr(Widget, attr, value)
_widget_attrs.clear()
+@pytest.fixture(autouse=True)
def setup():
setup_test_comm()
-
-def teardown():
+ yield
teardown_test_comm()
def call_method(method, *args, **kwargs):

View File

@@ -1,3 +1,55 @@
-------------------------------------------------------------------
Mon Dec 1 23:16:40 UTC 2025 - Dirk Müller <dmueller@suse.com>
- update to 8.1.8:
* Fix badge formatting in README.md
* Add Plausible web stats
* Update jupyterlab_widgets metadata to indicate it works with
JupyterLab 4
-------------------------------------------------------------------
Sat Aug 2 16:14:15 UTC 2025 - Ben Greiner <code@bnavigator.de>
- Update to 8.1.7
* Dynamic widgets registry by @martinRenou in #3988
- Release 8.1.6
* Fix lumino and lab packages pinning by @martinRenou in #3958
* Typo fix by @david4096 in #3960
* Update lables even without MatJax/TypeSetter by @DonJayamanne
in #3962
* Fix the new line when pressing enter in textarea widget by
@brichet in #3982
* Backward compatibility on processPhosphorMessage by
@martinRenou in #3945
* Include sourcemaps in npm tarballs by @manzt in #3978
* Fix deprecation warning when importing the backend_inline by
@emolinlu in #3984
-------------------------------------------------------------------
Sun Sep 15 15:49:33 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 8.1.5
* More Phosphor backward compatibility by @martinRenou in #3942
## New features
* Allow interact to use basic type hint annotations by
@corranwebster in #3908
* Support horizontal orientation of radio buttons by
@DonJayamanne in #3620
## Maintenance and bug fixes
* Fix compatibility with pytest 8 by @frenzymadness in #3903
* HTMLManager: Support both ipywidgets 7 and 8 models by
@martinRenou in #3932
* Make tests compatible with Python 3.13 by @frenzymadness in
#3924
* fix: get_metadata deprecated since traitlets 4.1 by
@ManonMarchand in #3894
* Phosphor widget backward compatibility fixes by @martinRenou in
#3933
* Remove confusing error message by @martinRenou in #3936
* Fix wrong tag index in TagsInput when updated via python by
@s-weigand in #3862
- Drop ipywidgets-pr3903-pytest.patch
-------------------------------------------------------------------
Fri Jul 12 15:35:21 UTC 2024 - Ben Greiner <code@bnavigator.de>
@@ -269,7 +321,7 @@ Sun Oct 17 20:53:43 UTC 2021 - Ben Greiner <code@bnavigator.de>
-------------------------------------------------------------------
Mon Feb 8 22:51:24 UTC 2021 - malcolmlewis@opensuse.org
- Updated to version 7.6.3:
- Updated to version 7.6.3:
* The main change in this release is that installing `ipywidgets`
7.6.0 will now automatically enable ipywidgets support in
JupyterLab 3.0
@@ -332,7 +384,7 @@ Thu Apr 25 01:59:57 UTC 2019 - Todd R <toddrme2178@gmail.com>
-------------------------------------------------------------------
Thu Feb 7 06:37:08 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- add python pexpect and pickleshare test dependencies
- add python pexpect and pickleshare test dependencies
-------------------------------------------------------------------
Tue Feb 5 12:52:46 UTC 2019 - Antonio Larrosa <alarrosa@suse.com>
@@ -560,7 +612,7 @@ Mon Oct 12 13:47:20 UTC 2015 - toddrme2178@gmail.com
- Update to 4.0.3
* Provide link to example notebooks in the README.md
* Correct some bugs in the code
* Correct some bugs in the code
* Add __version__ to ipywidgets package
* Call correct superclass in AccordionView
* Make long description part of setup.py

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-ipywidgets
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,15 +17,13 @@
Name: python-ipywidgets
Version: 8.1.3
Version: 8.1.8
Release: 0
Summary: IPython HTML widgets for Jupyter
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/jupyter-widgets/ipywidgets
Source0: https://files.pythonhosted.org/packages/source/i/ipywidgets/ipywidgets-%{version}.tar.gz
# PATCH-FIX-UPSTREAM ipywidgets-pr3903-pytest.patch gh#jupyter-widgets/ipywidgets#3903
Patch0: ipywidgets-pr3903-pytest.patch
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
@@ -36,8 +34,8 @@ BuildRequires: unzip
Requires: python-comm >= 0.1.3
Requires: python-ipython >= 6.1.0
Requires: python-traitlets >= 4.3.1
Requires: (python-jupyterlab_widgets >= 3.0.11 with python-jupyterlab_widgets < 4)
Requires: (python-widgetsnbextension >= 4.0.11 with python-widgetsnbextension < 5)
Requires: (python-jupyterlab_widgets >= 3.0.15 with python-jupyterlab_widgets < 4)
Requires: (python-widgetsnbextension >= 4.0.14 with python-widgetsnbextension < 5)
Provides: python-jupyter_ipywidgets = %{version}
Obsoletes: python-jupyter_ipywidgets < %{version}
BuildArch: noarch
@@ -46,11 +44,12 @@ BuildRequires: %{python_module comm >= 0.1.3}
BuildRequires: %{python_module ipykernel}
BuildRequires: %{python_module ipython >= 6.1.0}
BuildRequires: %{python_module jsonschema}
BuildRequires: %{python_module jupyterlab_widgets >= 3.0.11 with %python-jupyterlab_widgets < 4}
BuildRequires: %{python_module jupyterlab_widgets >= 3.0.15 with %python-jupyterlab_widgets < 4}
BuildRequires: %{python_module pytest >= 3.6.0}
BuildRequires: %{python_module pytz}
BuildRequires: %{python_module nbclassic}
BuildRequires: %{python_module traitlets >= 4.3.1}
BuildRequires: %{python_module widgetsnbextension >= 4.0.11 with %python-widgetsnbextension < 5}
BuildRequires: %{python_module widgetsnbextension >= 4.0.14 with %python-widgetsnbextension < 5}
# /SECTION
%if "%{python_flavor}" == "python3" || "%{?python_provides}" == "python3"
Provides: jupyter-ipywidgets = %{version}