trackintel
trackintel copied to clipboard
CodePeerReview: Next milestone after 1.0
Hey everyone, I think it would be a great idea to submit our framework for peer review once it is operational. We can also already keep the requirements in mind and I think we already almost match all of them :-)
We should also target the community guidelines
Let's have this comment as am overview of everything we have and what we may need to work on before handing it in for review.
Requirements
Readme ❌
- [ ] If applicable, how the package compares to other similar packages and/or how it relates to other packages We should a comparison to movingpandas and scikit-mobility in this case. The connection to geopandas is well written out.
- [x] (optional) Citation information
Documentation ✔️
Read the docs with automatically generated documentation from docstrings using autodoc. While we are at it we could smooth the experience with providing more context in the documentation. ~~Still need to check if every external visible function is fully documented with example.~~
Testing ✔️
Test suite covers with high code coverage major functionality of the package on multiple versions of Python.
Continuous Integration ✔️
CI for Mac, Windows, and Linux + code coverage and linting.
License ✔️
Other
Python Version Support ❌
Explicit state which versions of Python your package supports. A good rule of thumb is that the package should support, at least, the latest three Python versions (e.g., 3.8, 3.7, 3.6).
Linting ✔️
Badges ✔️✔️
JOSS
At the moment we don't want to publish our paper in JOSS.
Things that may come up in a Review
- Explain how to install trackintel in development mode.
- Mozilla review guide
- [ ] ~~Are functions as simple as possible? → Can any of the functions in this new submission be broken up into simpler steps? modular function is one that does exactly one thing, and does it well - by insisting on breaking code up into the simplest possible functions, we make them easy to test, easy to understand, and easy to review.~~
- [ ] ~~Is the code efficient?, For example, diagonalizing a matrix can be a slow computation. If the new code needs to do a slow operation like this, it should do it once only, and store the result for use, rather than recomputing it every time it needs to use it.~~
- We aware of the issue, especially that the generating functions aren't simple but keep them that way for the moment.