Metadata-Version: 2.1
Name: spinw
Version: 3.2.0
Summary: Python library for spin wave calculations
Home-page: https://spinw.org
License: BSD-3-Clause
Author: Sándor Tóth
Requires-Python: >=3.8,<=3.12
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Physics
Provides-Extra: test
Requires-Dist: codecov (>=2.1.11) ; extra == "test"
Requires-Dist: flake8 (>=5.0) ; extra == "test"
Requires-Dist: libpymcr (>=0.1.3)
Requires-Dist: numpy (>=1.21.4,<2.0.0)
Requires-Dist: pytest (>=7.0.0) ; extra == "test"
Requires-Dist: pytest-cov (>=3,<5) ; extra == "test"
Requires-Dist: tox (>=3.0) ; extra == "test"
Requires-Dist: tox-gh-actions (>=2.11,<4.0) ; extra == "test"
Description-Content-Type: text/markdown

# pySpinW

This is an intial release of pySpinW as a `pip` installable wheel for python >= 3.8 and MATLAB >= R2021a

## Installation 

Please install with

```bash
pip install pyspinw*.whl
```

This package can now be used in python if you have a version of MATLAB or MCR available on the machine. 
The package will try to automatically detect your installation, however if it is in a non-standard location, the path and version will have to be specified.

```python
m = Matlab(matlab_version='R2023a', matlab_path='/usr/local/MATLAB/R2023a/')
```

## Example

An example would be:

```python
import numpy as np
from pyspinw import Matlab

m = Matlab()

# Create a spinw model, in this case a triangular antiferromagnet
s = m.sw_model('triAF', 1)

# Specify the start and end points of the q grid and the number of points
q_start = [0, 0, 0]
q_end = [1, 1, 0]
pts = 501

# Calculate the spin wave spectrum
spec = m.spinwave(s, [q_start, q_end, pts])
```

## Known limitations

At the moment graphics will not work on macOS systems and is disabled.

