Joss-reviews: [REVIEW]: A Short Introduction to PF: A C++ Library for Particle Filtering

Created on 24 Aug 2020  ·  70Comments  ·  Source: openjournals/joss-reviews

Submitting author: @tbrown122387 (Taylor Brown)
Repository: https://github.com/tbrown122387/pf
Version: v1.0.3
Editor: @diehlpk
Reviewer: @ziotom78, @andremrsantos
Archive: 10.5281/zenodo.4068564

:warning: JOSS reduced service mode :warning:

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/8b4d434b0834c3cce76aaccd8e83ac9b"><img src="https://joss.theoj.org/papers/8b4d434b0834c3cce76aaccd8e83ac9b/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/8b4d434b0834c3cce76aaccd8e83ac9b/status.svg)](https://joss.theoj.org/papers/8b4d434b0834c3cce76aaccd8e83ac9b)

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

@ziotom78 & @andremrsantos, 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 @diehlpk 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 @ziotom78

Conflict of interest

  • [x] 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

  • [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] Contribution and authorship: Has the submitting author (@tbrown122387) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

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 functionality 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] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [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] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] 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 @andremrsantos

Conflict of interest

  • [x] 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

  • [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] Contribution and authorship: Has the submitting author (@tbrown122387) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

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 functionality 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] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [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] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] 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?
C C++ CMake accepted published recommend-accept review

Most helpful comment

Dear @tbrown122387, here are some considerations regarding your answer:

  • Contribution Guidelines

    • I think you should just include a simple guideline such as Rails listed as example in the page you sent, with some suggestions of how to open an issue, send a PR request, and include a basic code of conduct. Nothing much complicate.

  • I will wait for updates on the other topics you mention it may require some time.

All 70 comments

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

:warning: JOSS reduced service mode :warning:

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.

: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

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

@whedon generate pdf
Reference check summary:

OK DOIs

- 10.1080/10618600.2016.1172487 is OK
- 10.1007/978-1-4684-9393-1 is OK
- 10.1111/j.1467-9868.2009.00736.x is OK
- 10.1063/1.1699114 is OK
- 10.1093/biomet/57.1.97 is OK
- 10.1111/1467-9868.00363 is OK
- 10.1109/9780470544334.ch9 is OK
- 10.1214/aoms/1177699147 is OK
- 10.1109/5.18626 is OK
- 10.1049/ip-f-2.1993.0015 is OK
- 10.1080/01621459.1999.10474153 is OK
- 10.1109/TSP.2005.849185 is OK
- 10.3150/14-BEJ666 is OK
- 10.2139/ssrn.2386371 is OK

MISSING DOIs

- None

INVALID DOIs

- None

Hi @ziotom78 and @andremrsantos how are your reviews going?

Hi @diehlpk , I am working on it. Should I reply to my checklist here?

Hi @andremrsantos yes, please reply in this thread or for more major things please open tickets in the repo and mention this thread here.

Dear all,
here are some comments regarding the manuscript and the software package.

Overall, the PF library developed by the authors is a useful and interesting package for development of Particle Filters. I believe the code and document are suitable for publication after answer some of the comments below regarding the manuscript and code base.

Comments

Documentation

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

    • On the project github page, the authors should make clear any requirements. Currently, the authors mentions the library requires _Boost_ , _Eigen_, and _Catch2_, but they appear to be only necessary for the second installation option. Also versions required are not clear.

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

    • The authors provide an example usage, but they should include the expected results so the users can check the code behave as expected. Also, they should define a seed on their examples to make the results replicable.

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

    • Automated test are included in the package, but I was unable to execute them with make test on the build directory. The authors should include a quick guide to run their tests.

  • [ ] 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

    • I couldn't find any guidelines for third parties wishing to contribute, report issues or seek support.

Software paper

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

    • The authors could expand a little on the Particle Filtering subject.

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

    • Although the authors cite some other similar software, no other context is given except for those tools aimed to be used with scripting languages.

    • The authors also claims the library attempts to provide speed and abstraction to mitigate the complexity of particle filters and slow, but the manuscript doesn't include any comparison in terms of speed to similar projects.

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

    • Some minor issues:

    • (i) on the example section (at page 2), the example model lists phi = .91, but on the text says it is .95;

    • (ii) I not particular sure why an object-oriented design facilitates implementation of update to many particular in place of others design models. I would suggested the authors to justify or remove the statement.

Best,
André Santos

Hi, @tbrown122387, please post your comments here. If you have a pull request, please mention this ticket here. So the reviewers can comment on your pull request.

Hi @ziotom78 and @andremrsantos how are your reviews going?

Hi @diehlpk , I plan to start this review next week, I came back from holidays just yesterday and I first need to catch up with a few emails.

@andremrsantos thanks very much for your work reviewing my paper. I found the feedback spot-on and very useful.

For the sake of organization, I'll respond to your suggestions point by point.

First, there were some changes I was able to make relatively quickly:

On the project github page, the authors should make clear any requirements. Currently, the authors mentions the library requires Boost , Eigen, and Catch2, but they appear to be only necessary for the second installation option. Also versions required are not clear.

I added a section to the README that precedes the installation instructions and that mentions dependencies with specific versions: here

I also added specific version numbers to the installation section: see here

Automated test are included in the package, but I was unable to execute them with make test on the build directory. The authors should include a quick guide to run their tests.

Test building is done automatically with the cmake installation approach, but the executable is sort of hidden and not really mentioned, so you're right about that. I added a mention of where the executable would show up here

The authors could expand a little on the Particle Filtering subject.

  • I added some more details to the paper about what filtering and particle filtering are, and how they are useful. I can always add more.

on the example section (at page 2), the example model lists phi = .91, but on the text says it is .95

  • Nice catch. Just made the change. It is indeed supposed to be .91. The change is here

I not particular sure why an object-oriented design facilitates implementation of update to many particular in place of others design models. I would suggested the authors to justify or remove the statement.

I add more details about why I think this is important here and here I think it makes using particle filters inside more complicated algorithms a bit easier.

Second, these changes might take me some more time, but I've started working on them:

The authors also claims the library attempts to provide speed and abstraction to mitigate the complexity of particle filters and slow, but the manuscript doesn't include any comparison in terms of speed to similar projects.

I'm working on a side-by-side comparison now. I've added an issue here

The authors provide an example usage, but they should include the expected results so the users can check the code behave as expected. Also, they should define a seed on their examples to make the results replicable.

I've added an issue for this as well (here). So far, seeds have been set by the clock. I'll just need to add another constructor to the base class template for the resampling types.

I couldn't find any guidelines for third parties wishing to contribute, report issues or seek support.

I'm still thinking about how to do this. I've never been able to recruit many people in real life to help me with this software, so this point is of great interest to me. I've seen other software projects with online forums...maybe that would be something worth exploring. I'm open to any suggestions. Also, I'm in the process of reading this

@tbrown122387 instead of having a shell script to run the tests, you could add ctests so the user could type make test to run them.

Not mandatory, just a small suggestion.

Sorry @diehlpk , I started working on this review only this week, but it seems that my invitation has expired in the meantime, as I'm not able to modify my checklist. How should I proceed?

@whedon re-invite @ziotom78 as reviewer

OK, the reviewer has been re-invited.

@ziotom78 please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations

@ziotom78 No worries, please click on the link in the invitation email, you should receive soon. The invitation expires after few days. Or click on this link:

https://github.com/openjournals/joss-reviews/invitations

Dear @tbrown122387, here are some considerations regarding your answer:

  • Contribution Guidelines

    • I think you should just include a simple guideline such as Rails listed as example in the page you sent, with some suggestions of how to open an issue, send a PR request, and include a basic code of conduct. Nothing much complicate.

  • I will wait for updates on the other topics you mention it may require some time.

@tbrown122387 I checked the references and please update

  1. Murray, L. M. (2013). Bayesian state-space modelling on high-performance hardware using LibBi. (add the arxiv.org information)
  2. Taylor, S. (1982). Financial returns modelled by the product of two stochastic processes, a study of daily sugar prices 1961-79,1. (Add the journal)
  3. Brown, T. R. (2020). Approximating posterior predictive distributions by averaging output from many particle filters. (Add archiv.org information)

Hi @tbrown122387 , I have completed my review and have no further comments to make. Thanks!

@andremrsantos can you please confirm that you finished the review as well?

@tbrown122387 I will do the final pass of the paper this week. Please let me know once you updated the references and I will proceed.

@diehlpk I am happy with the modifications and I've finished my review.

@ziotom78 thanks very much for your very helpful and valuable comments! @diehlpk so far I have addressed all of the problems except for two: updating the references and writing a speed comparison example. I should be done relatively soon. Apologies for the delay--this is a busy week for me.

@tbrown122387 Take your time. Just let me know once I can do the editorial processing.

@diehlpk I have just finished updating the references and making all the other requested changes.

@whedon generate pdf

@whedon commands

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@whedon commands

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

@whedon commands

Here are some things you can ask me to do:

# List all of Whedon's capabilities
@whedon commands

# Assign a GitHub user as the sole reviewer of this submission
@whedon assign @username as reviewer

# Add a GitHub user to the reviewers of this submission
@whedon add @username as reviewer

# Re-invite a reviewer (if they can't update checklists)
@whedon re-invite @username as reviewer

# Remove a GitHub user from the reviewers of this submission
@whedon remove @username as reviewer

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

# Change editorial assignment
@whedon assign @username as editor

# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive

# Set the software version at the top of the issue e.g.
@whedon set v1.0.1 as version

# Open the review issue
@whedon start review

EDITORIAL TASKS

# All commands can be run on a non-default branch, to do this pass a custom 
# branch name by following the command with `from branch custom-branch-name`.
# For example:

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Remind an author or reviewer to return to a review after a
# certain period of time (supported units days and weeks)
@whedon remind @reviewer in 2 weeks

# Ask Whedon to do a dry run of accepting the paper and depositing with Crossref
@whedon accept

# Ask Whedon to check the references for missing DOIs
@whedon check references

# Ask Whedon to check repository statistics for the submitted software
@whedon check repository

EiC TASKS

# Invite an editor to edit a submission (sending them an email)
@whedon invite @editor as editor

# Reject a paper
@whedon reject

# Withdraw a paper
@whedon withdraw

# Ask Whedon to actually accept the paper and deposit with Crossref
@whedon accept deposit=true

@whedon check references

@tbrown122387

Following remarks:

I think, that it would be beneficial for the reader to have a link to the README.md file here

this is “Option 2” described in theREADME.mdfile

and same for examples/svol_sisr.h here

The fileexamples/svol_sisr.hprovides an example of writing a class template calledsvol_sisrfor this model-algorithm pair

To make the definitions more prominent, would you like to consider to have a bullet list here

Filtering” is defined asobtaining the distributions of each unobserved state/code random variable, conditioning onall of the observed information up to that point in time. “Particle filters” are a class ofalgorithms that approximate this sequence of distributions with weighted samples (termedparticles)

Or any other way to highlight the definitions?

@diehlpk perhaps I could add an equation/some notation? Eyes are drawn to equations, and it would also cement some of the notation that would be (re-)used in the coming Example section. It might also be easier on the reader to see me label states/codes as x_t immediately after the first time I use those words, and to see "observed information" labeled with $y_{1:t}$ immediately after they see that phrase for for the first time too. Let me know what you think of the most recent commit. I added the links as well

@tbrown122387

perhaps I could add an equation/some notation?

Sounds good.

@whedon generate pdf

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

@tbrown122387

The next steps are

  • [ ] Generate a new release including all changes during the review
  • [ ] Post the release here
  • [ ] Generate a DOI of the release on Figshare or Zenodo. Note that the name has to match the paper title.
  • [ ] Post the DOI here

@diehlpk

  • the latest release can be found here
  • the DOI can be found here
  • I changed the DOI's "Title" to "A Short Introduction to PF: A C++ Library for Particle Filtering", but might have done this incorrectly. Please let me know if I need to make another change.

@whedon set v1.0.3 as version

OK. v1.0.3 is the version.

@tbrown122387

tbrown122387/pf: v1.0.3

Taylor R. Brown; trb5me

Can you remove trb5me from the author list? Only the authors of the paper should be listed?

Can you please replace tbrown122387/pf: v1.0.3 with the paper title?

@diehlpk I just forgot to hit "publish." This looks better.

@whedon set 10.5281/zenodo.4068564 as archive

OK. 10.5281/zenodo.4068564 is the archive.

@whedon generate pdf

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

@tbrown122387 Please check the latest proof of the PDF.

@whedon accept

Attempting dry run of processing paper acceptance...

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

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

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

