Metadata-Version: 2.4
Name: hera_pspec
Version: 0.5.0
Summary: HERA Power Spectrum Estimator Code
Author: HERA Team
License: BSD 3-Clause License
        
        Copyright (c) 2017, Hydrogen Epoch of Reionization Array (HERA)
        All rights reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met:
        
        * Redistributions of source code must retain the above copyright notice, this
          list of conditions and the following disclaimer.
        
        * Redistributions in binary form must reproduce the above copyright notice,
          this list of conditions and the following disclaimer in the documentation
          and/or other materials provided with the distribution.
        
        * Neither the name of the copyright holder nor the names of its
          contributors may be used to endorse or promote products derived from
          this software without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        
Project-URL: Documentation, https://hera-pspec.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/HERA-Team/hera_pspec
Project-URL: Changelog, https://github.com/HERA-Team/hera_pspec/releases
Project-URL: Issues, https://github.com/HERA-Team/hera_pspec/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved
Classifier: Natural Language :: English
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Astronomy
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: numpy>=2.0
Requires-Dist: scipy
Requires-Dist: matplotlib>=3.0
Requires-Dist: pyuvdata>=3.2
Requires-Dist: astropy>=6.0
Requires-Dist: pyyaml
Requires-Dist: h5py
Requires-Dist: uvtools
Requires-Dist: hera-calibration>=3.7.4
Requires-Dist: typer
Requires-Dist: tqdm
Requires-Dist: typing-extensions>=4.5.0
Provides-Extra: docs
Requires-Dist: sphinx>=5.3.0; extra == "docs"
Requires-Dist: sphinx_rtd_theme>=1.1.1; extra == "docs"
Requires-Dist: readthedocs-sphinx-search>=0.1.1; extra == "docs"
Requires-Dist: nbsphinx; extra == "docs"
Requires-Dist: ipython; extra == "docs"
Requires-Dist: sphinx_autorun; extra == "docs"
Requires-Dist: numpydoc>=0.8; extra == "docs"
Requires-Dist: nbsphinx; extra == "docs"
Requires-Dist: mock==1.0.1; extra == "docs"
Provides-Extra: tests
Requires-Dist: coverage>=4.5.1; extra == "tests"
Requires-Dist: pytest<9.0,>=3.5.1; extra == "tests"
Requires-Dist: pytest-cov>=2.5.1; extra == "tests"
Requires-Dist: pytest-cases; extra == "tests"
Provides-Extra: dev
Requires-Dist: hera_pspec[doc,tests]; extra == "dev"
Requires-Dist: hera_pspec[tests]; extra == "dev"
Dynamic: license-file

**********************************************
``hera_pspec``: HERA delay spectrum estimation
**********************************************

|Run Tests| |codecov| |Documentation|


The ``hera_pspec`` library provides all of the tools and data structures
needed to perform a delay spectrum analysis on interferometric data. The
input data can be in any format supported by ``pyuvdata``, and the
output data are stored in HDF5 containers.

For usage examples and documentation, see
http://hera-pspec.readthedocs.io/en/latest/.

.. inclusion-marker-installation-do-not-remove

Installation
============

For users
---------

The package is installable, along with its dependencies, with PyPi. We
recommend using Anaconda and creating a new conda environment before
installing the package. You may wish to install some of the dependencies directly
with `conda` instead of `pip` before installing the package. This is especially
important for `jax` on MacOS:

::

   $ conda create -n hera_pspec python=3
   $ conda activate hera_pspec
   $ conda install jax
   $ python3 -m pip install hera_pspec

New versions are frequently released on PyPi.

For developers
--------------

If you are developing and/or want to use the latest working version
of ``hera_pspec``, you can directly install from the GitHub repository.

Preferred method of installation for users is simply ``pip install -e .``
(or ``pip install git+https://github.com/HERA-Team/hera_pspec``). This
will install required dependencies. See below for manual dependency
management.

Dependencies
^^^^^^^^^^^^

If you are using ``conda``, you may wish to install the following
dependencies manually to avoid them being installed automatically by
``pip``:

::

   $ conda install -c conda-forge "numpy>=1.15" "astropy>=2.0" h5py pyuvdata scipy matplotlib pyyaml jax

Developing
^^^^^^^^^^

If you are developing ``hera_pspec``, it is preferred that you do so in
a fresh ``conda`` environment. The following commands will install all
relevant development packages:

::

   $ git clone https://github.com/HERA-Team/hera_pspec.git
   $ cd hera_pspec
   $ conda create -n hera_pspec python=3
   $ conda activate hera_pspec
   $ conda env update -n hera_pspec -f ci/hera_pspec_tests.yml
   $ pip install -e . 

This will install extra dependencies required for testing/development as
well as the standard ones.

Running Tests
^^^^^^^^^^^^^

Uses the ``pytest`` package to execute test suite. From the source
``hera_pspec`` directory run: ``pytest``.

.. exclusion-marker-installation-do-not-remove

Running ``hera_pspec``
======================

See the documentation for an `overview and
examples <http://hera-pspec.readthedocs.io/en/latest/pspec.html>`__ of
how to run ``hera_pspec``. There are also some example Jupyter
notebooks, including
``examples/PS_estimation_examples.ipynb``
(a brief tutorial on how to create delay spectra), and
``examples/PSpecBeam_tutorial.ipynb`` 
(a brief tutorial on handling beam objects).

.. |Run Tests| image:: https://github.com/HERA-Team/hera_pspec/workflows/Run%20Tests/badge.svg
.. |codecov| image:: https://codecov.io/gh/HERA-Team/hera_pspec/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/HERA-Team/hera_pspec
.. |Documentation| image:: https://readthedocs.org/projects/hera-pspec/badge/?version=latest
   :target: https://readthedocs.org/projects/hera-pspec/badge/?version=latest
