Metadata-Version: 2.1
Name: pydiso
Version: 0.2.0
Summary: Wrapper for intel's pardiso implementation in the MKL
Keywords: sparse,solver,wrapper
Author-Email: SimPEG developers <josephrcapriotti@gmail.com>
License: MIT License
         
         Copyright (c) 2021 SimPEG
         
         Permission is hereby granted, free of charge, to any person obtaining a copy
         of this software and associated documentation files (the "Software"), to deal
         in the Software without restriction, including without limitation the rights
         to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         copies of the Software, and to permit persons to whom the Software is
         furnished to do so, subject to the following conditions:
         
         The above copyright notice and this permission notice shall be included in all
         copies or substantial portions of the Software.
         
         THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
         AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
         SOFTWARE.
         
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Cython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Natural Language :: English
Project-URL: Homepage, https://simpeg.xyz
Project-URL: Repository, https://github.com/simpeg/pydiso.git
Requires-Python: >=3.11
Requires-Dist: numpy>=1.22.4
Requires-Dist: scipy>=1.12
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Provides-Extra: coverage
Requires-Dist: coverage; extra == "coverage"
Provides-Extra: build
Requires-Dist: meson-python>=0.15.0; extra == "build"
Requires-Dist: meson; extra == "build"
Requires-Dist: ninja; extra == "build"
Requires-Dist: numpy>=2.0.0rc1; extra == "build"
Requires-Dist: cython>=3.1.0; extra == "build"
Requires-Dist: setuptools_scm; extra == "build"
Description-Content-Type: text/markdown

# pydiso

Pydiso is a python wrapper for the pardiso solver. It is currently implemented for the
Intel MKL's version of pardiso. Its goal is to expose the full functionality of pardiso
to python, allowing the user to customize it as necessary for their use cases.

# Installation

## Installing with conda 

```
conda install pydiso --channel conda-forge
```


## 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.
