pybhpt 0.9.4__cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pybhpt might be problematic. Click here for more details.

@@ -0,0 +1,135 @@
1
+ Metadata-Version: 2.2
2
+ Name: pybhpt
3
+ Version: 0.9.4
4
+ Summary: Black Hole Perturbation Theory and Self-Force Algorithms in Python
5
+ Author-Email: Zach Nasipak <znasipak@gmail.com>
6
+ License: GPL
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Cython
9
+ Classifier: Programming Language :: C++
10
+ Classifier: License :: OSI Approved :: GNU General Public License (GPL)
11
+ Classifier: Natural Language :: English
12
+ Project-URL: Github, https://github.com/znasipak/pybhpt
13
+ Project-URL: Bug Tracker, https://github.com/znasipak/pybhpt/issues
14
+ Requires-Python: >=3.8
15
+ Requires-Dist: numpy<=2.2
16
+ Requires-Dist: scipy
17
+ Provides-Extra: testing
18
+ Requires-Dist: pytest; extra == "testing"
19
+ Requires-Dist: pytest-cov; extra == "testing"
20
+ Provides-Extra: dev
21
+ Requires-Dist: matplotlib; extra == "dev"
22
+ Requires-Dist: jupyter; extra == "dev"
23
+ Requires-Dist: ipython; extra == "dev"
24
+ Requires-Dist: ipykernel; extra == "dev"
25
+ Provides-Extra: extended
26
+ Requires-Dist: pandas; extra == "extended"
27
+ Requires-Dist: spherical; extra == "extended"
28
+ Requires-Dist: tqdm; extra == "extended"
29
+ Description-Content-Type: text/markdown
30
+
31
+ # pybhpt
32
+
33
+ A python package for solving problems in black hole perturbation theory
34
+
35
+ `pybhpt` is a collection of numerical tools for analyzing perturbations of Kerr spacetime, particularly the self-forces and metric-perturbations experienced by small bodies moving in a Kerr background. Subpackages include:
36
+
37
+ - `pybhpt.geodesic`: a module that generates bound timelike geodesics in Kerr spacetime
38
+ - `pybhpt.radial`: a module that calculates homogeneous solutions of the radial Teukolsky equation
39
+ - `pybhpt.swsh`: a module that constructs the spin-weighted spheroidal harmonics
40
+ - `pybhpt.teuk`: a module that evaluates the inhomogeneous solutions (Teukolsky amplitudes) of the radial Teukolsky equation due to a point-particle on a bound timelike Kerr geodesic
41
+ - `pybhpt.flux`: a module that produces the gravitational wave fluxes sourced by a point-particle on a generic bound timelike Kerr geodesic
42
+ - `pybhpt.hertz`: a module that solves for the Hertz potentials for the CCK and AAB metric reconstruction procedures
43
+ - `pybhpt.metric`: a module that produces the coefficients needed to reconstruct the metric from the Hertz potentials
44
+ - `pybhpt.redshift`: a module that computes the generalized Detweiler redshift invariant in a variety of gauges
45
+
46
+ ## Quick Installation
47
+
48
+ Tagged releases of `pybhpt` are available as wheel packages for macOS and 64-bit Linux on [PyPI](https://pypi.org/project/matplotlib/). Install using `pip`:
49
+ ```
50
+ python3 -m pip install pybhpt
51
+ ```
52
+
53
+ ## Developer Installation
54
+
55
+ `pybhpt` relies on several dependencies to install and run, namely a C/C++ compiler (e.g., `g++`), `gsl`, `boost`, `Cython`, `numpy`, `scipy`, and `python >= 3.8`. To reduce package conflicts and ensure that the proper dependencies are installed, we recommend using [conda](https://docs.conda.io/en/latest/) (paricularly through [Miniforge](https://github.com/conda-forge/miniforge)) and its virtual environments.
56
+
57
+ To create a conda environment `pybhpt-env` with just the necessary dependencies use `environment.yml`:
58
+ ```
59
+ conda env create -f environment.yml
60
+ conda activate pybhpt-env
61
+ ```
62
+ For an environment with the extended recommended software dependencies, one can replace `environment.yml` with `environment-extended.yml` or follow the extended `pip` install instructions below.
63
+
64
+ Next clone the `pybhpt` repository from GitHub:
65
+ ```
66
+ git clone https://github.com/znasipak/pybhpt.git
67
+ cd pybhpt
68
+ ```
69
+ The `boost` repository is included as a submodule under `extern/boost`. To activate the submodule:
70
+ ```
71
+ git submodule update --init --recursive extern/boost
72
+ ```
73
+ To include the Boost headers in the compilation path:
74
+ ```
75
+ cd extern/boost
76
+ chmod +x bootstrap.sh
77
+ ./bootstrap.sh
78
+ ./b2 headers
79
+ ```
80
+ Finally, we recommend installing the package via `pip`:
81
+ ```
82
+ pip install .
83
+ ```
84
+ or to get the basic development dependencies:
85
+ ```
86
+ pip install '.[dev, testing]'
87
+ ```
88
+ To get all recommended software:
89
+ ```
90
+ pip install '.[dev, testing, extended]'
91
+ ```
92
+ To ensure the package installed properly, run the unit tests via `pytest`:
93
+ ```
94
+ pytest .
95
+ ```
96
+
97
+ ## Conda Environments with Jupyter
98
+
99
+ To run the code in a Jupyter notebook, we recommend `pip` installing the following dependencies:
100
+ ```
101
+ pip install ipykernel matplotlib
102
+ ```
103
+ These dependencies are already included in `environment-extended.yml` or in the optional `pip install` dependencies. To make the environment accessible within Jupyter:
104
+ ```
105
+ python -m ipykernel install --user --name=pybhpt-env
106
+ ```
107
+
108
+ ## Uninstalling
109
+
110
+ If the package is installed using `pip`, then one can easily uninstall the package by executing
111
+ ```
112
+ pip uninstall pybhpt
113
+ ```
114
+ Developers may also need to remove the directories `build/` and `pybhpt.egg.info/` from the main repository.
115
+
116
+ ## Troubleshooting compiling from source
117
+
118
+ If there are problems compiling `pybhpt` from source, it may be because `cmake` cannot identify the correct compiler. To fix this issue, one can try to explicitly download the necessary compiler into their conda environment.
119
+
120
+ To include the necessary compiler on macOS Intel:
121
+ ```
122
+ conda install clang_osx-64 clangxx_osx-64
123
+ ```
124
+ To include the necessary compiler on macOS arm/silicon:
125
+ ```
126
+ conda install clang_osx-arm64 clangxx_osx-arm64
127
+ ```
128
+ To include the necessary compiler on Linux:
129
+ ```
130
+ conda install gcc_linux-64 gxx_linux-64
131
+ ```
132
+
133
+ ## Authors
134
+
135
+ Zachary Nasipak
@@ -0,0 +1,17 @@
1
+ cybhpt_full.cpython-313-x86_64-linux-gnu.so,sha256=r7vMSWpkSFSaxEO3ko0nPACRAFbxlj7698aucLP30lk,2312905
2
+ pybhpt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ pybhpt/flux.py,sha256=2ahStjbsswsWMNPfDiOlQIrzulJZrhaqoDENC0bCLE4,4299
4
+ pybhpt/geo.py,sha256=QyiwlXF0cIYSpkV7wC9-ITd2bqIumvXiIt2_uNlhJMc,12237
5
+ pybhpt/hertz.py,sha256=9atjscxbR7eszsY6BuJvcy0PqlgMFwYI23kUIn4mUwc,13565
6
+ pybhpt/metric.py,sha256=y8ip24rFto7m7rZb0-fuYMrYUmbCzInaWQVYJRI3m3o,11971
7
+ pybhpt/radial.py,sha256=2H3rH4XczAVCbKveHmPO2wt3w8ApPZYWCAwkwnxPnps,13995
8
+ pybhpt/redshift.py,sha256=ozDDbkv34FQ_Op3FotmHJ-J5Vfy2oF4_Ri1HRujnzAY,791
9
+ pybhpt/swsh.py,sha256=WjtpHNZ6c7RVxuml1I6_cEu8D6cb4hD6aiHZVwD7AeA,10462
10
+ pybhpt/teuk.py,sha256=w3tcidkaOGeywZPqjggacYhxaFxgsxXdMlJ2C7TwdMQ,8220
11
+ pybhpt.libs/libgomp-870cb1d0.so.1.0.0,sha256=Ta6ZPLbakQH8LP74JzBt0DuJIBHS4nicjkSCjKnyWDw,253289
12
+ pybhpt.libs/libgsl-70512a4e.so.28.0.0,sha256=IzjTG6gPJBMivHee_LBHmsH2M1vdouryoMkZe1Futl0,16144337
13
+ pybhpt.libs/libgslcblas-faf0af50.so.0.0.0,sha256=kZrH5mrJF0wijJ-nxFXxH9vmbQjO_GzXKVZXjvNH_UE,1391761
14
+ pybhpt-0.9.4.dist-info/METADATA,sha256=EMPVuX-dje_Xt0axnmQHVeuax7rV66-dPzXO0_92ehc,5386
15
+ pybhpt-0.9.4.dist-info/WHEEL,sha256=zbkYklYnhKsju8remyxaCOUQsLKaqzCDIyvbHqBHA-4,157
16
+ pybhpt-0.9.4.dist-info/RECORD,,
17
+ pybhpt-0.9.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: scikit-build-core 0.11.5
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-manylinux_2_24_x86_64
5
+ Tag: cp313-cp313-manylinux_2_28_x86_64
6
+