Metadata-Version: 2.4
Name: pygimli
Version: 1.6.1
Summary: Geophysical Inversion and Modelling Library
Author: Carsten Rücker, Thomas Günther, Florian Wagner
Author-email: mail@pygimli.org
License-Expression: Apache-2.0
Project-URL: Homepage, https://www.pygimli.org
Project-URL: Documentation, https://www.pygimli.org/documentation.html
Project-URL: Repository, https://github.com/gimli-org/gimli
Project-URL: Bug Tracker, https://github.com/gimli-org/gimli/issues
Project-URL: Changelog, https://github.com/gimli-org/gimli/releases
Keywords: Geophysical Inversion,Geophysical Modelling
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: setuptools>=75.8.2
Requires-Dist: scooby
Requires-Dist: pgcore
Requires-Dist: numpy>=2.4.0
Provides-Extra: build
Requires-Dist: pygccxml; extra == "build"
Requires-Dist: pyplusplus; extra == "build"
Requires-Dist: build; extra == "build"
Requires-Dist: twine; extra == "build"
Requires-Dist: wheel; extra == "build"
Requires-Dist: auditwheel; sys_platform == "linux" and extra == "build"
Requires-Dist: delvewheel; sys_platform == "win32" and extra == "build"
Requires-Dist: delocate; sys_platform == "darwin" and extra == "build"
Provides-Extra: opt
Requires-Dist: matplotlib; extra == "opt"
Requires-Dist: ipython; extra == "opt"
Requires-Dist: meshio; extra == "opt"
Requires-Dist: pyvista[all]; extra == "opt"
Requires-Dist: scipy<1.18; extra == "opt"
Requires-Dist: tetgen>=0.6.5; extra == "opt"
Requires-Dist: tqdm; extra == "opt"
Provides-Extra: test
Requires-Dist: pygimli[build,opt]; extra == "test"
Requires-Dist: tox; extra == "test"
Requires-Dist: ruff; extra == "test"
Requires-Dist: coverage[toml]; extra == "test"
Requires-Dist: pytest>=6.0; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-html; extra == "test"
Requires-Dist: pylint; extra == "test"
Provides-Extra: doc
Requires-Dist: pygimli[test]; extra == "doc"
Requires-Dist: bibtexparser; extra == "doc"
Requires-Dist: jupytext; extra == "doc"
Requires-Dist: linkify-it-py; extra == "doc"
Requires-Dist: myst_nb; extra == "doc"
Requires-Dist: pydata-sphinx-theme; extra == "doc"
Requires-Dist: gmsh; extra == "doc"
Requires-Dist: sphinx>=7.2; extra == "doc"
Requires-Dist: sphinxcontrib-bibtex; extra == "doc"
Requires-Dist: sphinxcontrib-doxylink; extra == "doc"
Requires-Dist: sphinxcontrib-programoutput; extra == "doc"
Requires-Dist: sphinx-gallery; extra == "doc"
Requires-Dist: sphinx_design; extra == "doc"
Requires-Dist: sphinx-copybutton; extra == "doc"
Provides-Extra: dev
Requires-Dist: pygimli[build,doc,opt,test]; extra == "dev"
Provides-Extra: all
Requires-Dist: pygimli[dev]; extra == "all"
Dynamic: license-file

<!---
Readme for Github repository only. (Gets selected before *.rst file)
-->

<a href="https://www.pygimli.org">
  <img src="https://www.pygimli.org/_images/pg_logo.png" width="50%">
</a>

[![pyGIMLi CI](https://github.com/gimli-org/pyGIMLi/actions/workflows/main.yml/badge.svg?branch=dev)](https://github.com/gimli-org/pyGIMLi/actions/workflows/main.yml)
[![Anaconda-Server Badge](https://anaconda.org/gimli/pygimli/badges/license.svg)](https://pygimli.org/license.html)
[![release](https://img.shields.io/github/release/gimli-org/gimli.svg?style=flat-square)](https://github.com/gimli-org/gimli/releases/latest)
[![Github commits (since latest release)](https://img.shields.io/github/commits-since/gimli-org/gimli/latest.svg?style=flat-square)](https://github.com/gimli-org/gimli/tree/dev)
[![Slack](https://img.shields.io/badge/pyGIMLi%20chat%20-%20mattermost?style=flat&logo=mattermost&label=mattermost&link=https%3A%2F%2Fmattermost.softwareunderground.org%2Fswung%2Fchannels%2Fpygimli
)](https://mattermost.softwareunderground.org/swung/channels/pygimli)

[pyGIMLi](https://www.pygimli.org) is an open-source library for modelling and inversion and in geophysics. The object-oriented library provides management for structured and unstructured meshes in 2D and 3D, finite-element and finite-volume solvers, various geophysical forward operators, as well as Gauss-Newton based frameworks for constrained, joint and fully-coupled inversions with flexible regularization.

What is pyGIMLi suited for?

- analyze, visualize and invert geophysical data in a reproducible manner
- forward modelling of (geo)physical problems on complex 2D and 3D geometries
- inversion with flexible controls on a-priori information and regularization
- combination of different methods in constrained, joint and fully-coupled inversions
- teaching applied geophysics (e.g. in combination with [Jupyter notebooks])

What is pyGIMLi **NOT** suited for?

- for people that expect a ready-made GUI for interpreting their data

[Jupyter notebooks]: https://jupyter.org

##### Installation

[![Anaconda-Server Badge](https://anaconda.org/gimli/pygimli/badges/platforms.svg)](https://anaconda.org/gimli/pygimli)
[![Anaconda-Server Badge](https://anaconda.org/gimli/pygimli/badges/downloads.svg)](https://anaconda.org/gimli/pygimli)
[![Anaconda-Server Badge](https://anaconda.org/gimli/pygimli/badges/version.svg)](https://anaconda.org/gimli/pygimli)
[![Anaconda-Server Badge](https://anaconda.org/gimli/pygimli/badges/latest_release_date.svg)](https://anaconda.org/gimli/pygimli)

pyGIMLi can be installed with many different package managers (e.g., pip, conda, uv, etc.). Please refer to [these instructions](https://www.pygimli.org/user-guide/getting-started/installation/) for more details.

##### Import convention

```python
import pygimli as pg
print(pg.__version__)
```

Check www.pygimli.org for additional information, detailed installation
instructions and many examples.

#### Citing pyGIMLi

More information can be found in [this paper]. If you use pyGIMLi for your work, please cite as:

> Rücker, C., Günther, T., Wagner, F.M., 2017. pyGIMLi: An open-source library for modelling and inversion in geophysics, Computers and Geosciences, 109, 106-123, doi: 10.1016/j.cageo.2017.07.011.

[this paper]: http://www.sciencedirect.com/science/article/pii/S0098300417300584/pdfft?md5=44253eaacd5490e3fb32210671672496&pid=1-s2.0-S0098300417300584-main.pdf

BibTeX code:

```sourceCode
@article{Ruecker2017,
  title = {{pyGIMLi}: An open-source library for modelling and inversion in geophysics},
  journal = {Computers and Geosciences},
  volume = {109},
  pages = {106--123},
  year = {2017},
  doi = {10.1016/j.cageo.2017.07.011},
  url = {https://www.sciencedirect.com/science/article/pii/S0098300417300584},
  author = {R\"ucker, C. and G\"unther, T. and Wagner, F. M.}
}
```

##### License

pyGIMLi is distributed under the terms of the **Apache 2.0** license. Details on
the license agreement can be found [here].

[here]: https://www.pygimli.org/about/#license

#### Credits

We use or link some third-party software (beside the usual tool stack: cmake, gcc, boost, python, numpy, scipy, matplotlib) and are grateful for all the work made by the authors of these awesome open-source tools:

* libkdtree++: Maybe abandoned, mirror: https://github.com/nvmd/libkdtree

* meshio: https://github.com/nschloe/meshio

* pyplusplus: https://pypi.org/project/pyplusplus/

* pyvista: https://docs.pyvista.org/

* suitesparse, umfpack: https://people.engr.tamu.edu/davis/suitesparse.html

* Tetgen: http://wias-berlin.de/software/index.jsp?id=TetGen&lang=1

* Triangle: https://www.cs.cmu.edu/~quake/triangle.html
