-
-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REVIEW]: labjack-controller: Fast Realtime Data Collection with Labjack T-Series DAQs in Python #1448
Comments
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @lucask07, it looks like you're currently assigned as the reviewer for this paper 🎉. ⭐ Important ⭐ If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿 To fix this do the following two things:
For a list of things I can do to help you, just type:
|
|
My review: labjack-controller is a Python library which aims to hide some of the low-level details of collecting data from a LabJack device. The interface is well thought-out and the documentation contains enough information to get started and make full use of the library. The code is very clean and seems to be written well with good error handling (and nice use of type hints!). The paper presents both the motivations for the library and the research purpose clearly. There were a minor issues I noticed in the documentation:
And on to a couple bigger issues. After reading the docs through, it's still not perfectly clear to me the interaction between The use of the term "realtime" to me implies the library is set up to continuously stream data, such as reading a frame of samples at a time and continuously updating a live plot with the collected data, say, every second. Looking at the documentation and code, it seems the library is more for doing what I would maybe call "data logging." The only Overall, labjack-controller is a well-written library and I think it has sufficient general scientific research purpose to fit in to JOSS. I recommend accepting so long as the notes above are taken into consideration. |
@ixjlyons Thank you, you caught some things that totally slipped by me. All of the minor issues you mentioned should be fixed in the next 24 hours or so. Adding a callback as a kwarg is trivial; I'll look into a solution to make the realtime bit more accessible. Currently, realtime functionality requires parallel processing; the Labjack vomits data all over the place, as soon as you start streaming and if you spend too much time in between acquiring frames, it will overflow all internal buffers and the stream will die. I expect I can hide this issue from the user by maintaining a thread pool and spinning off new callbacks from the pool. I'll also clear up the I expect to have everything fixed up by this weekend. |
This is a very nicely written software package and certainly fills a need. I'm a LabJack user and realize that the cost and ease of use (as compared to say, an NiDAQ) is great. Keep up the nice work! Review checkboxes that are yet to be ticked:
Other Notes:Unfortunately, I have a U6 LabJack (not a T series) so am not able to test this package with actual hardware. Note that for the U series LabJack has published a Python API: U series Python API. The title of the paper does not seem to accurately reflect what the software provides.
A few other notes, ideas, and questions
For example, within the docstring for
I'd expect that a settling time would be a float. Could you please check this? And add to the documentation the streaming mode(s) that you intend to support?
|
@whedon generate pdf |
|
PDF failed to compile for issue #1448 with the following error: Error reading bibliography ./paper.bib (line 21, column 3): |
@whedon generate pdf |
|
@lucask07 Thanks for your review. I believe that, at this point, I have addressed everything you pointed our as incorrect. A few comments explaining what my thinking was at the time:
@ixjlyons I think I have also addressed all of your points in the manner I outlined previously. At this point, I expect we can continue the review and editing process. |
@nyctanthous looks great, thanks for the thorough response to my critique. Note that I cannot verify the functionality since I don't have the hardware. I now accept this submission. Nice work! |
@lucask07 and @ixjlyons There are a couple of things still showing open on the review checklists. If all your issues are taken care of, can you close out the checklists? I realize that @lucask07 indicates not being able to complete a functional check. @ixjlyons -- were you able to do a functional check? If not, I'll see if I can find someone around my lab who has the hardware. |
The changes look good to me and I checked off my remaining boxes. I don't have a LabJack device so I was not able to test the library myself. |
@nyctanthous This paper looks ready to go. Can you please generate an archive version? Post the archive DOI back in here and let me know the version of the software you archived. I'll double check things and update the archive and version here. Thanks. |
@whedon generate pdf |
|
@whedon check references |
|
|
I confirm that the DOI which whedon suggests above is not relevant to this paper. It is a reference to a physical device, used to raise and lower laboratory equipment, and has nothing to do with the labjack software. |
@usethedata I created the release 0.4.1 to make Zenodo happy. DOI is 10.5281/zenodo.3247140 |
@whedon set 0.4.1 as version |
OK. 0.4.1 is the version. |
@whedon set 10.5281/zenodo.3247140 as archive |
OK. 10.5281/zenodo.3247140 is the archive. |
@whedon generate pdf |
|
@openjournals/jose-eics I believe this article is ready. |
@whedon accept |
|
|
Check final proof 👉 openjournals/joss-papers#776 If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#776, then you can now move forward with accepting the submission by compiling again with the flag
|
@whedon accept deposit=true |
|
🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦 |
🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨 Here's what you must now do:
Any issues? notify your editorial technical team... |
Thanks to @lucask07 and @ixjlyons for reviewing and @usethedata for editing! |
👋 @lucask07 - I note one checkbox that you didn't check - can you please do that before I close this review/issue? (If there's a problem, we can unpublish the paper - sorry I didn't see this until the last minute) |
Hi @danielskatz |
Ok, thanks - given that the other reviewer (@ixjlyons) did check this box, we'll go ahead |
🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉 If you would like to include a link to your paper from your README use the following code snippets:
This is how it will look in your documentation: We need your help! Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:
|
Thank you all so much! |
Submitting author: @nyctanthous (Benjamin Montgomery)
Repository: https://github.com/university-of-southern-maine-physics/labjack-controller
Version: 0.4.1
Editor: @usethedata
Reviewer: @lucask07, @ixjlyons
Archive: 10.5281/zenodo.3247140
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@lucask07 & @ixjlyons, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @usethedata know.
✨ Please try and complete your review in the next two weeks ✨
Review checklist for @lucask07
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?Review checklist for @ixjlyons
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?The text was updated successfully, but these errors were encountered: