diff --git a/.github/workflows/python-package.yml b/.github/workflows/tests.yml similarity index 97% rename from .github/workflows/python-package.yml rename to .github/workflows/tests.yml index 4b130ca..defc9a2 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/tests.yml @@ -1,7 +1,7 @@ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python -name: Python package +name: Tests on: push: diff --git a/README.md b/README.md index 1c8d164..c7fd30d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +[![GitHub release (with filter)](https://img.shields.io/github/v/release/BlackHolePerturbationToolkit/KerrGeoPy)](https://github.com/BlackHolePerturbationToolkit/KerrGeoPy/releases) +[![Test Status](https://github.com/BlackHolePerturbationToolkit/KerrGeoPy/actions/workflows/tests.yml/badge.svg)](https://github.com/BlackHolePerturbationToolkit/KerrGeoPy/actions) +[![PyPI - Version](https://img.shields.io/pypi/v/kerrgeopy)](https://pypi.org/project/kerrgeopy/) +[![Documentation Status](https://readthedocs.org/projects/kerrgeopy/badge/?version=latest)](https://kerrgeopy.readthedocs.io/en/latest/?badge=latest) +[![GitHub License](https://img.shields.io/github/license/BlackHolePerturbationToolkit/KerrGeoPy)](https://github.com/BlackHolePerturbationToolkit/KerrGeoPy/blob/main/LICENSE) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10126824.svg)](https://doi.org/10.5281/zenodo.10126824) + # KerrGeoPy KerrGeoPy is a python implementation of the [KerrGeodesics](https://bhptoolkit.org/KerrGeodesics/) Mathematica library. It is intended for use in computing orbital trajectories for extreme-mass-ratio inspirals (EMRIs). It implements the analytical solutions for plunging orbits from [Dyson and van de Meent](https://arxiv.org/abs/2302.03704), as well as solutions for stable orbits from [Fujita and Hikida](https://arxiv.org/abs/0906.1420). The library also provides a set of methods for computing constants of motion and orbital frequencies. See the [documentation](https://kerrgeopy.readthedocs.io/en/latest/) for more information. @@ -9,6 +16,11 @@ Install the latest version of kerrgeopy using pip ```bash pip install kerrgeopy ``` + +> **Note** +> +> KerrGeoPy uses functions introduced in scipy 1.8, so it may also be necessary to update scipy by running `pip install scipy -U`, although in most cases this should be done automatically by pip. Certain plotting and animation functions also make use of features introduced in matplotlib 3.7 and rely on [ffmpeg](https://ffmpeg.org/download.html), which can be easily installed using [homebrew](https://formulae.brew.sh/formula/ffmpeg) or [anaconda](https://anaconda.org/conda-forge/ffmpeg). + ## Stable Bound Orbits Kerrgeopy computes orbits in Boyer-Lindquist coordinates $(t,r,\theta,\phi)$. Let $M$ to represent the mass of the primary body and let $J$ represent its angular momentum. Working in geometrized units where $G=c=1$, stable bound orbits are parametrized using the following variables: @@ -46,7 +58,7 @@ fig, ax = orbit.plot(0,10) -![png](README_files/Getting%20Started_3_0.png) +![png](https://raw.githubusercontent.com/BlackHolePerturbationToolkit/KerrGeoPy/main/README_files/Getting%20Started_3_0.png) @@ -91,7 +103,7 @@ plt.ylabel(r"$\phi(\lambda)$") -![png](README_files/Getting%20Started_6_1.png) +![png](https://raw.githubusercontent.com/BlackHolePerturbationToolkit/KerrGeoPy/main/README_files/Getting%20Started_6_1.png) @@ -218,7 +230,7 @@ plt.ylabel(r"$\phi(\lambda)$") -![png](README_files/Getting%20Started_15_1.png) +![png](https://raw.githubusercontent.com/BlackHolePerturbationToolkit/KerrGeoPy/main/README_files/Getting%20Started_15_1.png) @@ -273,7 +285,7 @@ plt.xlabel("$\lambda$") plt.ylabel(r"$\phi(\lambda)$") ``` -![png](README_files/Getting%20Started_20_1.png) +![png](https://raw.githubusercontent.com/BlackHolePerturbationToolkit/KerrGeoPy/main/README_files/Getting%20Started_20_1.png) ## Authors diff --git a/docs/source/index.rst b/docs/source/index.rst index c719dba..c859a6b 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -32,6 +32,10 @@ Install the latest version of kerrgeopy using pip pip install kerrgeopy +.. note:: + KerrGeoPy uses functions introduced in scipy 1.8, so it may also be necessary to update scipy by running :code:`pip install scipy -U`, although in most cases this should be done automatically by pip. + Certain plotting and animation functions also make use of features introduced in matplotlib 3.7 and rely on `ffmpeg `_, which can be easily installed using `homebrew `_ or `anaconda `_. + See `Getting Started `_ for basic usage. See the `API Reference`_ below or the `Modules <_autosummary/kerrgeopy.html>`_ page for a complete list of classes and methods.