Skip to content
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]: Makie.jl: Flexible high-performance data visualization for Julia #3349

Closed
40 tasks done
whedon opened this issue Jun 9, 2021 · 89 comments
Closed
40 tasks done
Assignees
Labels
accepted Julia published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review

Comments

@whedon
Copy link

whedon commented Jun 9, 2021

Submitting author: @jkrumbiegel (Julius Krumbiegel)
Repository: https://github.com/JuliaPlots/Makie.jl
Version: v.0.15.0
Editor: @Kevin-Mattheus-Moerman
Reviewer: @fverdugo, @gaelforget
Archive: 10.5281/zenodo.5106448

⚠️ JOSS reduced service mode ⚠️

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

Status badge code:

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

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

@fverdugo & @gaelforget, 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 @Kevin-Mattheus-Moerman 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 @fverdugo

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@jkrumbiegel) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

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

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

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @gaelforget

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@jkrumbiegel) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

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

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

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
@whedon
Copy link
Author

whedon commented Jun 9, 2021

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

⚠️ JOSS reduced service mode ⚠️

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:

  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

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Jun 9, 2021

Software report (experimental):

github.com/AlDanial/cloc v 1.88  T=0.37 s (578.2 files/s, 96509.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Julia                          128           4367           1582          22536
Markdown                        73           2054              0           5122
YAML                             9              6             10            219
TOML                             6              6              0            151
-------------------------------------------------------------------------------
SUM:                           216           6433           1592          28028
-------------------------------------------------------------------------------


Statistical information for the repository '268a670e3edea2abe216abb7' was
gathered on 2021/06/09.
No commited files with the specified extensions were found.

@whedon
Copy link
Author

whedon commented Jun 9, 2021

PDF failed to compile for issue #3349 with the following error:

 Can't find any papers to compile :-(

@Kevin-Mattheus-Moerman
Copy link
Member

@jkrumbiegel @gaelforget @fverdugo this is where the review will take place.

@Kevin-Mattheus-Moerman
Copy link
Member

@whedon generate pdf from branch joss-paper

@whedon
Copy link
Author

whedon commented Jun 9, 2021

Attempting PDF compilation from custom branch joss-paper. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Jun 9, 2021

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@jkrumbiegel
Copy link

@Kevin-Mattheus-Moerman I just wanted to let you know that we have recently consolidated our codebase into the https://github.com/JuliaPlots/Makie.jl/ repository, whereas before, most code lived in AbstractPlotting.jl. The paper lies in the AbstractPlotting repository, still, and I'm not sure if it's worth the trouble of moving and relinking it. But if you think that would be better long term, let me know. It wasn't foreseeable for me at the time I submitted the paper that we would start this major internal refactor so soon.

@arfon
Copy link
Member

arfon commented Jun 18, 2021

@jkrumbiegel – please move your paper into the new repository (https://github.com/JuliaPlots/Makie.jl)

@jkrumbiegel
Copy link

@arfon All right, I have moved the paper to https://github.com/JuliaPlots/Makie.jl/tree/joss-paper

@arfon
Copy link
Member

arfon commented Jun 18, 2021

@whedon generate pdf from branch joss-paper

@whedon
Copy link
Author

whedon commented Jun 18, 2021

Attempting PDF compilation from custom branch joss-paper. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Jun 18, 2021

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@Kevin-Mattheus-Moerman
Copy link
Member

@fverdugo, @gaelforget I hope you are well. I'm just checking in to see if you've found your way here and are able to start the review process and that you are able to tick the boxes at the top of this issues. Let me know if you have any questions.

@fverdugo
Copy link

Hi @Kevin-Mattheus-Moerman! Yes, I can tick the boxes above. I'll try to start the review this week.

@whedon
Copy link
Author

whedon commented Jun 23, 2021

👋 @fverdugo, please update us on how your review is going (this is an automated reminder).

@whedon
Copy link
Author

whedon commented Jun 23, 2021

👋 @gaelforget, please update us on how your review is going (this is an automated reminder).

@gaelforget
Copy link

👋 @gaelforget, please update us on how your review is going (this is an automated reminder).

Hi @Kevin-Mattheus-Moerman

I will work on the review & check-list this week. Have already been reading through the package docs which look really good now I feel

@fverdugo
Copy link

Hi @jkrumbiegel @Kevin-Mattheus-Moerman

In this check box

  • Repository: Is the source code for this software available at the repository url?

the link to the repo url points to AbstractPlotting.jl but I guess (based on previous comment by @jkrumbiegel ) that the repo I should review is Makie.jl. Another indicator is that AbstractPlotting.jl has 90 stars vs Makie.jl with 895 stars. So, I believe that the repo for this review should be Makie.jl

Can you please confirm or clarify this?

@jkrumbiegel
Copy link

Yes all code is in the Makie.jl monorepo now, while most of it was in AbstractPlotting.jl when I submitted the paper.

@fverdugo
Copy link

fverdugo commented Jun 30, 2021

Hi @jkrumbiegel @Kevin-Mattheus-Moerman ! find my review below 👇

Review

  • Repository: Is the source code for this software available at the repository url?

Yes, source code available at https://github.com/JuliaPlots/Makie.jl

  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?

MIT license file available at https://github.com/JuliaPlots/Makie.jl/blob/master/LICENSE.md

  • Contribution and authorship: Has the submitting author (@jkrumbiegel) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

@SimonDanisch (with +2K commits) and @jkrumbiegel (with +1K commits) are the 2 top contributors to the package.

  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

The package has more that 5.8K commits, 97 contributors, and 36 releases. This is clearly more than 3 person months as the minimum requested.

  • Installation: Does installation proceed as outlined in the documentation?

The package can be easily installed via the Julia package manager with the command pkg> add GLMakie. After this I am able to use Makie to generate plots.

  • Functionality: Have the functional claims of the software been confirmed?

I was able to run the code snipped given in the manuscript to generate Figure 1.

  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

The paper shows how the package can deal with plots with 100M data points.

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?

The first page of the documentation webpage states "Makie is a high-performance, extendable, and multi-platform plotting ecosystem for the Julia programming language." which clearly shows the goal (high-performance, extendable and multi-platform plotting system) and the target audience (Julia programmers).

  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.

Installation is straight-forward via the Julia package manager Pkg. List of dependencies are defined the Julia-way via a Project.toml file.

  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).

The documentation provides tutorials (e.g., https://makie.juliaplots.org/dev/basic-tutorial.html). Function signatures are also documented using numerous examples. In addition, the README.md file (https://github.com/JuliaPlots/Makie.jl/blob/master/README.md) contains some practical use cases.

  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?

Yes, see https://makie.juliaplots.org/dev/index.html .

  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?

A complete test suite is in place to test the different parts of the library. Test are written via the testing tools provided by Julia and run automatically via Github Actions.

  • 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

This information is available in the file https://github.com/JuliaPlots/Makie.jl/blob/master/CONTRIBUTING.md

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?

Yes, sections "Summary" and "Overview" of the manuscript address this point.

  • A statement of need: Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?

Yes. See section "Statement of need" of the manuscript.

  • State of the field: Do the authors describe how this software compares to other commonly-used packages?

The authors show how this package benefits from the Julia dispatch system (i.e., it has superior extendability), from Julia performance (i.e., it can handle larger data sets), and also show how it allows users to generate interactive plots in a more convenient way (i.e., reactive design).

  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?

The paper is well written.

  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Yes.

@SimonDanisch
Copy link

The package can be easily installed via the Julia package manager with the command pkg> add GLMakie. After this I am able to use Makie to generate plots. TODO However, the tests launched with pkg> test GLMakie fail with error message ERROR: expected package ReferenceTests [d37af2e0] to be registered.

Good point... Test are supposed to mainly run in the CI, so the local setup has been bitrotting. Should be easy to fix, although a bit annoying with the current monorepo setup...

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

That's a good idea in general.. I hope we can find some time in the next days to add those.

@jkrumbiegel
Copy link

@fverdugo I have added a citation to Plots.jl and a short paragraph describing the differences.

I have also added contribution guidelines here https://github.com/JuliaPlots/Makie.jl/blob/master/CONTRIBUTING.md

The file "airportlocations.csv" is in the released assets now, you can see an example in the docs here http://makie.juliaplots.org/stable/plotting_functions/scatter.html. The example should therefore work.

The contribution guidelines also mention now that you need to dev ReferenceTests from the monorepo to run the tests, although Simon is also trying to improve that process a bit for local testing.

Let me know if there are any other issues!

@fverdugo
Copy link

fverdugo commented Aug 3, 2021

Hi @SimonDanisch @jkrumbiegel @Kevin-Mattheus-Moerman,

I went through the check list again and I would recommend the paper for publication. Nice work!

Just a minor comment: there is a typo in the code snippet of the manuscript. Replace airports_rep with a_rep.

@jkrumbiegel
Copy link

@jkrumbiegel I see archived version for v0.15.2 have also been created https://zenodo.org/record/5269012. Let me know if we should use that archive and upgrade the version tag here again.

I think we can just keep 0.15, there are patch versions coming in all the time. At least that number is round.

@Kevin-Mattheus-Moerman
Copy link
Member

@whedon recommend-accept

@whedon
Copy link
Author

whedon commented Aug 31, 2021

Attempting dry run of processing paper acceptance...

@whedon whedon added the recommend-accept Papers recommended for acceptance in JOSS. label Aug 31, 2021
@whedon
Copy link
Author

whedon commented Aug 31, 2021

PDF failed to compile for issue #3349 with the following error:

 Can't find any papers to compile :-(

@Kevin-Mattheus-Moerman
Copy link
Member

@whedon recommend-accept from branch joss-paper

@whedon
Copy link
Author

whedon commented Aug 31, 2021

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented Aug 31, 2021

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.5281/zenodo.4907285 is OK

MISSING DOIs

- 10.1109/mcse.2007.55 may be a valid DOI for title: Matplotlib: A 2D graphics environment

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Aug 31, 2021

👋 @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof 👉 openjournals/joss-papers#2558

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#2558, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true from branch joss-paper 

@Kevin-Mattheus-Moerman
Copy link
Member

@jkrumbiegel can you check that potentially missing DOI ☝️

@jkrumbiegel
Copy link

The DOI is correct, https://www.doi.org/10.1109/mcse.2007.55 also works. But we need to make one more correction with the example plot, we there's a typo in one subplot title. We'll let you know once that's fixed.

@SimonDanisch
Copy link

I pushed a fix for the example plot!

@jkrumbiegel
Copy link

Nice, then I think we're good to go

@Kevin-Mattheus-Moerman
Copy link
Member

@whedon accept deposit=true from branch joss-paper

@whedon
Copy link
Author

whedon commented Sep 1, 2021

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

@whedon whedon added accepted published Papers published in JOSS labels Sep 1, 2021
@whedon
Copy link
Author

whedon commented Sep 1, 2021

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon
Copy link
Author

whedon commented Sep 1, 2021

🚨🚨🚨 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 👉 Creating pull request for 10.21105.joss.03349 joss-papers#2563
  2. Wait a couple of minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.03349
  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...

@Kevin-Mattheus-Moerman
Copy link
Member

@jkrumbiegel @arfon I'll leave this issue open to discuss the finalization of the archive editing. Please update us if you hear from Zenodo or once you've edited the information.

@kthyng
Copy link

kthyng commented Sep 20, 2021

Does this still need to be open? Not sure what the outstanding issue was.

@Kevin-Mattheus-Moerman
Copy link
Member

@kthyng there is an issue with the Zenodo archive, it needs to be edited (e.g. title does not match): https://zenodo.org/record/5106448 but I believe the authors are having permission issues that prevent them from editing it. We are leaving this open until it is resolved.

@Kevin-Mattheus-Moerman
Copy link
Member

@jkrumbiegel @arfon any updates?

@jkrumbiegel
Copy link

Zenodo tried to contact the current owner without success, I hope they'll transfer ownership to us soon.

@arfon
Copy link
Member

arfon commented Sep 23, 2021

@kthyng there is an issue with the Zenodo archive, it needs to be edited (e.g. title does not match): https://zenodo.org/record/5106448 but I believe the authors are having permission issues that prevent them from editing it. We are leaving this open until it is resolved.

Having the titles match is a strong preference but not essential for JOSS. As such I propose we close this thread unless the authors especially care about this.

@Kevin-Mattheus-Moerman
Copy link
Member

@arfon okay fine with me. FYI the author set is also different (all contributors are listed on ZENODO).

@arfon arfon closed this as completed Sep 24, 2021
@whedon
Copy link
Author

whedon commented Sep 24, 2021

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

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

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

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

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

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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Julia published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review
Projects
None yet
Development

No branches or pull requests

8 participants