Metadata-Version: 2.1
Name: rwlenspy
Version: 1.1.2
Summary: Lensing simulation from Fermat Potenials
Author: Zarif Kader
Author-email: kader.zarif@gmail.com
Requires-Python: >=3.9
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: Cython (>=0.29.33)
Requires-Dist: astropy (>=6.0.0)
Requires-Dist: matplotlib (>=3.8.2)
Requires-Dist: numpy (>=1.21.0)
Requires-Dist: scipy (>=1.7.0)
Requires-Dist: setuptools (>=66.1.1)
Description-Content-Type: text/markdown

# RWLensPy

This is a python package that generates observed morphologies and propagation transfer functions for radio wave propgation recorded by a radio telescope.

The code can be installed with:

`pip install rwlenspy`

## Examples

For examples see `examples/`. The image ray trace is shown in the `example_animate_*.py` files and how to get the coherent transfer function for a baseband simulation is shown in `example_transfer*.py`.

<img src="./examples/plots/singelens_spatial_freqslice.gif" width=42%>    <img src="./examples/plots/singlelens_baseband_spatial_arrival.gif" width=42%>

## Custom/Dev Install

The package is built with Poetry and Cython using C++11 and OpenMP. This requires having a compiler like `gcc` if one is editing the code. If one requires a dev install, this can be done with:

`poetry install --with test,dev`

`poetry run python`

Once installed, tests can be run with:

`poetry run pytest`

