Skip to content

Martini #164

Closed
Closed

Description

@kyleaoman

Submitting Author: Kyle Oman (@kyleaoman)
All current maintainers: (@kyleaoman)
Package Name: martini
One-Line Description of Package: MARTINI is a modular package for the creation of synthetic resolved HI line observations (data cubes) of smoothed-particle hydrodynamics simulations of galaxies.
Repository Link: https://github.com/kyleaoman/martini
Version submitted: 2.0.11 (note JOSS paper is in branch joss-paper, and that branch is somewhat behind main & 2.0.11)
EiC: @isabelizimm
Editor: @hamogu
Reviewer 1: @taldcroft
Reviewer 2: @MicheleDelliVeneri
Archive: https://zenodo.org/doi/10.5281/zenodo.11193206
JOSS DOI: https://doi.org/10.21105/joss.06860
Version accepted: 2.0.15
Date accepted (month/day/year): 06/03/2024


Code of Conduct & Commitment to Maintain Package

Description

MARTINI is a modular package for the creation of synthetic resolved HI line observations (data cubes) of smoothed-particle hydrodynamics simulations of galaxies. The various aspects of the mock-observing process are divided logically into sub-modules handling the data cube, source, beam, noise, spectral model and SPH kernel. MARTINI is object-oriented: each sub-module provides a class (or classes) which can be configured as desired. For most sub-modules, base classes are provided to allow for straightforward customization. Instances of each sub-module class are given as parameters to the Martini class; a mock observation is then constructed by calling a handful of functions to execute the desired steps in the mock-observing process.

Scope

  • Please indicate which category or categories.
    Check out our package scope page to learn more about our
    scope. (If you are unsure of which category you fit, we suggest you make a pre-submission inquiry):

    • Data retrieval
    • Data extraction
    • Data processing/munging
    • Data deposition
    • Data validation and testing
    • Data visualization1
    • Workflow automation
    • Citation management and bibliometrics
    • Scientific software wrappers
    • Database interoperability

Domain Specific

  • Geospatial
  • Education

Community Partnerships

If your package is associated with an
existing community please check below:

  • For all submissions, explain how the and why the package falls under the categories you indicated above. In your explanation, please address the following points (briefly, 1-2 sentences for each):

    • Who is the target audience and what are scientific applications of this package?

The target audience is research astronomers interested in galaxies (broadly, "extragalactic astronomers") from both the theoretical and observational communities. The package provides a way to transform data products from the theory community (smoothed-particle hydrodynamics based simulations of galaxy formation and evolution) into data products closely resembling the atomic hydrogen signal observed with a radio telescope at 21-cm wavelengths. This enables much more faithful comparisons between theoretical predictions and measurements.

  • Are there other Python packages that accomplish the same thing? If so, how does yours differ?

I am not aware of any other actively maintained packages with similar purpose.

  • 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:

N/A (I had previously submitted to astropy under their affiliated package scheme and have been redirected here)

Technical checks

For details about the pyOpenSci packaging requirements, see our packaging guide. Confirm each of the following by checking the box. This package:

  • does not violate the Terms of Service of any service it interacts with.
  • uses an OSI approved license.
  • contains a README with instructions for installing the development version.
  • includes documentation with examples for all functions.
  • contains a tutorial with examples of its essential functions and uses.
  • has a test suite.
  • has continuous integration setup, such as GitHub Actions CircleCI, and/or others.

Publication Options

JOSS Checks
  • The package has an obvious research application according to JOSS's definition in their submission requirements. 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: "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 with a high-level description in the package root or in inst/.
  • The package is deposited in a long-term repository with the DOI: https://zenodo.org/doi/10.5281/zenodo.11193206

Since I'm coming in through the new astropy route, I had not prepared for JOSS requirements, but was thinking of submitting to JOSS soon anyway. I've now pushed a paper.md in the joss-paper branch. My package is indexed in the ASCL which in turn is indexed in ADS, but neither of these seems to provide an actual DOI so I will need to look into other repositories (probably Zenodo). As far as I understand submission to JOSS happens after the pyOpenSci review so there is a little bit of time to get this done - I expect to have these two items ticked off by the time the pyOpenSci review process is completed.

Note: JOSS accepts our review as theirs. You will NOT need to go through another full review. JOSS will only review your paper.md file. Be sure to link to this pyOpenSci issue when a JOSS issue is opened for your package. Also be sure to tell the JOSS editor that this is a pyOpenSci reviewed package once you reach this step.

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.

  • Yes I am OK with reviewers submitting requested changes as issues to my repo. Reviewers will then link to the issues in their submitted review.

Confirm each of the following by checking the box.

  • I have read the author guide.
  • I expect to maintain this package for at least 2 years and can help find a replacement for the maintainer (team) if needed.

Please fill out our survey

P.S. Have feedback/comments about our review process? Leave a comment here

Editor and Review Templates

The editor template can be found here.

The review template can be found here.

Footnotes

  1. Please fill out a pre-submission inquiry before submitting a data visualization package. ↩

Activity

  1. changed the title [-]Martini - Mock array telescope interferometry of the neutral ISM[/-] [+]Martini[/+] on Mar 6, 2024
  2. added
    astropyAn astropy community affiliated package review
    on Mar 6, 2024
  3. isabelizimm commented on Mar 8, 2024

    @isabelizimm
    Contributor

    Hello there! Just letting you know we have seen this issue and will be following up with pre-review checks shortly!

  4. isabelizimm commented on Mar 23, 2024

    @isabelizimm
    Contributor

    Thank you so much for this submission! It's so exciting to see these astropy submissions roll in ☄️

    Editor in Chief checks

    Hi there! Thank you for submitting your package for pyOpenSci
    review. Below are the basic checks that your package needs to pass
    to begin our review. If some of these are missing, we will ask you
    to work on them before the review process begins.

    Please check our Python packaging guide for more information on the elements
    below.

    • Installation The package can be installed from a community repository such as PyPI (preferred), and/or a community channel on conda (e.g. conda-forge, bioconda).
      • The package imports properly into a standard Python environment import package.
    • Fit The package meets criteria for fit and overlap.
    • Documentation The package has sufficient online documentation to allow us to evaluate package function and scope without installing the package. This includes:
      • User-facing documentation that overviews how to install and start using the package.
      • Short tutorials that help a user understand how to use the package and what it can do for them.
      • API documentation (documentation for your code's functions, classes, methods and attributes): this includes clearly written docstrings with variables defined using a standard docstring format.
    • Core GitHub repository Files
      • README The package has a README.md file with clear explanation of what the package does, instructions on how to install it, and a link to development instructions.
      • Contributing File The package has a CONTRIBUTING.md file that details how to install and contribute to the package.
      • Code of Conduct The package has a CODE_OF_CONDUCT.md file.
      • License The package has an OSI approved license.
        NOTE: We prefer that you have development instructions in your documentation too.
    • Issue Submission Documentation All of the information is filled out in the YAML header of the issue (located at the top of the issue template).
    • Automated tests Package has a testing suite and is tested via a Continuous Integration service.
    • Repository The repository link resolves correctly.
    • Package overlap The package doesn't entirely overlap with the functionality of other packages that have already been submitted to pyOpenSci.
    • Archive (JOSS only, may be post-review): The repository DOI resolves correctly.
    • Version (JOSS only, may be post-review): Does the release version given match the GitHub release (v1.0.0)?

    • Initial onboarding survey was filled out
      We appreciate each maintainer of the package filling out this survey individually. 🙌
      Thank you authors in advance for setting aside five to ten minutes to do this. It truly helps our organization. 🙌


    Editor comments

    In your README can you add a quick installation piece? It doesn't have to be too fancy, something like the # Installation section on the rdata package would be perfect. In the meantime, I'll sort out finding an editor for this review 🙌

    Also, are you able to to add a "version submitted"? I'm assuming it is the latest, but we'll want to know what version the review started at. It's okay if there are releases during the review/the accepted version is different, that is expected as you make edits!

  5. isabelizimm commented on Mar 23, 2024

    @isabelizimm
    Contributor

    Also, we have an editor lined up; @hamogu will be the editor lined up for this review 🙌

  6. kyleaoman commented on Mar 23, 2024

    @kyleaoman
    Author

    @isabelizimm I added the version submitted. Not sure what you're requesting for the installation information in README - there's a paragraph there already so if something else/different is needed I'm not sure what it is. Or do you not mean the package README?

  7. moved this to under-review in peer-review-statuson Mar 27, 2024
  8. isabelizimm commented on Mar 29, 2024

    @isabelizimm
    Contributor

    Ah, I was specifically looking for the way to pip install martini, a section similar to "Installation" on this package. I do see this command in your installation paragraph, but it's quite easy to miss, so it would be ideal to pull it out into its own line, rather than be part of a larger paragraph.

    This change is non-blocking to your review, just a note to make it easier to skim through details 😄

  9. 25 remaining items

  10. hamogu commented on Jun 3, 2024

    @hamogu
    Contributor

    🎉 has been approved by pyOpenSci! Thank you for submitting and many thanks to for reviewing this package! 😸

    Author Wrap Up Tasks

    There are a few things left to do to wrap up this submission:

    • Activate Zenodo watching the repo if you haven't already done so.
    • Tag and create a release to create a Zenodo version and DOI.
    • Add the badge for pyOpenSci peer-review to the README.md of . The badge should be [![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/issue-number).
    • Please fill out the post-review survey. All maintainers and reviewers should fill this out.
    It looks like you would like to submit this package to JOSS. Here are the next steps:
    • Once the JOSS issue is opened for the package, we strongly suggest that you subscribe to issue updates. This will allow you to continue to update the issue labels on this review as it goes through the JOSS process.
    • Login to the JOSS website and fill out the JOSS submission form using your Zenodo DOI. When you fill out the form, be sure to mention and link to the approved pyOpenSci review. JOSS will tag your package for expedited review if it is already pyOpenSci approved.
    • Wait for a JOSS editor to approve the presubmission (which includes a scope check).
    • Once the package is approved by JOSS, you will be given instructions by JOSS about updating the citation information in your README file.
    • When the JOSS review is complete, add a comment to your review in the pyOpenSci software-review repo here that it has been approved by JOSS. An editor will then add the JOSS-approved label to this issue.

    🎉 Congratulations! You are now published with both JOSS and pyOpenSci! 🎉

    Editor Final Checks

    Please complete the final steps to wrap up this review. Editor, please do the following:

    • Make sure that the maintainers filled out the post-review survey
    • Invite the maintainers to submit a blog post highlighting their package. Feel free to use / adapt language found in this comment to help guide the author.
    • Change the status tag of the issue to 6/pyOS-approved6 🚀🚀🚀.
    • Invite the package maintainer(s) and both reviewers to slack if they wish to join.
    • If the author submits to JOSS, please continue to update the labels for JOSS on this issue until the author is accepted (do not remove the 6/pyOS-approved label). Once accepted add the label 9/joss-approved to the issue. Skip this check if the package is not submitted to JOSS.
    • If the package is JOSS-accepted please add the JOSS doi to the YAML at the top of the issue.

    If you have any feedback for us about the review process please feel free to share it here. We are always looking to improve our process and documentation in the peer-review-guide.

  11. hamogu commented on Jun 3, 2024

    @hamogu
    Contributor

    @kyleaoman Just to confirm: I see you did a very recent release on May15th. Is that the version that includes the responses to @taldcroft comments? Or do you plan to make a new release now that it's accepted? I just want to make sure I'm linking to the correct release number.

  12. kyleaoman commented on Jun 3, 2024

    @kyleaoman
    Author

    @hamogu release 2.0.12 contains the latest commit so yes, that's up to date. There's also a Zenodo DOI for it. I'll do the JOSS submission and other little to-do items asap, probably tomorrow. Thanks!

  13. hamogu commented on Jun 4, 2024

    @hamogu
    Contributor

    Congratulations! I switched to accepted - just remember to fill out the post-review survey and add a badge pointing to this issue, if you want to.

    Also, we want to invite you to write a blog post (totally optional) on your package for us to promote your work! if you are interested - here are a few examples of other blog posts:

    pandera
    movingpandas

    and here is a markdown example that you could use as a guide when creating your post.

    If you are too busy for this no worries. But if you have time - we'd love to spread the word about your package!

    Last, a huge thanks to @taldcroft and @MicheleDelliVeneri for their review - without reviewers like you PyOpenSci would not be possible.

    Also, we want to invite all of you (authors and reviewers) you to join the PyOpenSci slack - it's a very active community (more than astropy!) with lots if technical discussion and people happy to help with packaging and related Python questions. Let me know if you are interested, and we'll send you an invite yo any email address you choose!

  14. kyleaoman commented on Jun 4, 2024

    @kyleaoman
    Author

    I've completed the post-review survey, added the badge, and just now submitted to JOSS - will come back once that process has run its course :)

  15. moved this from under-review to pyos-accepted in peer-review-statuson Jun 4, 2024
  16. moved this from pyos-accepted to joss-accepted in peer-review-statuson Jun 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions