Skip to content
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]: PYDAQ: Data Acquisition and Experimental Analysis with Python #5662

Closed
editorialbot opened this issue Jul 18, 2023 · 54 comments
Closed
Assignees
Labels
accepted C++ published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 3 (PE) Physics and Engineering

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Jul 18, 2023

Submitting author: @samirmartins (Samir Martins)
Repository: https://github.com/samirmartins/pydaq
Branch with paper.md (empty if default branch):
Version: 0.0.3.1
Editor: @kyleniemeyer
Reviewers: @galessiorob, @nataliakeles
Archive: 10.5281/zenodo.10377251

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/e21c95f47ea3dc510e87406f566591ee"><img src="https://joss.theoj.org/papers/e21c95f47ea3dc510e87406f566591ee/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/e21c95f47ea3dc510e87406f566591ee/status.svg)](https://joss.theoj.org/papers/e21c95f47ea3dc510e87406f566591ee)

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

@galessiorob & @nataliakeles, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review.
First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @pibion know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @nataliakeles

📝 Checklist for @galessiorob

@editorialbot
Copy link
Collaborator Author

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

Software report:

github.com/AlDanial/cloc v 1.88  T=0.05 s (726.0 files/s, 87041.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                           5            393            334           1038
Markdown                        11            277              0            677
Jupyter Notebook                12              0           1236            194
TeX                              1             11              0            113
YAML                             2              5              4             57
TOML                             1              7              0             37
Arduino Sketch                   1             10             13             26
SVG                              4              0              0              4
-------------------------------------------------------------------------------
SUM:                            37            703           1587           2146
-------------------------------------------------------------------------------


gitinspector failed to run statistical information for the repository

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.21105/joss.02384 is OK
- 10.1016/0005-1098(89)90019-8 is OK
- 10.1002/9781118535561 is OK
- 10.1088/1361-6404/aae35c is OK
- 10.1109/EIConRus49466.2020.9038964 is OK
- 10.1016/j.softx.2020.100495 is OK
- 10.1109/access.2019.2926057 is OK
- 10.1016/j.ymssp.2015.12.031 is OK
- 10.1109/IICSPI48186.2019.9096044 is OK
- 10.1109/TIM.2019.2914711 is OK
- 10.48550/arXiv.1201.0490 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

Wordcount for paper.md is 1216

@editorialbot
Copy link
Collaborator Author

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@pibion
Copy link

pibion commented Jul 18, 2023

@galessiorob, @nataliakeles could you generate your review checklists with @editorialbot generate my checklist? Also, thank you for reviewing!

@nataliakeles
Copy link

nataliakeles commented Jul 20, 2023

Review checklist for @nataliakeles

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the https://github.com/samirmartins/pydaq?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@samirmartins) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

@nataliakeles
Copy link

This work is promising so far. It provides an easy-to-use Python library for data acquisition and analysis of experimental developments using NIDAQ or Arduino Microcontrollers. This solution is useful for educational and real-world applications. The text is clear, and there is good documentation on how to use it on GitHub.

However, I suggest the author adopt CapWords convention described in PEP 8 to create class names. The author is referred to the following link https://peps.python.org/pep-0008/#class-names.

An important point is: I don't have a National Instruments NIDAQ interface to reproduce the examples related to it. What should I do in this case? The code looks fine to me, but I cannot run the examples without the NIDAQ device.

@samirmartins
Copy link

Dear @nataliakeles,

Thank you for your review and comments. In order to follow the CapWords convention (thanks for your suggestion), class names have already been renamed in commits under the branch v0.0.4 and will be released soon. I chose to make this change in the next version to ensure a smooth transition for PYDAQ users.

Regarding testing without a physical NIDAQ device, the National Instruments NIDAQ driver allows users to simulate a virtual NIDAQ board with NI MAX. Using this driver, one can easily simulate both inputs and outputs (https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000x0PxCAI&l=en-US). In fact, PYDAQ was developed using this feature and then tested and used with physical NIDAQ boards that we have in LACOI at UFSJ (acronym for "Control and Instrumentation Laboratory at the Federal University of Sao Joao del-Rei" in Portuguese).

Please let me know if you have any further comments or if I can assist you in any other way.

Best Regards,

Samir

@galessiorob
Copy link

galessiorob commented Jul 21, 2023

Review checklist for @galessiorob

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the https://github.com/samirmartins/pydaq?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@samirmartins) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

@samirmartins
Copy link

Dear reviewers and editor,

I am available in case I can assist with anything in the review process, or if any additional changes to the package become necessary. Otherwise, I would greatly appreciate it if you could provide me with feedback on the review when possible.

Best regards,

Samir Martins

@galessiorob
Copy link

👋 Hi! I apologize for the very delayed reply, I have updated my review and I believe this is good to publish, I only have a note: not sure if I missed them but I didn't see any automated tests or manual steps to verify the software is working properly.

Congrats on this paper, and I apologize again for the delayed reply.

@samirmartins
Copy link

Dear @galessiorob,

Thank you for your review. Regarding the automated tests, you can find them in the pydaq/tests folder, and you can run them using pytest.

@pibion, we now have feedbacks from both reviewers. Is there anything else I can assist with for the continuation and publication of the paper?

Best regards,

Samir

@galessiorob
Copy link

@samirmartins I'm sorry I missed them, they run just fine. Thanks for pointing them out! Excited to see this published 🎉

@samirmartins
Copy link

Dear @pibion ,

I hope you're well. Is there anything else I can help with regarding the revision process?

Best regards,

Samir

@Kevin-Mattheus-Moerman
Copy link
Member

Kevin-Mattheus-Moerman commented Dec 5, 2023

@galessiorob @nataliakeles some of your review boxes are unticked ☝️, can you tick them or point out what is need for you to allow ticking them?

@samirmartins
Copy link

Dear @Kevin-Mattheus-Moerman,

As far as I could understand, the checkboxes not marked by the reviewers (they were the same for both reviewers) are those that should not be checked in case of a positive evaluation. Consider, for example, the following:

Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

In other words, in this case, if there are no performance claims, the reviewer should check off this item. Reviewers may (or may not) confirm my interpretation of the text.

Nevertheless, I am entirely at your disposal for any adjustments that may be necessary for the publication of the paper.

Best regards,

Samir

@galessiorob
Copy link

@Kevin-Mattheus-Moerman yes, agree with what @samirmartins points out, those did not apply to this paper - let me know if you need further clarification. Thanks.

@kyleniemeyer
Copy link

Hi @samirmartins, I'm going to step in here to help wrap up this review. It looks like the reviewers have both completed their reviews and comments have been addressed.

@kyleniemeyer
Copy link

@editorialbot set me as editor

@editorialbot
Copy link
Collaborator Author

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

@kyleniemeyer
Copy link

@editorialbot assign me as editor

@kyleniemeyer
Copy link

kyleniemeyer commented Dec 13, 2023

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

  • Double check authors and affiliations (including ORCIDs)
  • Make a release of the software with the latest changes from the review and post the version number here. This is the version that will be used in the JOSS paper.
  • Archive the release on Zenodo/figshare/etc and post the DOI here.
  • Make sure that the title and author list (including ORCIDs) in the archive match those in the JOSS paper.
  • Make sure that the license listed for the archive is the same as the software license.

Editor Tasks Prior to Acceptance

  • Read the text of the paper and offer comments/corrections (as either a list or a PR)
  • Check the references in the paper for corrections (e.g. capitalization)
  • Check that the archive title, author list, version tag, and the license are correct
  • Set archive DOI with @editorialbot set <DOI here> as archive
  • Set version with @editorialbot set <version here> as version
  • Double check rendering of paper with @editorialbot generate pdf
  • Specifically check the references with @editorialbot check references and ask author(s) to update as needed
  • Recommend acceptance with @editorialbot recommend-accept

@kyleniemeyer
Copy link

@samirmartins at this point, can you work through your items on the above checklist?

@nataliakeles
Copy link

@samirmartins, I'm sorry, It took me a while to see that I still needed my response.

I agree with all topics related to the paper and believe it is ready to be published.

@samirmartins
Copy link

samirmartins commented Dec 13, 2023

@kyleniemeyer , all done.

  • version number: v0.0.3.1
  • There are no releases on Zenodo/figshare/etc

Let me know if you need anything else.

Regards,

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

  • Double check authors and affiliations (including ORCIDs)

  • Make a release of the software with the latest changes from the review and post the version number here. This is the version that will be used in the JOSS paper.

  • Archive the release on Zenodo/figshare/etc and post the DOI here.

  • Make sure that the title and author list (including ORCIDs) in the archive match those in the JOSS paper.

  • Make sure that the license listed for the archive is the same as the software license.

@kyleniemeyer
Copy link

@samirmartins you need to archive the software on Zenodo (or figshare, or another service) and let me know the DOI - that is what that item relates to

@kyleniemeyer
Copy link

@editorialbot set 0.0.3.1 as version

@editorialbot
Copy link
Collaborator Author

Done! version is now 0.0.3.1

@samirmartins
Copy link

Dear @kyleniemeyer,

The software has been properly archived on Zenodo. The DOI is as follows:

10.5281/zenodo.10377251

Regards,

Samir

@kyleniemeyer
Copy link

@editorialbot set 10.5281/zenodo.10377251 as archive

@editorialbot
Copy link
Collaborator Author

Done! archive is now 10.5281/zenodo.10377251

@kyleniemeyer
Copy link

@editorialbot recommend-accept

@editorialbot
Copy link
Collaborator Author

Attempting dry run of processing paper acceptance...

@editorialbot
Copy link
Collaborator Author

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.21105/joss.02384 is OK
- 10.1002/9781118535561 is OK
- 10.1088/1361-6404/aae35c is OK
- 10.1109/EIConRus49466.2020.9038964 is OK
- 10.1016/j.softx.2020.100495 is OK
- 10.1109/access.2019.2926057 is OK
- 10.1016/j.ymssp.2015.12.031 is OK
- 10.1109/IICSPI48186.2019.9096044 is OK
- 10.1109/TIM.2019.2914711 is OK
- 10.48550/arXiv.1201.0490 is OK

MISSING DOIs

- 10.1016/0005-1098(89)90019-8 may be a valid DOI for title: System Identification: Theory for the User

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

👋 @openjournals/pe-eics, this paper is ready to be accepted and published.

Check final proof 👉📄 Download article

If the paper PDF and the deposit XML files look good in openjournals/joss-papers#4841, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

@editorialbot editorialbot added the recommend-accept Papers recommended for acceptance in JOSS. label Dec 14, 2023
@kyleniemeyer
Copy link

Looks good to me. That DOI warning is erroneous; the associated article is a review of that textbook and does not point to the textbook itself.

@kyleniemeyer
Copy link

@editorialbot accept

@editorialbot
Copy link
Collaborator Author

Doing it live! Attempting automated processing of paper acceptance...

@editorialbot
Copy link
Collaborator Author

Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.

If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.

You can copy the contents for your CITATION.cff file here:

CITATION.cff

cff-version: "1.2.0"
authors:
- family-names: Martins
  given-names: Samir Angelo Milani
  orcid: "https://orcid.org/0000-0003-1702-8504"
contact:
- family-names: Martins
  given-names: Samir Angelo Milani
  orcid: "https://orcid.org/0000-0003-1702-8504"
doi: 10.5281/zenodo.10377251
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Martins
    given-names: Samir Angelo Milani
    orcid: "https://orcid.org/0000-0003-1702-8504"
  date-published: 2023-12-14
  doi: 10.21105/joss.05662
  issn: 2475-9066
  issue: 92
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 5662
  title: "PYDAQ: Data Acquisition and Experimental Analysis with Python"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.05662"
  volume: 8
title: "PYDAQ: Data Acquisition and Experimental Analysis with Python"

If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.

Find more information on .cff files here and here.

@editorialbot
Copy link
Collaborator Author

🐘🐘🐘 👉 Toot for this paper 👈 🐘🐘🐘

@editorialbot
Copy link
Collaborator Author

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.05662 joss-papers#4842
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.05662
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

@editorialbot editorialbot added accepted published Papers published in JOSS labels Dec 14, 2023
@kyleniemeyer
Copy link

Congratulations @samirmartins on your article's publication in JOSS! Please consider signing up as a reviewer if you haven't already.

Many thanks to @galessiorob and @nataliakeles for reviewing this! JOSS wouldn't be possible without your support.

@editorialbot
Copy link
Collaborator Author

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.05662/status.svg)](https://doi.org/10.21105/joss.05662)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.05662">
  <img src="https://joss.theoj.org/papers/10.21105/joss.05662/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.05662/status.svg
   :target: https://doi.org/10.21105/joss.05662

This is how it will look in your documentation:

DOI

We need your help!

The 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:

@samirmartins
Copy link

samirmartins commented Dec 15, 2023

Congratulations @samirmartins on your article's publication in JOSS! Please consider signing up as a reviewer if you haven't already.

Many thanks to @galessiorob and @nataliakeles for reviewing this! JOSS wouldn't be possible without your support.

I'd like to thank you all (@galessiorob , @nataliakeles and @kyleniemeyer) for your time and effort. @kyleniemeyer, I'm already a JOSS reviewer.

I wish you all the best!

Best regards,

Samir

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted C++ published Papers published in JOSS Python recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 3 (PE) Physics and Engineering
Projects
None yet
Development

No branches or pull requests

7 participants