diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 4ca405a..338f4f7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,40 +2,9 @@ Changelog ========= -Unreleased -========== +For latest release notes, see the +`GitHub releases page `_. -Documentation -------------- -- Added a tutorial that reproduces Pober (2015) HERA memo results. - -Fixed ------ -* Bug in ``dL_df`` (missing square). -* Use ``yaml.SafeLoader`` instead of ``yaml.FullLoader``. -* Bug when averaging from 2D to 1D that got about half the sensitivity. - -Changed -------- -* Many computations altered to use numpy vectorization over for loop implementations. - Including but not limited to: - - * 2D sensitivity calculation. - * 1D sensitivity calculation. - * UVW calculation as a function of time. - -* ``_utils.find_nearest`` can solve for the index of an array of inputs. - -Features --------- -* Added a parameter ``systematics_mask`` to ``PowerSpectrum`` sensitivity, which enables - arbitrary k-modes to be masked out in the sensitivity calculation. -* ``track`` option to ``Observation``. This is an alias for ``obs_duration`` but has - a closer resemblance to the original 21cmSense v1. -* New ``calculate_sensitivity_2d_grid`` method that makes it easier to obtain a gridded - cylindrical power spectrum sensitivity for arbitrary bins. -* Ability to use builtin observatories that set certain parameters. -* ``antpos.hera()`` can now return a split-core configuration, and also outriggers. v2.0.0 ====== @@ -62,3 +31,29 @@ Features * All quantities have appropriate units (from astropy). * Example documentation, and example configuration files. * Configuration files are no longer python files... they are YAML. +* Added a parameter ``systematics_mask`` to ``PowerSpectrum`` sensitivity, which enables + arbitrary k-modes to be masked out in the sensitivity calculation. +* ``track`` option to ``Observation``. This is an alias for ``obs_duration`` but has + a closer resemblance to the original 21cmSense v1. +* New ``calculate_sensitivity_2d_grid`` method that makes it easier to obtain a gridded + cylindrical power spectrum sensitivity for arbitrary bins. +* Ability to use builtin observatories that set certain parameters. +* ``antpos.hera()`` can now return a split-core configuration, and also outriggers. + + +Fixed +----- +* Bug in ``dL_df`` (missing square). +* Use ``yaml.SafeLoader`` instead of ``yaml.FullLoader``. +* Bug when averaging from 2D to 1D that got about half the sensitivity. + +Changed +------- +* Many computations altered to use numpy vectorization over for loop implementations. + Including but not limited to: + + * 2D sensitivity calculation. + * 1D sensitivity calculation. + * UVW calculation as a function of time. + +* ``_utils.find_nearest`` can solve for the index of an array of inputs. diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 03e758c..32e27d5 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -8,13 +8,9 @@ little bit helps, and credit will always be given. Bug reports/Feature Requests/Feedback/Questions =============================================== It is incredibly helpful to us when users report bugs, unexpected behaviour, or request -features. You can do the following: - - * `Report a bug ` - * `Request a Feature ` - * `Ask a Question ` - -When doing any of these, please try to be as succinct, but detailed, as possible, and use +features. You can do any one of these, or simply ask a question about how to use 21cmSense, +by filing an issue `here `_. +When doing this, please try to be as succinct, but detailed, as possible, and use a "Minimum Working Example" whenever applicable. Documentation improvements @@ -37,19 +33,23 @@ otherwise your changes will likely fail continuous integration. git clone git@github.com:your_name_here/21cmSense.git -2. Install `pre-commit `_ to do style checking automatically:: +2. Install the package in dev mode:: + + pip install -e .[dev] + +3. Install `pre-commit `_ to do style checking automatically:: pre-commit install -3. Create a branch for local development:: +4. Create a branch for local development:: git checkout -b name-of-your-bugfix-or-feature -4. When you're done making changes, run all the checks with `pytest `_:: +5. When you're done making changes, run all the checks with `pytest `_:: pytest -5. Commit your changes and push your branch to GitHub:: +6. Commit your changes and push your branch to GitHub:: git add . git commit -m "Your detailed description of your changes." diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst index faf7e72..0e6f035 100644 --- a/CONTRIBUTORS.rst +++ b/CONTRIBUTORS.rst @@ -1,11 +1,8 @@ -Author -====== - -`Jonathan Pober `_ + - Original author of the code. - `Steven Murray `_ - Update to Python 3 and usability enhancements. - `Matthew Kolopanis `_ diff --git a/README.rst b/README.rst index ffe08fd..7cddf45 100644 --- a/README.rst +++ b/README.rst @@ -2,17 +2,18 @@ 21cmSense ========= -.. image:: https://img.shields.io/pypi/pyversions/21cmSense - :alt: PyPI - Python Version +.. image:: https://img.shields.io/pypi/v/21cmSense + :alt: PyPI - Version + :target: https://pypi.org/project/21cmSense .. image:: https://codecov.io/gh/rasg-affiliates/21cmSense/branch/main/graph/badge.svg - :target: https://codecov.io/gh/rasg-affiliates/21cmSense + :target: https://codecov.io/gh/rasg-affiliates/21cmSense .. image:: https://img.shields.io/badge/code%20style-black-000000.svg - :target: https://github.com/psf/black + :target: https://github.com/psf/black .. image:: https://readthedocs.org/projects/21cmsense/badge/?version=latest - :target: https://21cmsense.readthedocs.io/en/latest/?badge=latest - :alt: Documentation Status + :target: https://21cmsense.readthedocs.io/en/latest/?badge=latest + :alt: Documentation Status .. image:: https://img.shields.io/github/license/Ileriayo/markdown-badges?style=flat - :target: ./LICENSE.rst + :target: ./LICENSE.rst A python package for calculating the expected sensitivities of 21cm experiments to the Epoch of Reionization and/or Cosmic Dawn power spectrum. @@ -28,6 +29,9 @@ using ``conda`` rather than them being automatically installed with pip:: $ conda install numpy scipy pyyaml astropy +To test that the package has installed correctly, install with ``pip install -e .[test]`` +and run ``pytest`` in the top-level directory. + For Development --------------- Clone/download the package and run ``pip install [-e] .[dev]`` in the top-level. @@ -38,6 +42,9 @@ pre-commit hook checks. We recommend using the ``commitizen`` tool to write commit messages -- we use the commit messages to do our versioning! +See the `contributing docs `_ +for more information about how to contribute to the project! + Usage ===== There are two ways to use this code: as a python library or via the CLI.