GithubHelp home page GithubHelp logo

plotpystack / guidata Goto Github PK

View Code? Open in Web Editor NEW
59.0 14.0 20.0 3.06 MB

Python library generating graphical user interfaces for easy dataset editing and display

Home Page: https://pypi.python.org/pypi/guidata

License: BSD 3-Clause "New" or "Revised" License

Batchfile 1.16% Python 98.84%

guidata's Introduction

guidata: Automatic GUI generation for easy dataset editing and display with Python

pypi version PyPI status PyPI pyversions download count

ℹ️ Created in 2009 by Pierre Raybaut and maintained by the PlotPyStack organization.

Overview

The guidata package is a Python library generating Qt graphical user interfaces. It is part of the PlotPyStack project, aiming at providing a unified framework for creating scientific GUIs with Python and Qt.

Simple example of guidata datasets embedded in an application window:

Example

See documentation for more details on the library and changelog for recent history of changes.

Copyrights and licensing:

Features

Based on the Qt library, guidata is a Python library generating graphical user interfaces for easy dataset editing and display. It also provides helpers and application development tools for Qt (PyQt5, PySide2, PyQt6, PySide6).

Generate GUIs to edit and display all kind of objects regrouped in datasets:

  • Integers, floats, strings
  • Lists (single/multiple choices)
  • Dictionaries
  • ndarrays (NumPy's N-dimensional arrays)
  • Etc.

Save and load datasets to/from HDF5, JSON or INI files.

Application development tools:

  • Data model (internal data structure, serialization, etc.)
  • Configuration management
  • Internationalization (gettext)
  • Deployment tools
  • HDF5, JSON and INI I/O helpers
  • Qt helpers
  • Ready-to-use Qt widgets: Python console, source code editor, array editor, etc.

Dependencies and installation

See Installation section in the documentation for more details.

guidata's People

Contributors

berrosse avatar ceavirginie avatar lamby avatar laubry avatar lcointot avatar morganpfistercodra avatar pierreraybaut avatar stonebig avatar vld-codra avatar xiaodaxia-2008 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

guidata's Issues

Problem updating a BoolItem

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=35

Reported by robsteed0, Jun 11, 2014

What steps will reproduce the problem?
I'm embedding a dataset within a simple application using a DataSetEditGroupBox and I'm updating the values of the dataset as I choice entries in my 'database'. One field is a BoolItem and I've found that I couldn't set it to False after it was True.

So in pseudo code

class test(DataSet):
   boolitem = BoolItem("t/f")


class panel(QWidget):
   def __init__(self):
       QWidget.__init__(self)
       ...
       self.dataseteditgroupbox = DataSetEditGroupBox("event", test)
       ...

   def somemethod(self): #update values in dataset
       ...
       self.dataseteditgroupbox.dataset.boolitem = False #this doesn't work
       self.dataseteditgroupbox.get()

What version of the product are you using? On what operating system?
I'm using version 1.6.1-3 on python2.7 on win32.

Please provide any additional information below.
I've found that the issue is due to the get() method of the CheckBoxWidget class in qtitemwidget.py. So changing the method to this fixes my problem

class CheckBoxWidget(AbstractDataSetWidget):

    ...

    def get(self):
        """Override AbstractDataSetWidget method"""
        value = self.item.get()
        if value:
            self.checkbox.setChecked(True)
        else:
            self.checkbox.setChecked(False)

I'm quite new to guidata so although I think that this is a bug, it could also be that I'm not using it the right way.

Radio buttons for choices

Bringing up again an issue which was raised in code.google times already:

Will it be possible to have radio button groups instead of drop-down menus? For few items, this may greatly increase readability.

I could imagine that a choiceItem has an additional argument specifying the behavior.

Problem with "FilesOpenItem" data item

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=38

Reported by Clement.Trosseille, Feb 25, 2015

Using guidata 1.6.1.

I try to select a file that has a ' character in it using guidata.dataset.dataitems.FilesOpenItem. The selected file is not seen as valid by guidata (text area remains orange).

Modifying the "from_string" method of FilesOpenItem in order to change the line

if value.endswith("']"):

to

if value.endswith("']") or if value.endswith('"]'):

seems to solve the problem

FloatItem slider doesn't retain position

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=31

Reported by sheiksadique, May 15, 2013

What steps will reproduce the problem?

  1. Run the code attached in issue #24 in Ipython
  2. Change the value on the sliders and close the window
  3. Reopen the window with gp.edit()

What is the expected output? What do you see instead?

The sliders should ideally retain their position reflecting the value of the FloatItem, but they seem to always initialize at MIN every time the window is initialized.

What version of the product are you using? On what operating system?

guidata-1.5.1, Ubuntu 12.10

Please provide any additional information below.

I noticed you had sliders in some of your demo/example code. Could you please test and see if the same happens with them, and eventually fix the problem ? Thanks!

guidata doesn not work with the new spyder 2.3.6

picca@mordor:~/Debian/guidata/guidata$ guidata-tests
Traceback (most recent call last):
File "/usr/bin/guidata-tests", line 3, in
tests.run()
File "/usr/lib/python2.7/dist-packages/guidata/tests/init.py", line 16, in run
from guidata.guitest import run_testlauncher
File "/usr/lib/python2.7/dist-packages/guidata/guitest.py", line 17, in
from spyderlib.widgets.sourcecode.codeeditor import CodeEditor
File "/usr/lib/python2.7/dist-packages/spyderlib/widgets/sourcecode/codeeditor.py", line 25, in
from spyderlib.qt import is_pyqt46
File "/usr/lib/python2.7/dist-packages/spyderlib/qt/init.py", line 23, in
sip.setapi('QDate', 2)
ValueError: API 'QDate' has already been set to version 1

ir seems to me that the fix done for python-qwt should be used also for guidata

disthelpers.py test has issues

(40, 40)
D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\sit
e-packages\guiqwt\image.py:487: RuntimeWarning: overflow encountered in byte_sca
lars
  self.lut = (LUT_MAX/(self.max-self.min),
D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\sit
e-packages\guiqwt\image.py:488: RuntimeWarning: overflow encountered in byte_sca
lars
  -LUT_MAX*self.min/(self.max-self.min),
D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\sit
e-packages\guiqwt\image.py:487: RuntimeWarning: overflow encountered in short_sc
alars
  self.lut = (LUT_MAX/(self.max-self.min),
D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\sit
e-packages\guiqwt\image.py:488: RuntimeWarning: overflow encountered in short_sc
alars
  -LUT_MAX*self.min/(self.max-self.min),
--------------------------------------------------------------------------------

Adding item #0... Done
Adding item #1... Done
Adding item #2... Done
Adding item #3... Done
Adding item #4... Done
Assemble test1: 1500.0 x 1000.0
saving...
Assemble test2: 375.0 x 250.0

Incompatibility with Python 3.11

guidata can't be installed with Python 3.11

$ pip install -e .
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [14 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "guidata/setup.py", line 32, in <module>
          from guidata.utils import get_subpackages, get_package_data
        File "guidata/guidata/__init__.py", line 542, in <module>
          import guidata.config
        File "guidata/guidata/config.py", line 21, in <module>
          _ = get_translation("guidata")
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "guidata/guidata/configtools.py", line 53, in get_translation
          _trans = gettext.translation(
                   ^^^^^^^^^^^^^^^^^^^^
      TypeError: translation() got an unexpected keyword argument 'codeset'

See https://docs.python.org/3/library/gettext.html

Changed in version 3.11: codeset parameter is removed.

problem with scripts shebang

It seems to me that the shebang of the script are wrong.
The -py3 version should have python3 instead of python if I am not wrong.

Wrong handling of None values in py3compat.py:to_text_string

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=34

Reported by rocksportrocker, Aug 28, 2013

I had some problems with the automatic checking of text related DataItems in guidata 1.6.1.

Looking inside the code I found that the function to_text_string returns u"None" for a None input value. This results in valid empty text fields with
a missing default value.

To reproduce this problem, just create a dialogue

class Parameters(dt.DataSet):
     x_user_name = di.StringItem("Full Name", notempty=True)
     y_user_name = di.StringItem("Full Name", notempty=True, default="")

Parameters().edit()

Aug 29, 2013
Project Member pierre.raybaut

I can't reproduce this bug with the provided example on Windows 7 with Python 2.7 or Python 3.3.

Creating guidata executables using pyinstaller

This is probably related to #9

What steps will reproduce the problem?

  1. Create a simple script (e.g. example given at the top of page https://code.google.com/p/guidata/)
  2. Freeze using pyinstaller on windows (tested with python 2.7): pyinstaller -D example.py

The executable gets built, but when attempted to run. It gives the following error

\\vboxsvr\user\Prog\win\dist\example\guidata\images
Traceback (most recent call last):
  File "example.py", line 1, in <module>
    import guidata
  File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "site-packages\guidata\__init__.py", line 541, in <module>
  File "c:\python27\Lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
    exec(bytecode, module.__dict__)
  File "site-packages\guidata\config.py", line 19, in <module>
  File "site-packages\guidata\configtools.py", line 109, in add_image_module_path
  File "site-packages\guidata\configtools.py", line 95, in add_image_path
WindowsError: [Error 3] The system cannot find the path specified: u'\\\\vboxsvr\\user\\Prog\\win\\dist\\example\\guidata\\images\\*.*'
Failed to execute script example

I circumvented this by adding the directory containing the guidata images directly into pyinstaller's spec file:

-              datas=[],
+              datas=[
+                (r'C:\Python27\lib\site-packages\guidata\images', 'guidata\images'),
+              ],

I guess that this could be solved in a more straightforward way by changing config.get_module_data_path or something similar. If i have the time I might have a look at this.

Modeless dialogues over existing Qt Application

Hello

I am wondering how (and if) it is possible to create an updateable modeless dialogue over an existing QtApplication.

So, an existing Qt application is setup and runnning and I would like to use guidata to show some output to the user in a floating window. Ideally, it would be nice to update the underlying DataSet object and have this reflected on the modeless dialogue, maybe after calling some update() function if required.

One way of doing this currently seems to be to override the QMainWindow. In my case however, a QMainWindow is already there through the main application.

The alternative route I have taken was to create a QDialog and try to DataSetShow... my instance of DataSet on it but without much luck.

Any ideas how I could proceed?

issue while testing guidata on WinPython 2.7 32 bit Qt4

from guidata import tests; tests.run()

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-13-dc950e79b631> in <module>()
      1 # Guidata (Python library generating graphical user interfaces for easy dataset editing and display)
----> 2 from guidata import tests; tests.run()

D:\WinPython\basedir27\build\winpython-2.7.10\python-2.7.10\lib\site-packages\guidata\__init__.py in <module>()
    536 #    Version 2.0 dated 2006-09-05.
    537 
--> 538 import guidata.config
    539 
    540 def qapplication():

D:\WinPython\basedir27\build\winpython-2.7.10\python-2.7.10\lib\site-packages\guidata\config.py in <module>()
     13 import os.path as osp
     14 
---> 15 from guidata.configtools import add_image_module_path, get_translation
     16 from guidata.userconfig import UserConfig
     17 

D:\WinPython\basedir27\build\winpython-2.7.10\python-2.7.10\lib\site-packages\guidata\configtools.py in <module>()
     20 import gettext
     21 
---> 22 from guidata.qt.QtGui import (QFont, QLabel, QPixmap, QIcon, QHBoxLayout,
     23                               QColor, QPen, QBrush, QFontDatabase)
     24 from guidata.qt.QtCore import Qt

D:\WinPython\basedir27\build\winpython-2.7.10\python-2.7.10\lib\site-packages\guidata\qt\__init__.py in <module>()
     22     import sip
     23     try:
---> 24         sip.setapi('QString', 2)
     25         sip.setapi('QVariant', 2)
     26         sip.setapi('QDate', 2)

ValueError: API 'QString' has already been set to version 1

cx_Freeze and guidata/guiqwt works on Windows not on Linux

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=26

Reported by [email protected], Jan 2, 2013

What steps will reproduce the problem?

  1. Create a simple script (e.g. example given at the top of page https://code.google.com/p/guidata/)
  2. Freeze using cx_Freeze

I used the following setup file

import sys
import os

"""Create a stand-alone executable"""

try:
    import guidata
    from guidata.disthelpers import Distribution
except ImportError:
    raise ImportError, "This script requires guidata 1.4+"

def create_executable():
    """Build executable using ``guidata.disthelpers``"""
    dist = Distribution()
    dist.setup(name='Foo', version='0.1',
           description='bar',
           script="test.py", target_name='test.exe')
    dist.add_modules('guidata', 'guiqwt')
    # Building executable
    dist.build('cx_Freeze')

if __name__ == '__main__':
    create_executable()

The executable gets built, but when attempted to run. It gives the error

    OSError: [Errno 20] Not a directory: '/home/user/tmp/dist/library.zip/guidata/images'

What version of the product are you using? On what operating system?
guidata 1.5.1 Linux

In windows this works fine!

Please provide any additional information below.

I traced the problem to the lines

    parentdir = osp.join(datapath, osp.pardir)
    if osp.isfile(parentdir)

in configtools.py file.

See the following link where I posted a temporary hack to avoid the issue for the moment.
http://stackoverflow.com/questions/14111366/cx-freeze-and-guiqwt-works-on-windows-not-on-linux/14129726#14129726

Is there a stable userconfig lib?

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=29

Reported by lhesxi, May 14, 2013

I wanted to use the userconfig lib that I found mentioned in the guidata documentation.
It is stated that "It is the exact copy of the open-source package userconfig (MIT license)." So I tried the example from the open source version (https://code.google.com/p/userconfig/downloads/list) but it did not work with the version in guidata.

Some searching revealed that there are at least 3 versions of userconfig, all incompatible: the google version is 1.0.9, but there is a userconfig 1.0.13 in spiderlib and a version 1.0.7 in guidata (of WinPython-64bit-2.7.4.1).
It would seem that 1.0.13 is the most recent, but its copyright info dates it at 2009, while the 1.0.7 version mentions 2012. Only the google version has an example of usage.

Is the version in spyder maybe specific to spyder, while the version in guidata -or at google- is intended for general use? Will there always be a divergence or will there be a convergence of all versions?

Is there already a version that is future safe? Can it be used without having to include a copy of an old userconfig later? And is it possible to provide an example of usage for that version (like for the google version)?

UserConfigWriter missing function writer

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=27

Reported by misjob, Jan 15, 2013

What steps will reproduce the problem?

from guidata.dataset.datatypes import *
from guidata.dataset.dataitems import *
from guidata.userconfig import *

class DS(DataSet):
  f = FloatItem('F', 1.0)

ds = DS('')
uc = UserConfig({})
uc.set_application('app','1.0.0')
ds.write_config(uc,'a','b')

What is the expected output? What do you see instead?

Expected to save data set to ini file:

[main]
version = 1.0.0

[a]
b/f = 1.0

but throws exception because UserConfigWriter created in 'write_config' is missing the function 'write', used by DataItem.serialize

What version of the product are you using? On what operating system?
1.5.1-1 on Windows XP, pythonxy 2.7.3.1

Please provide any additional information below.

This is a workaround

from guidata.userconfigio import UserConfigWriter
UserConfigWriter.write = UserConfigWriter.write_any

from guidata import tests; tests.run() - Most Tests Do Not Function Properly with Pyside

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=36

Reported by ec3mon, Aug 27, 2014

What steps will reproduce the problem?

  1. Remove PyQT and Install Pyside
  2. Run the tests
  3. Run-time warning about Pyside not fully supported will appear in console

What is the expected output? What do you see instead?

The GUI's appear,but there does not seem to be any communication between the UI controls. Changing one will not affect any of the others. Slider will not change the text box value, etc. (as it does using PyQt).

What version of the product are you using? On what operating system?

Guidata V1.6.1
Pyside 1.2.2
Python 2.7.3

Tested under Win7 and Kubuntu 12.04LTS - same result.

Exception with Qt4/5 collision on python 3.5

With python 3.5, the collision between PyQt 4 and 5 is not caught upon import:

try:
    from PyQt4.QtCore import PYQT_VERSION_STR as __version__ # analysis:ignore
except ImportError:

This leads to the following exception backtrace:

Traceback (most recent call last):
  ...
    import guidata.dataset.datatypes as dt
  File "/home/q/.local/lib/python3.5/site-packages/guidata/__init__.py", line 541, in <module>
    import guidata.config
  File "/home/q/.local/lib/python3.5/site-packages/guidata/config.py", line 15, in <module>
    from guidata.configtools import add_image_module_path, get_translation
  File "/home/q/.local/lib/python3.5/site-packages/guidata/configtools.py", line 22, in <module>
    from guidata.qt.QtGui import (QFont, QLabel, QPixmap, QIcon, QHBoxLayout,
  File "/home/q/.local/lib/python3.5/site-packages/guidata/qt/__init__.py", line 54, in <module>
    from PyQt4.QtCore import PYQT_VERSION_STR as __version__ # analysis:ignore
RuntimeError: the PyQt4.QtCore and PyQt5.QtCore modules both wrap the QObject class

It seems that python 3.6 turns PyQt's RuntimeError into an
ImportError, but on 3.5 the exception handling still fails. A
simple fix would be to catch RuntimeErrors as well:

except (ImportError, RuntimeError):

[Errno 2] No such file or directory: 'doc/dev/v2_to_v3.csv'.

Hello, I am preparing the package for Debian and I have this error message

/builds/science-team/guidata/debian/output/source_dir/doc/dev/v2_to_v3.rst:31: CRITICAL: Problems with "csv-table" directive path:
[Errno 2] No such file or directory: 'doc/dev/v2_to_v3.csv'.

RecursionError with guidata.userconfig.UserConfig on Python 3.5.1rc1

I get this wired error:

from guidata import tests; tests.run()
---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
<ipython-input-1-dc950e79b631> in <module>()
      1 # Guidata (Python library generating graphical user interfaces for easy dataset editing and display)
----> 2 from guidata import tests; tests.run()

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\tests\__init__.py in run()
     15     import guidata
     16     from guidata.guitest import run_testlauncher
---> 17     run_testlauncher(guidata)
     18 
     19 if __name__ == '__main__':

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\guitest.py in run_testlauncher(package)
    162     from guidata.qt.QtGui import QApplication
    163     app = QApplication([])
--> 164     win = TestLauncherWindow(package)
    165     win.show()
    166     app.exec_()

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\guitest.py in __init__(self, package, parent)
    132         test_package = sys.modules[test_package_name]
    133 
--> 134         tests = get_tests(test_package)
    135         listwidget = QListWidget(self)
    136         listwidget.addItems([osp.basename(test.filename) for test in tests])

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\guitest.py in get_tests(test_package)
     36             continue
     37         if not module_name.startswith('_'):
---> 38             _temp = __import__(test_package.__name__, fromlist=[module_name])
     39             test_module = getattr(_temp, module_name)
     40             test = TestModule(test_module)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\tests\userconfig_app.py in <module>()
     24 ds = DS('')
     25 uc = userconfig.UserConfig({})
---> 26 uc.set_application('app','1.0.0')
     27 ds.write_config(uc,'a','b')
     28 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in set_application(self, name, version, load, raw_mode)
    149             # If config file already exists, it overrides Default options:
    150             self.__load()
--> 151             if version != self.get_version(version):
    152                 # Version has changed -> overwriting .ini file
    153                 self.reset_to_defaults(save=False)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get_version(self, version)
    186     def get_version(self, version='0.0.0'):
    187         """Return configuration (not application!) version"""
--> 188         return self.get(self.default_section_name, 'version', version)
    189 
    190     def set_version(self, version='0.0.0', save=True):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393         self._interpolate_some(parser, option, L, value, section, defaults, 1)
    394         return ''.join(L)
    395 

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in _interpolate_some(self, parser, option, accum, rest, section, map, depth)
    404     def _interpolate_some(self, parser, option, accum, rest, section, map,
    405                           depth):
--> 406         rawval = parser.get(section, option, raw=True, fallback=rest)
    407         if depth > MAX_INTERPOLATION_DEPTH:
    408             raise InterpolationDepthError(option, section, rawval)

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in get(self, section, option, default, **kwargs)
    310                 self.set(section, option, default)
    311                 return default
--> 312         value = self.__get(section, option)
    313         if PY2 and isinstance(value, str):
    314             return value.decode("utf-8")

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\site-packages\guidata\userconfig.py in __get(self, section, option)
    317     def __get(self, section, option):
    318         """Get and convert value to the type of the default value"""
--> 319         value = cp.ConfigParser.get(self, section, option, raw=self.raw)
    320         default_value = self.get_default(section, option)
    321         if isinstance(default_value, bool):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in get(self, section, option, raw, vars, fallback)
    795         else:
    796             return self._interpolation.before_get(self, section, option, value,
--> 797                                                   d)
    798 
    799     def _get(self, section, conv, option, **kwargs):

D:\WinPython\basedir35\build\winpython-3.5.1.amd64\python-3.5.1.amd64\lib\configparser.py in before_get(self, parser, section, option, value, defaults)
    391     def before_get(self, parser, section, option, value, defaults):
    392         L = []
--> 393

Radio buttons?

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=32

Reported by [email protected], May 22, 2013

Are there any plans to implement a radio button group? Yes, it's similar to a ChoiceItem, and I can get by with that for now. Still, the nice thing about a group of radio buttons is that all of the options are always viewable to the user and can be chosen with one click instead of two.

[3.0.2] sphinx doc hang when building on the Debian infra

the Debian infrastructure si not connected to internet in order to avoid security issues.
so the network is not accessible during the build.

It seems that the documentation try to access something on internet when I run the sphinx-build script.

I am wondering if this is not something related to the get_package_summary_from_pypi...

I can patch this part but maybe the best solution would be to generate these file at release time.

Cheers

Fred

WinPython: First guidata example doesn't work?

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=39

Reported by [email protected], May 15, 2015

What steps will reproduce the problem?

  1. Install WinPython-64bit-2.7.9.3.exe on a Win7SP1x64 PC
    or
    Install WinPython-32bit-2.7.9.3.exe on a Win7SP1x32 PC
  2. Open and save the 1st guidata example in spyders editor pane from
    https://pythonhosted.org/guidata/examples.html
import guidata
guidata.qapplication() # not required if a QApplication has already been created

import guidata.dataset.datatypes as dt
import guidata.dataset.dataitems as di

class Processing(dt.DataSet):
    """Example"""
    a = di.FloatItem("Parameter #1", default=2.3)
    b = di.IntItem("Parameter #2", min=0, max=10, default=5)
    type = di.ChoiceItem("Processing algorithm",
                         ("type 1", "type 2", "type 3"))

param = Processing()
param.edit()
  1. Open a Python console in Spyders Console pane: Consoles > Open a python console
  2. Run the example inside Spyder: Click Icon 'Run File' or F5

What is the expected output?
The examples guidata dialog should appear.

What do you see instead?
In Spyder python console a message appears in red:
'QWidget: Must construct a QApplication before a QPaintDevice'
No dialog gets displayed
The console hangs.

What version of the product are you using? On what operating system?
Guidata Version 1.6.2, Win7SP1

Please provide any additional information below.
The example works fine on a Windows XPSP3x32 Computer with Python(x,y) 2.6.2.0 installed.


Jul 31, 2015
Ladislav.Louka

Got the same thing when trying forst time, problem is the app is not stored replacing

guidata.qapplication() # not required if a QApplication has already been created

with

_app = guidata.qapplication()
#(_app is just a variable to store it, replace it as you will)

does the deal.

BTW there is a ticket somewhere with the exact thing saying it was fixed...

guidata disthelpers.py test fails (Qt5/Python3.4/windows)

`Traceback (most recent call last):
  File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64
\lib\site-packages\guidata\tests\disthelpers.py", line 23, in <module>
    script="editgroupbox.py", target_name="demo.exe")
  File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64
\lib\site-packages\guidata\disthelpers.py", line 378, in setup
    assert osp.isfile(script)
AssertionError

setup error guiqwt under PyQt5 environnement

the setup of guiwqt rely on guidata module which seems to rely on Pyqt4 !? (I didn't get the error before, because setting 'QT-API' variable by hand to 'pyqt5' in previous method)

I don't know if you consider this a bug

Collecting guiqwt (from -r D:\WinPythonQt5\basedir34\requirements3.txt (line 2))
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "C:\Users\famille\AppData\Local\Temp\pip-build-cx76pcw4\guiqwt\setup.py", line 28, in <module>
        from guidata.utils import get_subpackages, get_package_data, cythonize_all
      File "D:\WinpythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\guidata\__init__.py", line 538, in <module>
        import guidata.config
      File "D:\WinpythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\guidata\config.py", line 15, in <module>
        from guidata.configtools import add_image_module_path, get_translation
      File "D:\WinpythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\guidata\configtools.py", line 22, in <module>
        from guidata.qt.QtGui import (QFont, QLabel, QPixmap, QIcon, QHBoxLayout,
      File "D:\WinpythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\guidata\qt\__init__.py", line 56, in <module>
        from PyQt4 import uic  # analysis:ignore
    ImportError: No module named 'PyQt4'

with latest guidata 1.7.0b4 and friends "disthelpers.py" example doesn't work

all others are looking ok now


  File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\guidata\tests\disthelpers.py", line 23, in <module>
    script="editgroupbox.py", target_name="demo.exe")
  File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\site-packages\guidata\disthelpers.py", line 380, in setup
    assert osp.isfile(script)
AssertionError

guidata-test3 for python3 version ?

Hello,

I am preparing the Debina package and I would like to know what is the best way to deal with the python2 and python3 version of the guidata-tests (scripts)

to my opinion it would be nice to rename it as guidata-tests3 like ipython did with ipython3.

What is your opinion ?

Guidata can not be installed on python 2.6

When trying to install guidata via pip install --user guidata with python 2.6, the installation breaks with the following error message:

File "/tmp/caribou/pip-build-6m1nnH/guidata/setup.py", line 151, in <module>
    % sys.version_info.major,]},
AttributeError: 'tuple' object has no attribute 'major'

The setup.py script uses the named accessor sys.version_info.major which is only accessible from python 2.7 onwards. However, the meta-data lists compatibility with python 2.6.

problem trying to install guidata

below the detail. First hints:

  • pypi whishes now it to be normalized setuptools\dist.py:285: UserWarning: Normalizing '1.7.0beta2' to '1.7.0b2'
  • then this probably sphinx/colorama bug under python3.4, maybe there is a fix somewhere ? (I think I have it also for spyder) ... it would be easier if you could publish a wheel.
    python setup.py sdist bdist_wheel --universal
Collecting guidata
  Downloading guidata-1.7.0beta2.zip (437kB)
    100% |################################| 438kB 305kB/s
Building wheels for collected packages: guidata
  Running setup.py bdist_wheel for guidata
  Complete output from command D:\WinPythonQt5\basedir34\build\winpython-3.4.3.a
md64\python-3.4.3.amd64\python.exe -c "import setuptools;__file__='C:\\Users\\fa
mille\\AppData\\Local\\Temp\\pip-build-ne6s4dt8\\guidata\\setup.py';exec(compile
(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d
 C:\Users\famille\AppData\Local\Temp\tmpxuk111v5pip-wheel-:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib
  creating build\lib\guidata
  copying guidata\config.py -> build\lib\guidata
  copying guidata\configtools.py -> build\lib\guidata
  copying guidata\disthelpers.py -> build\lib\guidata
  copying guidata\gettext_helpers.py -> build\lib\guidata
  copying guidata\guitest.py -> build\lib\guidata
  copying guidata\hdf5io.py -> build\lib\guidata
  copying guidata\py3compat.py -> build\lib\guidata
  copying guidata\qthelpers.py -> build\lib\guidata
  copying guidata\qtwidgets.py -> build\lib\guidata
  copying guidata\userconfig.py -> build\lib\guidata
  copying guidata\userconfigio.py -> build\lib\guidata
  copying guidata\utils.py -> build\lib\guidata
  copying guidata\__init__.py -> build\lib\guidata
  creating build\lib\guidata\dataset
  copying guidata\dataset\dataitems.py -> build\lib\guidata\dataset
  copying guidata\dataset\datatypes.py -> build\lib\guidata\dataset
  copying guidata\dataset\qtitemwidgets.py -> build\lib\guidata\dataset
  copying guidata\dataset\qtwidgets.py -> build\lib\guidata\dataset
  copying guidata\dataset\textedit.py -> build\lib\guidata\dataset
  copying guidata\dataset\__init__.py -> build\lib\guidata\dataset
  creating build\lib\guidata\qt
  copying guidata\qt\compat.py -> build\lib\guidata\qt
  copying guidata\qt\QtCore.py -> build\lib\guidata\qt
  copying guidata\qt\QtDesigner.py -> build\lib\guidata\qt
  copying guidata\qt\QtGui.py -> build\lib\guidata\qt
  copying guidata\qt\QtSvg.py -> build\lib\guidata\qt
  copying guidata\qt\QtWebKit.py -> build\lib\guidata\qt
  copying guidata\qt\__init__.py -> build\lib\guidata\qt
  creating build\lib\guidata\tests
  copying guidata\tests\activable_dataset.py -> build\lib\guidata\tests
  copying guidata\tests\activable_items.py -> build\lib\guidata\tests
  copying guidata\tests\all_features.py -> build\lib\guidata\tests
  copying guidata\tests\all_items.py -> build\lib\guidata\tests
  copying guidata\tests\bool_selector.py -> build\lib\guidata\tests
  copying guidata\tests\callbacks.py -> build\lib\guidata\tests
  copying guidata\tests\config.py -> build\lib\guidata\tests
  copying guidata\tests\data.py -> build\lib\guidata\tests
  copying guidata\tests\datasetgroup.py -> build\lib\guidata\tests
  copying guidata\tests\disthelpers.py -> build\lib\guidata\tests
  copying guidata\tests\editgroupbox.py -> build\lib\guidata\tests
  copying guidata\tests\hdf5.py -> build\lib\guidata\tests
  copying guidata\tests\inheritance.py -> build\lib\guidata\tests
  copying guidata\tests\rotatedlabel.py -> build\lib\guidata\tests
  copying guidata\tests\text.py -> build\lib\guidata\tests
  copying guidata\tests\translations.py -> build\lib\guidata\tests
  copying guidata\tests\__init__.py -> build\lib\guidata\tests
  creating build\lib\guidata\images
  copying guidata\images\apply.png -> build\lib\guidata\images
  copying guidata\images\arredit.png -> build\lib\guidata\images
  copying guidata\images\busy.png -> build\lib\guidata\images
  copying guidata\images\cell_edit.png -> build\lib\guidata\images
  copying guidata\images\copy.png -> build\lib\guidata\images
  copying guidata\images\delete.png -> build\lib\guidata\images
  copying guidata\images\dictedit.png -> build\lib\guidata\images
  copying guidata\images\edit.png -> build\lib\guidata\images
  copying guidata\images\exit.png -> build\lib\guidata\images
  copying guidata\images\expander_down.png -> build\lib\guidata\images
  copying guidata\images\expander_right.png -> build\lib\guidata\images
  copying guidata\images\file.png -> build\lib\guidata\images
  copying guidata\images\fileclose.png -> build\lib\guidata\images
  copying guidata\images\fileimport.png -> build\lib\guidata\images
  copying guidata\images\filenew.png -> build\lib\guidata\images
  copying guidata\images\fileopen.png -> build\lib\guidata\images
  copying guidata\images\filesave.png -> build\lib\guidata\images
  copying guidata\images\filesaveas.png -> build\lib\guidata\images
  copying guidata\images\guidata.svg -> build\lib\guidata\images
  copying guidata\images\max.png -> build\lib\guidata\images
  copying guidata\images\min.png -> build\lib\guidata\images
  copying guidata\images\none.png -> build\lib\guidata\images
  copying guidata\images\not_found.png -> build\lib\guidata\images
  copying guidata\images\python.png -> build\lib\guidata\images
  copying guidata\images\quickview.png -> build\lib\guidata\images
  copying guidata\images\save_all.png -> build\lib\guidata\images
  copying guidata\images\selection.png -> build\lib\guidata\images
  copying guidata\images\settings.png -> build\lib\guidata\images
  copying guidata\images\shape.png -> build\lib\guidata\images
  copying guidata\images\xmax.png -> build\lib\guidata\images
  copying guidata\images\xmin.png -> build\lib\guidata\images
  creating build\lib\guidata\images\editors
  copying guidata\images\editors\edit.png -> build\lib\guidata\images\editors
  copying guidata\images\editors\editcopy.png -> build\lib\guidata\images\editor
s
  copying guidata\images\editors\editdelete.png -> build\lib\guidata\images\edit
ors
  copying guidata\images\editors\editpaste.png -> build\lib\guidata\images\edito
rs
  copying guidata\images\editors\edit_add.png -> build\lib\guidata\images\editor
s
  copying guidata\images\editors\fileimport.png -> build\lib\guidata\images\edit
ors
  copying guidata\images\editors\filesave.png -> build\lib\guidata\images\editor
s
  copying guidata\images\editors\imshow.png -> build\lib\guidata\images\editors
  copying guidata\images\editors\insert.png -> build\lib\guidata\images\editors
  copying guidata\images\editors\plot.png -> build\lib\guidata\images\editors
  copying guidata\images\editors\rename.png -> build\lib\guidata\images\editors
  creating build\lib\guidata\images\filetypes
  copying guidata\images\filetypes\doc.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\gif.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\html.png -> build\lib\guidata\images\filetype
s
  copying guidata\images\filetypes\jpg.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\pdf.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\png.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\pps.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\ps.png -> build\lib\guidata\images\filetypes
  copying guidata\images\filetypes\tar.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\tgz.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\tif.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\txt.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\xls.png -> build\lib\guidata\images\filetypes

  copying guidata\images\filetypes\zip.png -> build\lib\guidata\images\filetypes

  creating build\lib\guidata\locale
  creating build\lib\guidata\locale\fr
  creating build\lib\guidata\locale\fr\LC_MESSAGES
  copying guidata\locale\fr\LC_MESSAGES\guidata.mo -> build\lib\guidata\locale\f
r\LC_MESSAGES
  running build_scripts
  creating build\scripts-3.4
  copying and adjusting guidata-tests -> build\scripts-3.4
  copying guidata-tests.bat -> build\scripts-3.4
  running build_doc
  creating C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata\build\
sphinx
  creating C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata\build\
sphinx\doctrees
  creating C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata\build\
sphinx\html
  D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib\s
ite-packages\setuptools\dist.py:285: UserWarning: Normalizing '1.7.0beta2' to '1
.7.0b2'
    normalized_version,
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata\setup.p
y", line 107, in <module>
      cmdclass=cmdclass)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\site-packages\wheel\bdist_wheel.py", line 175, in run
      self.run_command('build')
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\command\build.py", line 126, in run
      self.run_command(cmd_name)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
    File "C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata\setup.p
y", line 77, in run
      sphinx.setup_command.BuildDoc.run(self)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\site-packages\sphinx\setup_command.py", line 141, in run
      if not color_terminal():
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\site-packages\sphinx\util\console.py", line 58, in color_terminal
      colorama.init()
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\site-packages\colorama\initialise.py", line 31, in init
      wrap_stream(orig_stdout, convert, strip, autoreset, wrap)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\site-packages\colorama\initialise.py", line 61, in wrap_stream
      convert=convert, strip=strip, autoreset=autoreset)
    File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd
64\lib\site-packages\colorama\ansitowin32.py", line 68, in __init__
      convert = on_windows and not wrapped.closed and not on_emulated_windows an
d is_a_tty(wrapped)
  ValueError: underlying buffer has been detached

  ----------------------------------------
  Failed building wheel for guidata
Failed to build guidata
Installing collected packages: guidata
  Running setup.py install for guidata
    Complete output from command D:\WinPythonQt5\basedir34\build\winpython-3.4.3
.amd64\python-3.4.3.amd64\python.exe -c "import setuptools, tokenize;__file__='C
:\\Users\\famille\\AppData\\Local\\Temp\\pip-build-ne6s4dt8\\guidata\\setup.py';
exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\
n'), __file__, 'exec'))" install --record C:\Users\famille\AppData\Local\Temp\pi
p-hn4_xidk-record\install-record.txt --single-version-externally-managed --compi
le:
    running install
    running build
    running build_py
    running build_scripts
    running build_doc
    D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64\lib
\site-packages\setuptools\dist.py:285: UserWarning: Normalizing '1.7.0beta2' to
'1.7.0b2'
      normalized_version,
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata\setup
.py", line 107, in <module>
        cmdclass=cmdclass)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\command\install.py", line 539, in run
        self.run_command('build')
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\command\build.py", line 126, in run
        self.run_command(cmd_name)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata\setup
.py", line 77, in run
        sphinx.setup_command.BuildDoc.run(self)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\site-packages\sphinx\setup_command.py", line 141, in run
        if not color_terminal():
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\site-packages\sphinx\util\console.py", line 58, in color_terminal
        colorama.init()
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\site-packages\colorama\initialise.py", line 31, in init
        wrap_stream(orig_stdout, convert, strip, autoreset, wrap)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\site-packages\colorama\initialise.py", line 61, in wrap_stream
        convert=convert, strip=strip, autoreset=autoreset)
      File "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.a
md64\lib\site-packages\colorama\ansitowin32.py", line 68, in __init__
        convert = on_windows and not wrapped.closed and not on_emulated_windows
and is_a_tty(wrapped)
    ValueError: underlying buffer has been detached

    ----------------------------------------
Command "D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd6
4\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\famille\\AppDa
ta\\Local\\Temp\\pip-build-ne6s4dt8\\guidata\\setup.py';exec(compile(getattr(tok
enize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))"
 install --record C:\Users\famille\AppData\Local\Temp\pip-hn4_xidk-record\instal
l-record.txt --single-version-externally-managed --compile" failed with error co
de 1 in C:\Users\famille\AppData\Local\Temp\pip-build-ne6s4dt8\guidata

D:\WinPythonQt5\basedir34\build\winpython-3.4.3.amd64\python-3.4.3.amd64>

Pb with DictItem

Issue originally submitted here: https://code.google.com/p/guidata/issues/detail?id=33

Reported by [email protected], Jun 3, 2013

Hello,

if you test this scipt :

import guidata
_app = guidata.qapplication() # not required if a QApplication has already been created

import guidata.dataset.datatypes as dt
import guidata.dataset.dataitems as di

class Processing(dt.DataSet):
    """Example"""
    dico = {}
    dico["P1"]=(10,23)
    dico["P2"]=(12,45)
    a = di.FloatItem("Parameter #1", default=2.3)
    b = di.IntItem("Parameter #2", min=0, max=10, default=5)
    type = di.ChoiceItem("Processing algorithm",
                         ("type 1", "type 2", "type 3"))
    toto = di.DictItem("test", default=dico)

param = Processing()
param.edit()

when you edit the dict item value the windows with the value is behind all over windo and not editable ...

Sylm,

Jun 24, 2015
nickedglass

I have this issue as well. Looks like it has been around for over two years. Any chance this will get fixed?

API 'QString' has already been set to version 1

Trying to run roibuddy results in the following error message:

/home/jeroen.delcour/anaconda/lib/python2.7/site-packages/skimage/filter/__init__.py:6: skimage_deprecation: The `skimage.filter` module has been renamed to `skimage.filters`.  This placeholder module will be removed in v0.13.
  warn(skimage_deprecation('The `skimage.filter` module has been renamed '
Traceback (most recent call last):
  File "/home/jeroen.delcour/anaconda/bin/roibuddy", line 7, in <module>
    from roibuddy.roi_buddy import main
  File "/home/jeroen.delcour/anaconda/lib/python2.7/site-packages/roibuddy/roi_buddy.py", line 32, in <module>
    from guidata import qthelpers
  File "/home/jeroen.delcour/anaconda/lib/python2.7/site-packages/guidata/__init__.py", line 541, in <module>
    import guidata.config
  File "/home/jeroen.delcour/anaconda/lib/python2.7/site-packages/guidata/config.py", line 15, in <module>
    from guidata.configtools import add_image_module_path, get_translation
  File "/home/jeroen.delcour/anaconda/lib/python2.7/site-packages/guidata/configtools.py", line 22, in <module>
    from guidata.qt.QtGui import (QFont, QLabel, QPixmap, QIcon, QHBoxLayout,
  File "/home/jeroen.delcour/anaconda/lib/python2.7/site-packages/guidata/qt/__init__.py", line 25, in <module>
    sip.setapi('QString', 2)
ValueError: API 'QString' has already been set to version 1

Running all latest versions of roibuddy (1.0.0), guidata (1.7.4), pythonqwt (0.5.4), and spyder (2.3.8). Using Anaconda 2.3.0, Python 2.7.11, 64-bit.
Have also tried using a fresh install of Anaconda on Windows, resulting in exactly the same error.

Perhaps Spyder is the one to have already set API 'QString' to 1?

No module named 'guidata.qt' error

Thank you for this great package.

In a fresh conda environment, after installing guidata via conda-forge, I get the error in the title No module named 'guidata.qt' error when running

from guidata.qt.QtGui import QMainWindow, QSplitter

Any help appreciated, can send more info as needed!

StringItem : if notempty flag is set to True, value is not checked on startup

Hi,

When editing a dataset with a StringItem, if the notempty flag is set to True, value seems not to be checked on startup only. The StringItem field is not highlighted (orange color by default).
A correct behavior is found for a TextItem.

Here is a very simple script, tested on guidata v1.7.1 with WinPython2.7.10.3_x64:

from guidata import qapplication
from guidata.dataset.datatypes import DataSet
from guidata.dataset.dataitems import StringItem, TextItem

class MyDataSet(DataSet):
    mystringtem = StringItem("mystringitem", notempty=True)
    mytextitem = TextItem("mytextitem", notempty=True)

if __name__ == "__main__":
    app = qapplication()
    dset = MyDataSet()
    dset.edit()
    app.exec_()

Bye,

Application icon isn't set properly

At editgroupbox.py example, the application icon at taskbar isn't set properly. I couldn't find what is wrong. I'm using the latest version with Python 2.7.11+ and python-qt4 4.11.4+dfsg-1+b3, Debian Sid.

error

guidata-tests-py3 does not seems to work

I would like your opinion is it a bug in guidata or in python3.4 ?

$ guidata-tests-py3
Traceback (most recent call last):
File "/usr/bin/guidata-tests-py3", line 3, in
tests.run()
File "/usr/lib/python3/dist-packages/guidata/tests/init.py", line 17, in run
run_testlauncher(guidata)
File "/usr/lib/python3/dist-packages/guidata/guitest.py", line 164, in run_testlauncher
win = TestLauncherWindow(package)
File "/usr/lib/python3/dist-packages/guidata/guitest.py", line 134, in init
tests = get_tests(test_package)
File "/usr/lib/python3/dist-packages/guidata/guitest.py", line 38, in get_tests
_temp = import(test_package.name, fromlist=[module_name])
File "/usr/lib/python3/dist-packages/guidata/tests/userconfig_app.py", line 26, in
uc.set_application('app','1.0.0')
File "/usr/lib/python3/dist-packages/guidata/userconfig.py", line 151, in set_application
if version != self.get_version(version):
File "/usr/lib/python3/dist-packages/guidata/userconfig.py", line 188, in get_version
return self.get(self.default_section_name, 'version', version)
File "/usr/lib/python3/dist-packages/guidata/userconfig.py", line 312, in get
value = self.__get(section, option)
File "/usr/lib/python3/dist-packages/guidata/userconfig.py", line 319, in __get
value = cp.ConfigParser.get(self, section, option, raw=self.raw)
File "/usr/lib/python3.4/configparser.py", line 772, in get
d)
File "/usr/lib/python3.4/configparser.py", line 371, in before_get
self._interpolate_some(parser, option, L, value, section, defaults, 1)
File "/usr/lib/python3.4/configparser.py", line 384, in _interpolate_some
rawval = parser.get(section, option, raw=True, fallback=rest)
TypeError: get() got an unexpected keyword argument 'raw'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.