Open shoebillm opened 3 years ago
The package includes all the following forms of documentation:
setup.py
file or elsewhere.Readme requirements The package meets the readme requirements below:
The README should include, from top to bottom:
Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider:
[x] Installation: Installation succeeds as documented.
[ ] Functionality: Any functional claims of the software been confirmed.
See below notes for functionality inconsistencies.
[ ] Performance: Any performance claims of the software been confirmed.
[x] Automated tests: Tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.
[x] Continuous Integration: Has continuous integration, such as Travis CI, AppVeyor, CircleCI, and/or others.
[x] Packaging guidelines: The package conforms to the pyOpenSci packaging guidelines.
Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.
The package contains a paper.md
matching JOSS's requirements with:
Estimated hours spent reviewing:
Hi pyeasytries Team!
Great work on this package! This is a really neat idea and although, I have not timed the queries explicitly, they seemed to be quite fast!
Please see below for some pointers below, I have split them up into two groups because some comments are just nice to haves.
trie.contain("Hey")
returns False. But trie.find_prefix("He")
returns a list with ["Hey"]
.Consider adding documentation and functionality to add function (to only have lowercases) or updating the functionality of the contain function to check not just lowercase words. Nice to have:
Great work overall 👍
Hi @jraza19
Thank you for taking the time to review and leave us feedback! I will contact the team in regards to the inconsistencies you have pointed out. We will get back to you after we implement the changes. In addition, thanks for providing future package enhancements ideas, we will definitely consider them moving forward.
-pyeasytries
The package includes all the following forms of documentation:
setup.py
file or elsewhere.Readme requirements The package meets the readme requirements below:
The README should include, from top to bottom:
Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider:
Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.
The package contains a paper.md
matching JOSS's requirements with:
Estimated hours spent reviewing:
Hi pyeasytries team!
General comments: I really enjoyed reviewing this package and the idea is very interesting and attractive to me. Also, I think this package is easy to use, and happy to play around with it. The coding part is neat and DRY. I tried all functions and they are all working nicely. It is convenient to use because there are no other dependencies. You have done a great job!
Specific parts:
trie.add("MIke")
and trie.contain("Mike")
gives me a False. I think it is better to treat them as the same word because a dictionary will work this way.Personal idea add-ons:
I really liked this package and I think it may be a good idea if the add
function can also add sentences and add each word from the sentences to the trie. So users can also type a sentence and add several words in a single call of the add
function.
Submitting Author: Jordon Lau(@jordanlau123), Kaicheng Tan(@Andrew-Tan), Rachel Xu (@rainbowxyt0305), Mitchie Zhao (@shoebillm) Package Name: pyeasytries One-Line Description of Package: A python package that stores words in trie structures to facilitate searching. Repository Link: pyeasytries Version submitted: v0.4.0 Editor: Tiffany Timbers (@ttimbers )
Reviewer 1: TBD
Reviewer 2: TBD
Archive: TBD
Version accepted: TBD
Description
The
pyeasytries
package is a simple tool to aid word insertion, deletion, and searching in the trie data structure to reduce the searching time complexity fromO(mlog(n))
using a balanced binary search tree toO(m)
. Users can pass any words to be stored for later-on searching or printing with certain prefix, and even modify the words in storage.pyeasytries
contains two classesTrie
andTrieNode
, and theTrie
class contains four functions:add()
,contain()
,find_prefix()
anddelete()
.Scope
* Please fill out a pre-submission inquiry before submitting a data visualization package. For more info, see notes on categories of our guidebook.
Explain how the and why the package falls under these categories (briefly, 1-2 sentences):
Who is the target audience and what are scientific applications of this package?
Are there other Python packages that accomplish the same thing? If so, how does yours differ?
If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or
@tag
the editor you contacted:Technical checks
For details about the pyOpenSci packaging requirements, see our packaging guide. Confirm each of the following by checking the box. This package:
Publication options
JOSS Checks
- [ ] The package has an **obvious research application** according to JOSS's definition in their [submission requirements][JossSubmissionRequirements]. Be aware that completing the pyOpenSci review process **does not** guarantee acceptance to JOSS. Be sure to read their submission requirements (linked above) if you are interested in submitting to JOSS. - [ ] The package is not a "minor utility" as defined by JOSS's [submission requirements][JossSubmissionRequirements]: "Minor ‘utility’ packages, including ‘thin’ API clients, are not acceptable." pyOpenSci welcomes these packages under "Data Retrieval", but JOSS has slightly different criteria. - [ ] The package contains a `paper.md` matching [JOSS's requirements][JossPaperRequirements] with a high-level description in the package root or in `inst/`. - [ ] The package is deposited in a long-term repository with the DOI: *Note: Do not submit your package separately to JOSS*Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?
This option will allow reviewers to open smaller issues that can then be linked to PR's rather than submitting a more dense text based review. It will also allow you to demonstrate addressing the issue via PR links.
Code of conduct
P.S. *Have feedback/comments about our review process? Leave a comment here
Editor and Review Templates
Editor and review templates can be found here