Joss-reviews: [REVIEW]: traffic: a toolbox for processing and analysing air traffic data

Created on 21 Jun 2019  ยท  58Comments  ยท  Source: openjournals/joss-reviews

Submitting author: @xoolive (Xavier Olive)
Repository: https://github.com/xoolive/traffic
Version: v2.0
Editor: @danielskatz
Reviewer: @junzis, @espinielli
Archive: 10.5281/zenodo.3269812

Status

status

Status badge code:

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

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

@junzis & @espinielli, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

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

โœจ Please try and complete your review in the next two weeks โœจ

Review checklist for @junzis

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: Does the release version given match the GitHub release (v2.0)?
  • [x] Authorship: Has the submitting author (@xoolive) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] 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

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

Review checklist for @espinielli

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: Does the release version given match the GitHub release (v2.0)?
  • [x] Authorship: Has the submitting author (@xoolive) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] 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

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
accepted published recommend-accept review

Most helpful comment

๐Ÿ‘‹ @espinielli - have you had a chance to start your review?

I will start, this afternoon

All 58 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @junzis, @espinielli it looks like you're currently assigned to review this paper :tada:.

:star: Important :star:

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:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands
Attempting PDF compilation. Reticulating splines etc...

Thanks for agreeing to review @junzis & @espinielli - instructions are above, which are basically to work through your checklists. I'lll also note here that @espinelli will be out for about a week soon.

If you have any questions, please ask.

Thank you for agreeing to review @junzis and @espinielli

I, too, am writing (and presenting at UseR!2019: "R in the Air") an R package for flight trajectories ๐Ÿ˜‡

@danielskatz - Do items from the checklist "Document" section also need to be included in the paper? Thanks!

The documentation criteria is:

There should be sufficient documentation for you, the reviewer to understand the core functionality of the software under review. A high-level overview of this documentation should be included in a README file (or equivalent).

The paper needs are shown at the top of https://joss.readthedocs.io/en/latest/review_criteria.html

@xoolive - The paper, library, and document all look great! Here are my minor comments:

1) It will be great if you can emphasize "the statement of need" in the paper. Perhaps from the perspective of ATM researcher point of view.

2) Is there already an archive version of the library on Zenodo, Figshare, or similar? The "Archive" link in the PDF seems not working.

3) Please add pyarrow and/or fastparquet to the setup dependency.

Thank you @junzis for the feedback.

  1. I will emphasize this statement of need and let you know here when ready.
  2. It looks like it's all there!
  3. I am not sure it is a good idea: pyarrow and fastparquet are optional dependencies for pandas for a reason. Both have strengths and weaknesses and the decision can/should be let to the end user (Parquet format is not a must-go for the typical user of this library). From the top of my head, I think the HDF5 engine also requires optional dependencies which are useless for users like myself who almost never use the HDF5 format.
    Error messages of pandas for optional dependencies are rather explicit. It seems to me that questioning their dependency choices is out of the scope of this library.

@xoolive - Thanks for your clarifications. In this case, my last two comments can be ignored.

The archive link is not needed yet - we will add that at the end once any needed changes are made. (We're discussing changing this review criteria, but haven't settled on exactly how to yet.)

๐Ÿ‘‹ @espinielli - have you had a chance to start your review?

@junzis Latest commit addresses your comment about the statement of need.
https://github.com/xoolive/traffic/commit/4ac5d962f4b8978cc704a7f57ca9b53910654cc9

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@danielskatz - I have completed all the checkboxes for the review process. Finally, the paper is good and documentation is complete from my point of view. I think it can be accepted.

Thanks @junzis!

๐Ÿ‘‹ @espinielli - have you had a chance to start your review?

I will start, this afternoon

@xoolive I am trying to install as per https://traffic-viz.github.io/installation.html
Specifically:

  1. clone of the repo
  2. python setup.py install

Last failed: I am on a Mac where python is still 2.7.0, ok, so I installed "latest" python (brew install python) and run python3 setup.py install which fails with

