anon-iclr-submission/benchname-bug-localization huggingface dataset:
Repository: finos/perspective
Issue: `perspective-python` should not use tilde (~) in client version resolution

## Bug Report

### Steps to Reproduce:
 1. Implement a `voila` application, but build it in an NPM environment where you have inconsistent (or non-existent) versions of `@finos/perspective-jupyterlab` or other dependencies.
 2. Use a CDN fallbkack, and host the assets instead on a version-qualified server that doesn't support tilde (~) version bounds.

### Expected Result:
Honest, I don't know what a sane developer would expect to happen here but _I_ expect this to fail spectacularly for very obvious reasons.

### Actual Result:
Quite.  We think the tilde is probably unnecessary here though so we'll remove it.

Changed files:
python/perspective/perspective/widget/widget.py

diff --git a/python/perspective/perspective/widget/widget.py b/python/perspective/perspective/widget/widget.py
index 504ce6d9d..c412b8efc 100644
--- a/python/perspective/perspective/widget/widget.py
+++ b/python/perspective/perspective/widget/widget.py
@@ -21,7 +21,7 @@ from ..core.data import deconstruct_pandas
 from ..core.exception import PerspectiveError
 from ..libpsp import is_libpsp
 from ..viewer import PerspectiveViewer
-from ..core._version import major_minor_version
+from ..core._version import __version__
 
 
 def _type_to_string(t):
@@ -209,10 +209,10 @@ class PerspectiveWidget(Widget, PerspectiveViewer):
     # Required by ipywidgets for proper registration of the backend
     _model_name = Unicode("PerspectiveModel").tag(sync=True)
     _model_module = Unicode("@finos/perspective-jupyterlab").tag(sync=True)
-    _model_module_version = Unicode("~{}".format(major_minor_version)).tag(sync=True)
+    _model_module_version = Unicode("~{}".format(__version__)).tag(sync=True)
     _view_name = Unicode("PerspectiveView").tag(sync=True)
     _view_module = Unicode("@finos/perspective-jupyterlab").tag(sync=True)
-    _view_module_version = Unicode("~{}".format(major_minor_version)).tag(sync=True)
+    _view_module_version = Unicode("~{}".format(__version__)).tag(sync=True)
 
     def __init__(
         self,