mtpy-v2


Namemtpy-v2 JSON
Version 2.0.12 PyPI version JSON
download
home_pagehttps://github.com/MTgeophysics/mtpy-v2
SummaryPython toolkit for standard magnetotelluric data processing.
upload_time2024-10-24 03:37:02
maintainerNone
docs_urlNone
authorJared Peacock, Alison Kirkby, Fei Zhang, Rakib Hassan, Lars Krieger, Stephan Thiel
requires_python>=3.8
licenseMIT
keywords magnetotellurics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MTpy-v2: A Python Toolbox for working with Magnetotelluric (MT) Data

[![PyPi version](https://img.shields.io/pypi/v/mtpy-v2.svg)](https://pypi.python.org/pypi/mtpy-v2)
[![Latest conda|conda-forge version](https://img.shields.io/conda/v/conda-forge/mtpy-v2.svg)](https://anaconda.org/conda-forge/mtpy-v2)
[![codecov](https://codecov.io/gh/MTgeophysics/mtpy-v2/graph/badge.svg?token=TQPFBFMYDQ)](https://codecov.io/gh/MTgeophysics/mtpy-v2)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Documentation Status](https://readthedocs.org/projects/mtpy-v2/badge/?version=latest)](https://mtpy-v2.readthedocs.io/en/latest/?badge=latest)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/MTgeophysics/mtpy-v2/main)

## Version 2.0.12

# Description
 
`mtpy` provides tools for working with magnetotelluric (MT) data.  MTpy-v2 is an updated version of [mtpy](https://github.com/MTgeophysics/mtpy). Many things have changed under the hood and usage is different from mtpy v1. The main difference is that there is a central data type that can hold transfer functions and then read/write to your modeling program, plot, and analyze your data.  No longer will you need a directory of EDI files and then read them in everytime you want to do something.  You only need to build a project once and save it to an MTH5 file and you are ready to go. All metadata uses [mt-metadata](https://github.com/kujaku11/mt-metadata).



# Installation

## Using Pip

`> pip install mtpy-v2`

## Using conda

`> conda install -c conda-forge mtpy-v2`

### Pardiso Solver

`mtpy-v2` now include some tools to model and invert using `simpeg`. If you want to use the Pardiso solver you will need to install it separately. See the https://github.com/simpeg/pydiso for more information.  Below is a snippet from their recommendations. 

#### Installing from source

The wrapper is written in cython and links to the mkl libraries dynamically. Therefore,
it needs to find the necessary header files associated with the MKL installation to compile.
The meson build backend uses pkg-config to identify the locations of the mkl header files
and library dynamic libraries. Most development installations of MKL should provide the
necessary pkg-config files for this. For example, conda users can be install the necessary
configuration information with `mkl-devel` package that is available on the default channel,
conda-forge channel, the intel channel, or others, e.g.

`conda install mkl-devel`

If you have installed the configuration files to a non-standard location, you will need to set
`PKG_CONFIG_PATH` to point to that location.

After the necessary MKL files are accessible, you should be able to install by running

`pip install .`

in the installation directory. 


# Functionality

- Read/write transfer function files (EDI, EMTFXML, J-file, Z-file, AVG-file) using [mt-metadata](https://github.com/kujaku11/mt-metadata)
- Read/write [MTH5](https://github.com/kujaku11/mth5) files for full surveys/project in a single file
- Utility functions for GIS
 
## Plotting

- Single transfer function 
  - apparent resistivity and phase
  - induction vectors
  - phase tensors
  - strike
  - depth of investigation
- Survey of transfer functions
  - station map
  - phase tensor and induction vector map and pseudosection
  - apparent resistivity and phase maps and pseudosections
  - depth of investigation map	

## Processing
  - Read/write files for time series processing
    - BIRRP
    - [Aurora](https://github.com/simpeg/aurora)

## Modeling

- Read/Write files for modeling programs
  - ModEM
  - Occam 1D and 2D
  - Mare2DEM (?)
  - Pek 1D and 2D

# What's been Updated in version 2

The main updates in `mtpy-v2` are:

  - Remove dependence on EDI files, can be any type of transfer function file
      - Supports (or will support) to/from:
          - **EDI** (most common format)
          - **ZMM** (Egberts EMTF output)
          - **JFILE** (BIRRP output)
          - **EMTFXML** (Kelbert's format)
          - **AVG** (Zonge output)
  - Uses [mt-metadata](https://github.com/kujaku11/mt_metadata>) to read and write transfer function files where the transfer function data are stored in an [xarray](https://docs.xarray.dev/en/stable/index.html)
  - The workflow is more centralized by introducing `MTCollection` and `MTData` objects which are the databases to hold a collection of transfer functions and manipulate them
    - Includes plotting methods, `to/from` data file types for modeling, rotations, interpolations, static shifts, etc.
	- Can store a collection as an MTH5 using [mth5](https://github.com/kujaku11/mth5)

# Quick Example

Typically MT data are collected as surveys and each station produces a single transfer function.  These are provided in various formats like EDI, EMTF XML, etc.

One benefit of mtpy-v2 is reading all these in only needs to be done once and places them in a single MTH5 file.

```
from pathlib import Path
from mtpy import MTCollection

transfer_function_path = Path("/home/survey_00/transfer_functions")

# write directly to an MTH5 file and close when finished loading TFs
with MTCollection() as mc:
    mc.open_collection(transfer_function_path.joinpath("tf_collection.h5"))
    mc.add_tf(
        mc.make_file_list(
            transfer_function_path,
            file_types=["edi", "xml", "j", "zmm", "zss", "avg"],
        )
    )
 
```

Now when you want to access your data again, you just need to open a single file.

```
mc = MTCollection()
mc.open_collection(r"/home/survey_00/transfer_functions/tf_collection.h5")

# plot station locations
station_locations = mc.plot_stations()
```

# How to Cite

If you use this software in a scientific publication, we'd very much appreciate if you could cite the following papers:

- Kirkby, A.L., Zhang, F., Peacock, J., Hassan, R., Duan, J., 2019. The MTPy software package for magnetotelluric data analysis and visualisation. Journal of Open Source Software, 4(37), 1358. https://doi.org/10.21105/joss.01358
   
- Krieger, L., and Peacock, J., 2014. MTpy: A Python toolbox for magnetotellurics. Computers and Geosciences, 72, p167-175. https://doi.org/10.1016/j.cageo.2014.07.013



# Contacts

| **Jared Peacock**
| peacock.jared@gmail.com

| **Alison Kirkby**
| alkirkby@gmail.com


# System Requirements

-  Python 3.8+


# License

MTpy is licensed under the MIT license

The license agreement is contained in the repository and should be kept together with the code.




History
=======

2.0.0 (2022-10-20)
---------------------

* major changes under the hood.  
    - Now using `mt_metadata` to read/write transfer function files
	- Now using `mth5` to store the transfer functions
	- Introduced `MT`, `MTCollection`, and `MTData` such that operations are more centralized. Now most methods can be called from `MT` and `MTData`
	- Removing older modules and group specific modules
	- Added GitActions for testing
	- Updating tests (still lots of work to do)
	- Updated documentation to upload to ReadTheDocs

2.0.5 (2023-11-09)
---------------------

* bug fixes
* now install simpeg for inversions, 1D implemented so far

2.0.8 (2024-08-30)
---------------------

* Shapefiles by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/28
* Added to ModEM module docs by @oaazeved in https://github.com/MTgeophysics/mtpy-v2/pull/32
* Add tf quality by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/37
* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/29
* adding ability to just plot tipper by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/35
* Updated default tippers to point towards a good conductor by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/41
* Ak2 by @alkirkby in https://github.com/MTgeophysics/mtpy-v2/pull/43
* Porting Aurora objects by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/45
* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/40
* @oaazeved made their first contribution in https://github.com/MTgeophysics/mtpy-v2/pull/32

**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.7...v2.0.8

2.0.9 (2024-08-30)
----------------------

* Check for Pardiso import by @kujaku11 in #48

2.0.10 (2024-09-30)
---------------------

* Update testing_pip_import.yml by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/49
* Kk/patches  by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/53
* Optimize adding TF to MTCollection by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/52
* @kkappler made their first contribution in https://github.com/MTgeophysics/mtpy-v2/pull/49

**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.9...v2.0.10

2.0.11 (2024-10-14)
------------------------

* Fix rotations again by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/57
* Pin numpy versions <2.0 by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/62
* Occam2d fixes by @alkirkby in https://github.com/MTgeophysics/mtpy-v2/pull/56
* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/61

**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.10...v2.0.11

2.0.12 (2024-10-22)
----------------------------

* Fix rotations again by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/57
* Pin numpy versions <2.0 by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/62
* Occam2d fixes by @alkirkby in https://github.com/MTgeophysics/mtpy-v2/pull/56
* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/61

**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.10...v2.0.12

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MTgeophysics/mtpy-v2",
    "name": "mtpy-v2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "magnetotellurics",
    "author": "Jared Peacock, Alison Kirkby, Fei Zhang, Rakib Hassan, Lars Krieger, Stephan Thiel",
    "author_email": "jpeacock@usgs.gov",
    "download_url": "https://files.pythonhosted.org/packages/31/51/532728f8696aa337c8dd67e9b3549dd84ab1b376461991a3bae02e1271dc/mtpy-v2-2.0.12.tar.gz",
    "platform": null,
    "description": "# MTpy-v2: A Python Toolbox for working with Magnetotelluric (MT) Data\r\n\r\n[![PyPi version](https://img.shields.io/pypi/v/mtpy-v2.svg)](https://pypi.python.org/pypi/mtpy-v2)\r\n[![Latest conda|conda-forge version](https://img.shields.io/conda/v/conda-forge/mtpy-v2.svg)](https://anaconda.org/conda-forge/mtpy-v2)\r\n[![codecov](https://codecov.io/gh/MTgeophysics/mtpy-v2/graph/badge.svg?token=TQPFBFMYDQ)](https://codecov.io/gh/MTgeophysics/mtpy-v2)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![Documentation Status](https://readthedocs.org/projects/mtpy-v2/badge/?version=latest)](https://mtpy-v2.readthedocs.io/en/latest/?badge=latest)\r\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/MTgeophysics/mtpy-v2/main)\r\n\r\n## Version 2.0.12\r\n\r\n# Description\r\n \r\n`mtpy` provides tools for working with magnetotelluric (MT) data.  MTpy-v2 is an updated version of [mtpy](https://github.com/MTgeophysics/mtpy). Many things have changed under the hood and usage is different from mtpy v1. The main difference is that there is a central data type that can hold transfer functions and then read/write to your modeling program, plot, and analyze your data.  No longer will you need a directory of EDI files and then read them in everytime you want to do something.  You only need to build a project once and save it to an MTH5 file and you are ready to go. All metadata uses [mt-metadata](https://github.com/kujaku11/mt-metadata).\r\n\r\n\r\n\r\n# Installation\r\n\r\n## Using Pip\r\n\r\n`> pip install mtpy-v2`\r\n\r\n## Using conda\r\n\r\n`> conda install -c conda-forge mtpy-v2`\r\n\r\n### Pardiso Solver\r\n\r\n`mtpy-v2` now include some tools to model and invert using `simpeg`. If you want to use the Pardiso solver you will need to install it separately. See the https://github.com/simpeg/pydiso for more information.  Below is a snippet from their recommendations. \r\n\r\n#### Installing from source\r\n\r\nThe wrapper is written in cython and links to the mkl libraries dynamically. Therefore,\r\nit needs to find the necessary header files associated with the MKL installation to compile.\r\nThe meson build backend uses pkg-config to identify the locations of the mkl header files\r\nand library dynamic libraries. Most development installations of MKL should provide the\r\nnecessary pkg-config files for this. For example, conda users can be install the necessary\r\nconfiguration information with `mkl-devel` package that is available on the default channel,\r\nconda-forge channel, the intel channel, or others, e.g.\r\n\r\n`conda install mkl-devel`\r\n\r\nIf you have installed the configuration files to a non-standard location, you will need to set\r\n`PKG_CONFIG_PATH` to point to that location.\r\n\r\nAfter the necessary MKL files are accessible, you should be able to install by running\r\n\r\n`pip install .`\r\n\r\nin the installation directory. \r\n\r\n\r\n# Functionality\r\n\r\n- Read/write transfer function files (EDI, EMTFXML, J-file, Z-file, AVG-file) using [mt-metadata](https://github.com/kujaku11/mt-metadata)\r\n- Read/write [MTH5](https://github.com/kujaku11/mth5) files for full surveys/project in a single file\r\n- Utility functions for GIS\r\n \r\n## Plotting\r\n\r\n- Single transfer function \r\n  - apparent resistivity and phase\r\n  - induction vectors\r\n  - phase tensors\r\n  - strike\r\n  - depth of investigation\r\n- Survey of transfer functions\r\n  - station map\r\n  - phase tensor and induction vector map and pseudosection\r\n  - apparent resistivity and phase maps and pseudosections\r\n  - depth of investigation map\t\r\n\r\n## Processing\r\n  - Read/write files for time series processing\r\n    - BIRRP\r\n    - [Aurora](https://github.com/simpeg/aurora)\r\n\r\n## Modeling\r\n\r\n- Read/Write files for modeling programs\r\n  - ModEM\r\n  - Occam 1D and 2D\r\n  - Mare2DEM (?)\r\n  - Pek 1D and 2D\r\n\r\n# What's been Updated in version 2\r\n\r\nThe main updates in `mtpy-v2` are:\r\n\r\n  - Remove dependence on EDI files, can be any type of transfer function file\r\n      - Supports (or will support) to/from:\r\n          - **EDI** (most common format)\r\n          - **ZMM** (Egberts EMTF output)\r\n          - **JFILE** (BIRRP output)\r\n          - **EMTFXML** (Kelbert's format)\r\n          - **AVG** (Zonge output)\r\n  - Uses [mt-metadata](https://github.com/kujaku11/mt_metadata>) to read and write transfer function files where the transfer function data are stored in an [xarray](https://docs.xarray.dev/en/stable/index.html)\r\n  - The workflow is more centralized by introducing `MTCollection` and `MTData` objects which are the databases to hold a collection of transfer functions and manipulate them\r\n    - Includes plotting methods, `to/from` data file types for modeling, rotations, interpolations, static shifts, etc.\r\n\t- Can store a collection as an MTH5 using [mth5](https://github.com/kujaku11/mth5)\r\n\r\n# Quick Example\r\n\r\nTypically MT data are collected as surveys and each station produces a single transfer function.  These are provided in various formats like EDI, EMTF XML, etc.\r\n\r\nOne benefit of mtpy-v2 is reading all these in only needs to be done once and places them in a single MTH5 file.\r\n\r\n```\r\nfrom pathlib import Path\r\nfrom mtpy import MTCollection\r\n\r\ntransfer_function_path = Path(\"/home/survey_00/transfer_functions\")\r\n\r\n# write directly to an MTH5 file and close when finished loading TFs\r\nwith MTCollection() as mc:\r\n    mc.open_collection(transfer_function_path.joinpath(\"tf_collection.h5\"))\r\n    mc.add_tf(\r\n        mc.make_file_list(\r\n            transfer_function_path,\r\n            file_types=[\"edi\", \"xml\", \"j\", \"zmm\", \"zss\", \"avg\"],\r\n        )\r\n    )\r\n \r\n```\r\n\r\nNow when you want to access your data again, you just need to open a single file.\r\n\r\n```\r\nmc = MTCollection()\r\nmc.open_collection(r\"/home/survey_00/transfer_functions/tf_collection.h5\")\r\n\r\n# plot station locations\r\nstation_locations = mc.plot_stations()\r\n```\r\n\r\n# How to Cite\r\n\r\nIf you use this software in a scientific publication, we'd very much appreciate if you could cite the following papers:\r\n\r\n- Kirkby, A.L., Zhang, F., Peacock, J., Hassan, R., Duan, J., 2019. The MTPy software package for magnetotelluric data analysis and visualisation. Journal of Open Source Software, 4(37), 1358. https://doi.org/10.21105/joss.01358\r\n   \r\n- Krieger, L., and Peacock, J., 2014. MTpy: A Python toolbox for magnetotellurics. Computers and Geosciences, 72, p167-175. https://doi.org/10.1016/j.cageo.2014.07.013\r\n\r\n\r\n\r\n# Contacts\r\n\r\n| **Jared Peacock**\r\n| peacock.jared@gmail.com\r\n\r\n| **Alison Kirkby**\r\n| alkirkby@gmail.com\r\n\r\n\r\n# System Requirements\r\n\r\n-  Python 3.8+\r\n\r\n\r\n# License\r\n\r\nMTpy is licensed under the MIT license\r\n\r\nThe license agreement is contained in the repository and should be kept together with the code.\r\n\r\n\r\n\r\n\r\nHistory\r\n=======\r\n\r\n2.0.0 (2022-10-20)\r\n---------------------\r\n\r\n* major changes under the hood.  \r\n    - Now using `mt_metadata` to read/write transfer function files\r\n\t- Now using `mth5` to store the transfer functions\r\n\t- Introduced `MT`, `MTCollection`, and `MTData` such that operations are more centralized. Now most methods can be called from `MT` and `MTData`\r\n\t- Removing older modules and group specific modules\r\n\t- Added GitActions for testing\r\n\t- Updating tests (still lots of work to do)\r\n\t- Updated documentation to upload to ReadTheDocs\r\n\r\n2.0.5 (2023-11-09)\r\n---------------------\r\n\r\n* bug fixes\r\n* now install simpeg for inversions, 1D implemented so far\r\n\r\n2.0.8 (2024-08-30)\r\n---------------------\r\n\r\n* Shapefiles by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/28\r\n* Added to ModEM module docs by @oaazeved in https://github.com/MTgeophysics/mtpy-v2/pull/32\r\n* Add tf quality by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/37\r\n* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/29\r\n* adding ability to just plot tipper by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/35\r\n* Updated default tippers to point towards a good conductor by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/41\r\n* Ak2 by @alkirkby in https://github.com/MTgeophysics/mtpy-v2/pull/43\r\n* Porting Aurora objects by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/45\r\n* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/40\r\n* @oaazeved made their first contribution in https://github.com/MTgeophysics/mtpy-v2/pull/32\r\n\r\n**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.7...v2.0.8\r\n\r\n2.0.9 (2024-08-30)\r\n----------------------\r\n\r\n* Check for Pardiso import by @kujaku11 in #48\r\n\r\n2.0.10 (2024-09-30)\r\n---------------------\r\n\r\n* Update testing_pip_import.yml by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/49\r\n* Kk/patches  by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/53\r\n* Optimize adding TF to MTCollection by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/52\r\n* @kkappler made their first contribution in https://github.com/MTgeophysics/mtpy-v2/pull/49\r\n\r\n**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.9...v2.0.10\r\n\r\n2.0.11 (2024-10-14)\r\n------------------------\r\n\r\n* Fix rotations again by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/57\r\n* Pin numpy versions <2.0 by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/62\r\n* Occam2d fixes by @alkirkby in https://github.com/MTgeophysics/mtpy-v2/pull/56\r\n* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/61\r\n\r\n**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.10...v2.0.11\r\n\r\n2.0.12 (2024-10-22)\r\n----------------------------\r\n\r\n* Fix rotations again by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/57\r\n* Pin numpy versions <2.0 by @kkappler in https://github.com/MTgeophysics/mtpy-v2/pull/62\r\n* Occam2d fixes by @alkirkby in https://github.com/MTgeophysics/mtpy-v2/pull/56\r\n* Updates by @kujaku11 in https://github.com/MTgeophysics/mtpy-v2/pull/61\r\n\r\n**Full Changelog**: https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.10...v2.0.12\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python toolkit for standard magnetotelluric data processing.",
    "version": "2.0.12",
    "project_urls": {
        "Homepage": "https://github.com/MTgeophysics/mtpy-v2"
    },
    "split_keywords": [
        "magnetotellurics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c9beeed508f1a9df7d707ecf50b6015a6056e1e61020fb0352dfcd04c153ed67",
                "md5": "8a9a09b816151c77423ec553796f977d",
                "sha256": "8e6aa5f294db914614d57f223f8538f93dce937c2b50e6e28030bd23fd3101cf"
            },
            "downloads": -1,
            "filename": "mtpy_v2-2.0.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8a9a09b816151c77423ec553796f977d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 482581,
            "upload_time": "2024-10-24T03:36:51",
            "upload_time_iso_8601": "2024-10-24T03:36:51.657453Z",
            "url": "https://files.pythonhosted.org/packages/c9/be/eed508f1a9df7d707ecf50b6015a6056e1e61020fb0352dfcd04c153ed67/mtpy_v2-2.0.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3151532728f8696aa337c8dd67e9b3549dd84ab1b376461991a3bae02e1271dc",
                "md5": "670db41c5b9b55a7f3f7783756a356cf",
                "sha256": "28650f05389dd8b4b0a0b2a6a25fc97454a3e81ae715b51b88cba04c9466e22c"
            },
            "downloads": -1,
            "filename": "mtpy-v2-2.0.12.tar.gz",
            "has_sig": false,
            "md5_digest": "670db41c5b9b55a7f3f7783756a356cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 21236616,
            "upload_time": "2024-10-24T03:37:02",
            "upload_time_iso_8601": "2024-10-24T03:37:02.406417Z",
            "url": "https://files.pythonhosted.org/packages/31/51/532728f8696aa337c8dd67e9b3549dd84ab1b376461991a3bae02e1271dc/mtpy-v2-2.0.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-24 03:37:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MTgeophysics",
    "github_project": "mtpy-v2",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "mtpy-v2"
}
        
Elapsed time: 3.79764s