Skip to content

ObsPy: Software Submission for Review #16

Closed
@megies

Description

@megies

Submitting Author: @megies
Package Name: ObsPy
One-Line Description of Package: A Python Toolbox for seismology/seismological observatories.
Repository Link: https://github.com/obspy/obspy
Version submitted: 1.1.1
Editor: @lwasser
Reviewer 1: @canyon289
Reviewer 2: @raoulcollenteur
Archive: TBD
Version accepted: TBD


Description

ObsPy is an open-source project dedicated to provide a Python framework for processing seismological data. It provides parsers for common file formats, clients to access data centers and seismological signal processing routines which allow the manipulation of seismological time series (see Beyreuther et al. 2010, Megies et al. 2011, Krischer et al. 2015).

The goal of the ObsPy project is to facilitate rapid application development for seismology.

ObsPy is licensed under the GNU Lesser General Public License (LGPL) v3.0.

Scope

  • Please indicate which category or categories this package falls under:
    • Data retrieval
    • Data extraction
    • Data munging
    • Data deposition
    • Reproducibility
    • Geospatial
    • Education
    • Data visualization* <-- didn't tick this, because the benefit of a 'pre-submission inquiry' didn't become obvious for me, the issue form seems to be largely the same

* Please fill out a pre-submission inquiry before submitting a data visualization package. For more info, see this section of our guidebook.

  • Explain how the and why the package falls under these categories (briefly, 1-2 sentences):

It falls under these categories, because we retrieve and munge data. Also loads of the functionality is concerning geospatial aspects (can't be avoided in seismology). Being as high-level as we are in functionality, I'd also consider it to be educational, since you can illustrate how to do many processing steps (and what pitfalls there are) in a few lines of code.
If this is more about the core aspects of the software, I guess you could also argue for only retrieval and munging, and the other are rather side aspects.. although it's unclear to me in which bullet item signal processing is included (munging I guess?).

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

Mainly scientists/researchers, but we know that obspy is also used in industry (no idea about numbers, though). Scientific applications span most fields of seismology that involve real or synthetic data, basically only excluding purely theoretical, pen and paper seismology.

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

There are various packages with I/O of up to a handful file formats at a time, usually concerned only with 1-3 file formats used by the authors. I am not aware of other packages that offer access clients for all important protocols like we do (FDSN web services, SeedLink, Earthworm, Arclink, NRL, syngine, ...). Most important point would be the widespread use in projects built on top of obspy, most likely.

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

no pre-submission enquiry filed.

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.
    • this feels a bit unclear, but in any case I'm not aware of any ToSs we would violate
  • has an OSI approved license
    • LGPLv3
  • contains a README with instructions for installing the development version.
    • these instructions are in the wiki which is linked in the README to keep it more concise
  • includes documentation with examples for all functions.
    • docs.obspy.org built from source with sphinx
  • contains a vignette with examples of its essential functions and uses.
    • submodule API landing pages (i.e. __init__.pys) hold the submodules' most important functions with explanations and usage examples,
  • has a test suite.
  • has continuous integration, such as Travis CI, AppVeyor, CircleCI, and/or others.
    • Travis for Linux + Mac tests
    • Appveyor for Windows tests
    • Circle for quick linting and Flake8

Publication options

We have citable papers out, so no need for this I think. If anything we might do a "history of obspy" short story?

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:

Note: Do not submit your package separately to JOSS

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.

Code of conduct

We're using Contributor Covenant Code of Conduct v1.4

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

Editor and Review Templates

Editor and review templates can be found here

Metadata

Metadata

Assignees

No one assigned

    Labels

    0/pre-review-checks3/reviewers-assignedon-holdA tag to represent packages on review hold until we figure out a bigger issue associate with review

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions