Conversation
|
I think this is a great start :) I like the tools folder, where we could collect useful tools like this! |
|
🌟 definitely interested!
Sounds right to me,
👍 @peendebak what would it take to make this user-friendly? I guess the biggest thing maybe would be to handle any arbitrary data set, not just |
|
I'll change the name to DataViewer, that sounds better. Some things do be done to make it more usable:
|
|
|
I like this, good job! 🌷 |
|
👍 @peendebak this looks awesome, this makes me very happy ! |
|
@giulioungaretti I do not think qt (pyqtgraph) is a heavy requirement for a data browser. Using the web-browser is possible, but I find that if does not work well when doing research (I have no control over any web-based interface). @giulioungaretti How do we test such a thing? I need at least datasets to be plotted I guess. Is it ok to add datasets for testing to the repository? |
|
@alexcjohnson I renamed the thing to DataViewer. Now any 1D or 2D dataset can be plotted. By default |
|
@ everyone somehow I feel like this should be in a different repo like qcodes/tools @peendebak testing:
So, up to you all are fine for me. BUT, if you have data then it's not unit tests, but integration tests, which are two different beasts Ideally one has both, unit testing every function and then integration testing the whole thing. Unfortunately I won't be able to give hands-on suggestion before 1st june 🎅 |
|
@giulioungaretti |
I have one computer here that I've tried several times to get Qt working on, and somehow still cannot... so even if in this case I'm just doing something dumb, I guarantee that this will not be a straightforward dependency for all users. While it's heavier from the perspective of the code we have to write (Python + HTML + Javascript), I think eventually we should make all of these features available through a web-based interface. That doesn't mean we need to take out Qt - I see great value in supporting multiple platforms. I just don't want it to be a base requirement. |
Perhaps once we get to greater core stability (at the very least after we start semver in earnest with the core) we could do that. In the short term it seems easier to keep it all together for coordinated changes. Also from a user perspective it's nice if qcodes can all be installed and updated as a single package... which may be fine from an end-user perspective (setup.py will take care of it all), but as developer-users it seems easier to keep one repo up to date than several, since they'll all be used as a unit. But perhaps it's just that I don't really understand how that workflow would look, I'm happy to be shown better ways! |
If they are just in service of testing, I would prefer to keep them in qcodes/tests/data or something. But yes, lets keep them small. |
|
@alexcjohnson I totally agree, in one way the best requirement is no requirement at all :D The ultimate goal is tho have a backend that is frontend agnostic, but offers just enough api that gluing a web browser and or qt is really easy. Lastly, one could also start dreaming out native GUI, either by using electron (http://electron.atom.io/) or some other wizardy ( react native, etcetc). @alexcjohnson I actually though the opposite, that it's nicer to develop if all the components (that are somehow independent) are sitting in their own repo. But yes, let's wait before we reach version > 0.x! @alexcjohnson whopsi, that's what I meant. |
|
I will just put this here for reference. I developed a 1d and 2d dataset plotting tool which is located at https://github.com/Rubenknex/qtplot. It is based on pyqt as I did not have experience with interactive websites and just thought that this would be faster/more stable. This might be something to build on when making a data visualization application. |
qcodes/tools/dataviewer.py
Outdated
|
|
||
| if param_name is not None: | ||
| logging.info('using parameter %s for plotting' % param_name) | ||
| self.qplot.add( getattr(data, param_name) ); |
qcodes/tools/dataviewer.py
Outdated
| # span container columns | ||
| self.logtree.setFirstColumnSpanned(i, self.logtree.rootIndex(), True) | ||
|
|
||
| ''' Return parameter to be plotted ''' |
There was a problem hiding this comment.
Issue found: String statement has no effect
Current coverage is 82.82% (diff: 100%)
|
|
Issues
======
- Added 2
See the complete overview on Codacy |
|
|
||
| for i, datetag in enumerate(sorted(logs.keys())[::-1]): | ||
| parent1 = QtGui.QStandardItem(datetag) | ||
| for j, logtag in enumerate(sorted(logs[datetag])): |
|
Issues
======
- Added 2
See the complete overview on Codacy |
| print('logCallback! error ...') | ||
| print(e) | ||
| logging.warning(e) | ||
| pass |
There was a problem hiding this comment.
Issue found: Unnecessary pass statement
|
|
||
| for i, datetag in enumerate(sorted(logs.keys())[::-1]): | ||
| parent1 = QtGui.QStandardItem(datetag) | ||
| for j, logtag in enumerate(sorted(logs[datetag])): |
This is a simple logfile viewer. If there is interest we can extend it to a version that can be used by anyone.