...
    exec(code, globals, locals)
  File "/var/folders/bw/cfz6xpw10cs4l_1jkhyyywpw0000gn/T/easy_install-hl3fy6pw/Cartopy-0.17.0/setup.py", line 42, in <module>
    file.relative_to(sample_dir).as_posix()
ImportError: Cython 0.15.1+ is required to install cartopy.

(I assume Python 3 is the norm these days, hence why you did not mentioned it in the documentation)
Am I doing something silly/stupid?

Small suggestion for rewording in https://github.com/xoolive/traffic/issues/28
Small suggestion for reordering of text https://github.com/xoolive/traffic/issues/29

Nothing stupid @espinielli, just regular Python mess ๐Ÿ˜„

Python 3 is indeed the norm these days, and the dependency is stated here. The installation process should fail if you have python<3.6.

There are specific non-Python dependencies for two Python libraries, namely cartopy and shapely. For Mac OS, brew is an option but you need to pay extra attention to the cross dependencies between the versions of the C libraries and of the Python libraries. Then Cython is indeed required to build cartopy but not to execute it.

If you already have a working cartopy and shapely, then installation is direct. Otherwise, as recommended here, it may be better to use an anaconda distribution which installs the C libraries and the Python libraries, and also deals with the dependency mess for you!

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

I have finished my review. The package and the paper are excellent.
I have filed 2 minor suggestion on the documentation which @xoolive is addressing faster than
light speed ๐Ÿ‘ https://github.com/xoolive/traffic/issues/30 and https://github.com/xoolive/traffic/issues/31.

IMHO they are not to be blocking issues for the paper to be accepted.

Thank you @espinielli for the extensive feedback!

Thanks to @junzis & @espinielli for reviewing!

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@whedon accept

No archive DOI set. Exiting...

@xoolive - we now need you to archive the software in an archival repository, such as zenodo (see https://guides.github.com/activities/citable-code/) or elsewhere that provides a DOI - then let me know the DOI of the archive. Also, is 2.0 still the correct version number? If not, let me know what is.

Thank you @danielskatz

Here is the link to the DOI: https://doi.org/10.5281/zenodo.3269812
2.0 is the correct version number

@whedon set 10.5281/zenodo.3269812 as archive

OK. 10.5281/zenodo.3269812 is the archive.

@whedon accept

Attempting dry run of processing paper acceptance...

```Reference check summary:

OK DOIs

  • 10.1016/j.ast.2018.11.031 is OK
  • 10.1109/TITS.2019.2914770 is OK
  • 10.21105/joss.01057 is OK
  • 10.5281/zenodo.1490296 is OK

MISSING DOIs

INVALID DOIs

  • None
    ```

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/818

If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/818, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.
@whedon accept deposit=true

@danielskatz done, I am not sure now about the whedon command to type in order to generate a new final proof

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

sorry, my fix didn't quite work for the cases - let's try again - please change the line in the bib file to:
booktitle = {Proceedings of the 13th {I}nternational {S}ymposium on {I}nformation {P}rocessing in {S}ensor {N}etworks},

@whedon generate pdf

Attempting PDF compilation. Reticulating splines etc...

@danielskatz this one looks good to me ๐Ÿ˜ƒ

@whedon accept deposit=true

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

๐Ÿฆ๐Ÿฆ๐Ÿฆ ๐Ÿ‘‰ Tweet for this paper ๐Ÿ‘ˆ ๐Ÿฆ๐Ÿฆ๐Ÿฆ

๐Ÿšจ๐Ÿšจ๐Ÿšจ 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 :point_right: https://github.com/openjournals/joss-papers/pull/819
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01518
  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...

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

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

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

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

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

This is how it will look in your documentation:

DOI

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:

@danielskatz @espinielli @junzis
Thank you for contributing to a smooth reviewing process. It was a nice experience to go through this process together.

Was this page helpful?
0 / 5 - 0 ratings