-
-
Notifications
You must be signed in to change notification settings - Fork 38
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]: electiondata: a Python package for consolidating, checking, analyzing, visualizing and exporting election results #3739
Comments
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @vaneseltine, @andrewheiss it looks like you're currently assigned to review this paper 🎉. Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post. ⭐ 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:
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
|
PDF failed to compile for issue #3739 with the following error:
|
Paper is (and has been) here: https://github.com/ElectionDataAnalysis/electiondata/blob/joss-submission/JoSS_Submission/paper.md Not sure why @whedon couldn't find it. Please let me know what to do to fix the problem. |
@whedon generate pdf from branch joss-submission |
|
@whedon check references from branch joss-submission |
|
|
JOSS doesn't store branch info when the paper is in a branch, so we just have to issues commands manually and add |
👋 @andrewheiss, please update us on how your review is going (this is an automated reminder). |
👋 @vaneseltine, please update us on how your review is going (this is an automated reminder). |
Currently getting prerequisites in place (PostgreSQL, Python 3.9) Two comments while I run through setup:
|
|
Hi 👋 @andrewheiss and @vaneseltine. I'm just checking in with you to ask how your reviews are progressing? |
Hi! Sorry for the delay on this! Here's my review: electiondata is a powerful new Python package that allows users to read and standardize raw election data that state and local election agencies provide in a wide variety of file formats and data structures. It is important software for anyone interested in election data, which is ordinarily incredibly messy and hard to work with, and will make it much easier to analyze and visualize election results in a standard way. InstallationIn the paper, the authors state that “Users do not need to know python (other than the basics for installing and calling the package)”, but I found the installation process more difficult than expected. Using a clean, new macOS Monterrey installation with freshly installed Python 3.9, without using any virtual environments or conda, and following the installation instructions in the user guide, I ran into these surprises:
These ↑ are all issues specific to a clean installation of macOS, so it’s not anything that can be universally addressed (and Windows and Linux will have their own issues), but it might be helpful to expand the installation section of the user guide to specify that external programs like PostgreSQL and Freetype are necessary before installing Additionally, it might be helpful to include basic instructions for how to create a new local PostgreSQL user and database so those settings and credentials can be included in It’s also not clear in the user guide what needs to happen to set up the initial database. Before trying to load any data, I poked around in the package code to find what the expected schema should be, expecting to need to create different tables on my own, but then discovered that the requisite tables are built by the Finally (and this is definitely more of a distant feature request/idea!), it might be worth it to someday use something more local like SQLite by default, which lets you embed the database directly into the application and doesn’t require a separate SQL server process. It would simplify code testing and development, since users wouldn’t need to have a separate server running. Currently it is possible to do something like SQLite—the documentation points out that users can modify Documentation and onboardingThe user guide is comprehensive and works well as a complete documentation reference, but it is very difficult to get started initially. There are sample .ini files, but they’re scattered throughout the project. It would be really helpful to have a sort of “Getting Started” vignette or guide that showed a minimal working example of how to:
Again, the current user guide is quite comprehensive and covers all sorts of edge cases, conventions, additional arguments, and other details, but it’s hard to use it to get started from scratch. (I had to figure out lots of the program flow from the tests, but I eventually got it to work and load Georgia and Guam data into my local PostgreSQL database) A complete working example that users can run would help them understand the flow of the package and ensure that all the moving parts are working before they start feeding their own downloaded data files into the database. TestingThere is a suite of tests for each of the package’s main purposes: jurisdiction creation, data loading, and analyzing. These run well and are sufficient. ContributionsThe README includes a section on contributing to the project, specifying that code should be compatible with Python 3.7 (though this should be 3.9), and that it should follow black linting style. It might be helpful to have some community guidelines in the package too, such as a CONTRIBUTING.md file (perhaps modeled after something like this or this) and a CONDUCT.md file (like this or this), in order to meet JOSS’s requirements that guidelines tell people how to (1) contribute, (2) report issues, and (3) seek support. In general this is great! My only big concerns really just deal with getting it all set up and working and running—a vignette with a minimal working reproducible example that takes a raw XML/Excel/JSON/whatever file from its raw state into the database into nice graphs would be extraordinarily helpful and would make it a lot easier to help people start using this package right away. |
Many thanks for your very detailed and helpful review @andrewheiss @sfsinger19103 would you be able to address the points that are raised? On my reading, it does sound like additional installation instructions would be helpful to the novice Python user. Adding a 'Getting Started' vignette sounds like another great suggestion. The other points raised are important too - espec. in terms of adding/improving documentation and giving a minimal working reproducible example. This looks like a great submission and addressing these points will likely make the package even more usable and likely increase adoption. The helpful suggestions raised by @andrewheiss sound very do-able to me so I hope you can address them. @sfsinger19103 it might be easiest if you open a separate issue for each so we can then tick each of them off as they are addressed. Does this sound ok? |
Yes, sounds good. This is the first time I've been involved in (much less led) a project of this scale, so I'm grateful for such explicit suggestions. |
@ajstewartlang what's the appropriate way to make a small correction to the submitted paper? (Specifically, the paper says that there is an export in json format that conforms to the NIST Common Data Format V1 when in fact the json format conforms to NIST Common Data Format V2.) |
@sfsinger19103 you can go ahead and correct the paper on the joss-submission branch (or on the joss-submission-updated branch if that's where changes have been made) - I'll then re-generate the pdf - just let me know which branch it's on. |
@ajstewartlang corrected version now on |
@whedon generate pdf from branch joss-submission |
|
|
PDF failed to compile for issue #3739 with the following error:
|
@whedon recommend-accept from branch joss-submission |
|
|
👋 @openjournals/joss-eics, this paper is ready to be accepted and published. Check final proof 👉 openjournals/joss-papers#2858 If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#2858, then you can now move forward with accepting the submission by compiling again with the flag
|
Just noticed a sentence fragment in the summary. If it's not too late, how can we correct it per: openjournals/joss-papers#2858 (comment) |
@arfon can you merge this PR please? I don't think I can. |
@whedon recommend-accept from branch joss-submission |
|
|
👋 @openjournals/joss-eics, this paper is ready to be accepted and published. Check final proof 👉 openjournals/joss-papers#2860 If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#2860, then you can now move forward with accepting the submission by compiling again with the flag
|
@ajstewartlang – I believe @kthyng is the EiC on rotation this week. She should be picking this up 🔜 |
|
Done! @kthyng |
@whedon generate pdf from branch joss-submission |
|
ok looks ready to go! |
@whedon accept deposit=true from branch joss-submission |
|
🐦🐦🐦 👉 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... |
Congrats on your new publication @sfsinger19103! Many thanks to editor @ajstewartlang and reviewers @vaneseltine and @andrewheiss for your time, hard work, and expertise!! |
🎉🎉🎉 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:
|
Submitting author: @sfsinger19103 (Stephanie Singer)
Repository: https://github.com/ElectionDataAnalysis/electiondata
Version: v2.0.1
Editor: @ajstewartlang
Reviewer: @vaneseltine, @andrewheiss
Archive: 10.5281/zenodo.5802556
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
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
@vaneseltine & @andrewheiss, 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 @ajstewartlang 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 ✨
Review checklist for @vaneseltine
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @andrewheiss
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
The text was updated successfully, but these errors were encountered: