software-submission
software-submission copied to clipboard
pmidcite
Submitting Author: DV Klopfenstein, PhD (@dvklopfenstein)
Package Name: pmidcite
One-Line Description of Package: Download "Cited by" data from the NIH for any paper with a PubMed ID from the cli
Repository Link: https://github.com/dvklopfenstein/pmidcite
EiC: @eliotwrobson
Code of Conduct & Commitment to Maintain Package
- [X] I agree to abide by pyOpenSci's Code of Conduct during the review process and in maintaining my package after should it be accepted.
- [X] I have read and will commit to package maintenance after the review as per the pyOpenSci Policies Guidelines.
Description
Include a brief paragraph describing what your package does:
- Improve your literature search: Sort through papers faster; Make your lit search reproducible;
- Quickly download citation data for any PubMed ID (PMID) with with minimal typing on the command line. Citation data includes citation counts (aka "CitedBy" counts) and the performance of the paper in its co-citation network.
- Download a single line containing all the citation and reference counts, the number of authors, the first author's last name, and the title for each researcher-given PMID by default.
- Download all citation data: One line for each citing paper and optionally one line for each reference using the verbose option.
- MeSH (PubMed's Medical Subject Headings) keywords related to studies focusing on human, animal, and/or molecular/cellular biology are indicated as present if they are associated with the paper.
- Published in Research Synthesis Methods: http://dx.doi.org/10.1002/jrsm.1456
- PubMed: https://pubmed.ncbi.nlm.nih.gov/33031632/
Community Partnerships
We partner with communities to support peer review with an additional layer of checks that satisfy community requirements. If your package fits into an existing community please check below:
- [ ] Astropy: My package adheres to Astropy community standards
- [ ] Pangeo: My package adheres to the Pangeo standards listed in the pyOpenSci peer review guidebook
Scope
-
Please indicate which category or categories this package falls under:
- [x] Data retrieval
- [x] Data extraction
- [x] Data processing/munging
- [ ] Data deposition
- [ ] Data validation and testing
- [ ] Data visualization
- [x] Workflow automation
- [x] Citation management and bibliometrics
- [ ] Scientific software wrappers
- [ ] Database interoperability
Domain Specific
- [ ] Geospatial
- [ ] Education
-
Explain how and why the package falls under these categories (briefly, 1-2 sentences). For community partnerships, check also their specific guidelines as documented in the links above. Please note any areas you are unsure of:
-
Who is the target audience and what are the scientific applications of this package?
-
Are there other Python packages that accomplish similar things? If so, how does yours differ?
-
Any other questions or issues we should be aware of:
P.S. Have feedback/comments about our review process? Leave a comment here
Hi @dvklopfenstein thank you for your submission! pmidcite seems like a useful scientific tool, and I think that this would be a significant asset to our ecosystem. The EiC checklist is below, but outside of this, it would be great if you could fill in the blank sections on your original presubmission inquiry (the bullet points that are left blank at the bottom of your original post).
Editor in Chief checks
Hi there! Thank you for submitting your package for pyOpenSci review. Below are the basic checks that your package needs to pass to begin our review. If some of these are missing, we will ask you to work on them before the review process begins.
Please check our Python packaging guide for more information on the elements below.
- [x] Installation The package can be installed from a community repository such as PyPI (preferred), and/or a community channel on conda (e.g. conda-forge, bioconda).
- [x] The package imports properly into a standard Python environment
import package.
- [x] The package imports properly into a standard Python environment
- [x] Fit The package meets criteria for fit and overlap.
- [x] Documentation The package has sufficient online documentation to allow us to evaluate package function and scope without installing the package. This includes:
- [x] User-facing documentation that overviews how to install and start using the package.
- [ ] Short tutorials that help a user understand how to use the package and what it can do for them.
- [x] API documentation (documentation for your code's functions, classes, methods and attributes): this includes clearly written docstrings with variables defined using a standard docstring format.
- [x] Core GitHub repository Files
- [x] README The package has a
README.mdfile with clear explanation of what the package does, instructions on how to install it, and a link to development instructions. - [x] Contributing File The package has a
CONTRIBUTING.mdfile that details how to install and contribute to the package. - [x] Code of Conduct The package has a
CODE_OF_CONDUCT.mdfile. - [x] License The package has an OSI approved license. NOTE: We prefer that you have development instructions in your documentation too.
- [x] README The package has a
- [ ] Issue Submission Documentation All of the information is filled out in the
YAMLheader of the issue (located at the top of the issue template). - [ ] Automated tests Package has a testing suite and is tested via a Continuous Integration service.
- [x] Repository The repository link resolves correctly.
- [x] Package overlap The package doesn't entirely overlap with the functionality of other packages that have already been submitted to pyOpenSci.
- [ ] Archive (JOSS only, may be post-review): The repository DOI resolves correctly.
- [ ] Version (JOSS only, may be post-review): Does the release version given match the GitHub release (v1.0.0)?
- [ ] Initial onboarding survey was filled out We appreciate each maintainer of the package filling out this survey individually. :raised_hands: Thank you authors in advance for setting aside five to ten minutes to do this. It truly helps our organization. :raised_hands:
Editor comments
- I didn't check off the box in documentation for "short tutorials" since this is really covered by the examples in the jupyter notebooks, but these are not included directly in the documentation site. It would be best if these notebooks were integrated directly into the docs somehow.
- I didn't go through the README checks as thoroughly as in the full review, but the complete README checklist that will be used for the review is here if you'd like to get started. In particular, you should make sure to include a link to the documentation.
- Could you move the contributing and code of conduct files to the base directory in the repo? It doesn't look like these are used as part of the docs site, and this made the files harder to find.
- It doesn't look like there are automated tests, linting, or typechecking set up as part of the GitHub actions workflows. It would be best if these were all set up (at minimum, you should have your tests run as part of a workflow here).
- I think there is a way to make the package usable from the command line that uses significantly less boilerplate code than is currently present, see this article on how to do this with uv.
Aside from the above items, the core package functionality seems to be in good shape. Feel free to close this issue and open a full submission once the above items have been resolved. In the meantime, I'll get to work finding an editor for this review👍🏽
Hello,
Thank you so much for the speedy and informative review.
I am currently working on adding CI in the dev branch, as I know this would be needed. I'll add the rest as well and open a request for a full submission ASAP.
Thank you for your time in this review.
Regards,
@dvklopfenstein