@tbrown122387 Congratulations to the acceptance of the paper. @ziotom78 and @andremrsantos thanks again for your reviews.

Terrific news! Thanks again everyone @diehlpk @ziotom78 @andremrsantos I'm very appreciative of all your time, and thank you for making this software better and helping it to reach more people!

Sorry for noticing just now, but there are a couple of typos that I might have fixed too late. Some were from before but might not have gotten picked up, and some are from just now. See my most recent commit https://github.com/tbrown122387/pf/commit/e5f9366480510d46fe1a880c818b314c8cdfa73b

You still can update typos in the paper. However, the typos will remain in the release. The paper for the actual publication will be compiled from master/branch.

Version is up to date, and zenodo archive metadata looks good!

The paper looks good, except for the references, which have lost capitalization. @tbrown122387 can you go through your reference list in detail to preserve capitalization? You can do this by placing {} around the words in the .bib file that have capitalization that is not being preserved. {Markov} and {Monte Carlo} are what I've seen in a couple of the references, but I stopped looking so there may be more.

@kthyng okey dokey capitalization now matches titles.

@whedon generate pdf

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

/app/vendor/bundle/ruby/2.4.0/gems/octokit-4.8.0/lib/octokit/response/raise_error.rb:16:in on_complete': GET https://api.github.com/repos/openjournals/jose-reviews/issues/2599: 404 - Not Found // See: https://docs.github.com/rest/reference/issues#get-an-issue (Octokit::NotFound) from /app/vendor/bundle/ruby/2.4.0/gems/faraday-0.15.4/lib/faraday/response.rb:9:inblock in call'
from /app/vendor/bundle/ruby/2.4.0/gems/faraday-0.15.4/lib/faraday/response.rb:61:in on_complete' from /app/vendor/bundle/ruby/2.4.0/gems/faraday-0.15.4/lib/faraday/response.rb:8:incall'
from /app/vendor/bundle/ruby/2.4.0/gems/octokit-4.8.0/lib/octokit/middleware/follow_redirects.rb:73:in perform_with_redirection' from /app/vendor/bundle/ruby/2.4.0/gems/octokit-4.8.0/lib/octokit/middleware/follow_redirects.rb:61:incall'
from /app/vendor/bundle/ruby/2.4.0/gems/faraday-0.15.4/lib/faraday/rack_builder.rb:143:in build_response' from /app/vendor/bundle/ruby/2.4.0/gems/faraday-0.15.4/lib/faraday/connection.rb:387:inrun_request'
from /app/vendor/bundle/ruby/2.4.0/gems/faraday-0.15.4/lib/faraday/connection.rb:138:in get' from /app/vendor/bundle/ruby/2.4.0/gems/sawyer-0.8.2/lib/sawyer/agent.rb:94:incall'
from /app/vendor/bundle/ruby/2.4.0/gems/octokit-4.8.0/lib/octokit/connection.rb:156:in request' from /app/vendor/bundle/ruby/2.4.0/gems/octokit-4.8.0/lib/octokit/connection.rb:19:inget'
from /app/vendor/bundle/ruby/2.4.0/gems/octokit-4.8.0/lib/octokit/client/issues.rb:114:in issue' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-d14a699185fb/lib/whedon/review.rb:21:inissue_body'
from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-d14a699185fb/bin/whedon:44:in prepare' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/command.rb:27:inrun'
from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor.rb:387:indispatch'
from /app/vendor/bundle/ruby/2.4.0/gems/thor-0.20.3/lib/thor/base.rb:466:in start' from /app/vendor/bundle/ruby/2.4.0/bundler/gems/whedon-d14a699185fb/bin/whedon:131:in from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in load' from /app/vendor/bundle/ruby/2.4.0/bin/whedon:23:in

'

@whedon generate pdf

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

@tbrown122387 ok looks good!

@whedon accept

Attempting dry run of processing paper acceptance...

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

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

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

@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/1792
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.02599
  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...

Congrats on your new paper @tbrown122387! Thank you to editor @diehlpk and to reviewers @ziotom78 and @andremrsantos — we couldn't do this process without your expertise and time!

: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](https://joss.theoj.org/papers/10.21105/joss.02599/status.svg)](https://doi.org/10.21105/joss.02599)

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

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

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:

Was this page helpful?
0 / 5 - 0 ratings