Skip to content

Commit

Permalink
Merge pull request #296 from askap-vast/release-v2.0.0
Browse files Browse the repository at this point in the history
Release v2.0.0
  • Loading branch information
ddobie authored Oct 10, 2021
2 parents 104041d + 2ff9a11 commit 1c83e88
Show file tree
Hide file tree
Showing 114 changed files with 33,594 additions and 9,046 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/ci-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: ci docs
on:
push:
branches:
- master
- main
jobs:
deploy:
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'askap-vast' }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.x
- uses: Gr1N/setup-poetry@v4
- name: Cache Python dependencies
uses: actions/cache@v2
with:
path: ~/.cache/pypoetry/virtualenvs
key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }}
- name: Install python dependencies
run: poetry install
- name: Build and deploy docs
run: poetry run mkdocs gh-deploy -m 'github action deployment' --force
30 changes: 30 additions & 0 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: pytest

on: [pull_request]

jobs:
test:
runs-on: ubuntu-18.04
strategy:
fail-fast: false
matrix:
python_version: ['3.8', '3.9']

steps:
- uses: actions/checkout@v2

- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python_version }}
- uses: Gr1N/setup-poetry@v4
- name: Cache Python dependencies
uses: actions/cache@v2
with:
path: ~/.cache/pypoetry/virtualenvs
key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }}

- name: Install python dependencies
run: poetry install
- name: Run pytests
run: |
poetry run pytest --cov=vasttools -vv
7 changes: 7 additions & 0 deletions .pep8speaks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# File : .pep8speaks.yml

pycodestyle: # Same as scanner.linter value. Other option is flake8
ignore: # Errors and warnings to ignore
- E712 # comparison to False should be 'if cond is False:' or 'if not cond:'
- W503 # line break before binary operator
- W504 # line break after binary operator
108 changes: 108 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), with an added `List of PRs` section and links to the relevant PRs on the individal updates. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased](https://github.com/askap-vast/vast-tools/compare/v2.0.0...HEAD)

#### Added

#### Changed

#### Fixed

#### Removed

#### List of PRs

## [2.0.0](https://github.com/askap-vast/vast-tools/releases/v2.0.0) (2021-10-09)

**Note** Changelog started from PR[#273](https://github.com/askap-vast/vast-tools/pull/273) hence full notes are not available from before this point.

#### Added

- Added tools sub-module consisting of skymap/MOC interface tools [#277](https://github.com/askap-vast/vast-tools/pull/277).
- Added `get_supported_epochs` function to survey component [#294](https://github.com/askap-vast/vast-tools/pull/294).
- Added support for epoch 13 (formerly epoch 12) [#293](https://github.com/askap-vast/vast-tools/pull/293).
- Added new data files for epoch 12 [#293](https://github.com/askap-vast/vast-tools/pull/293).
- Added epoch 12 warnings for query and moc components in code and docs [#293](https://github.com/askap-vast/vast-tools/pull/293).
- Added pep8speaks config file to project [#290](https://github.com/askap-vast/vast-tools/pull/290).
- Added a method to recalculate the measurement pairs dataframe (two epoch metrics) [#290](https://github.com/askap-vast/vast-tools/pull/290).
- Docs badge on readme [#288](https://github.com/askap-vast/vast-tools/pull/288).
- Added unit testing for the codebase [#285](https://github.com/askap-vast/vast-tools/pull/285).
- Added documentation on tests [#285](https://github.com/askap-vast/vast-tools/pull/285).
- Added github workflow to run pytest on new PRs [#285](https://github.com/askap-vast/vast-tools/pull/285).
- Added documentation using the mkdocs framework [#273](https://github.com/askap-vast/vast-tools/pull/273).

#### Changed

- Minor documentation edits [#289](https://github.com/askap-vast/vast-tools/pull/289).
- Updated survey docs page to reflect previous refactoring [#294](https://github.com/askap-vast/vast-tools/pull/294).
- Changed all former epoch 12 data files to epoch 13 [#293](https://github.com/askap-vast/vast-tools/pull/293).
- Updated vaex-core version to 4.5.0 [#290](https://github.com/askap-vast/vast-tools/pull/290).
- Updated docs dependencies versions to fix notebook pages [#288](https://github.com/askap-vast/vast-tools/pull/288).
- Refactored data loading to use importlib.resources [#285](https://github.com/askap-vast/vast-tools/pull/285).
- Refactored some data loading to be method base [#285](https://github.com/askap-vast/vast-tools/pull/285).
- Moved `RELEASED_EPOCHS` and `ALLOWED_PLANETS` to top level import [#285](https://github.com/askap-vast/vast-tools/pull/285).
- Changed docstrings to google format for docs compatibility [#273](https://github.com/askap-vast/vast-tools/pull/273).

#### Fixed

- Fixed docs announcement bar link [#289](https://github.com/askap-vast/vast-tools/pull/289).
- Fixed test_query.py::TestQuery::test_init_failure_base_folder test [#291](https://github.com/askap-vast/vast-tools/pull/291).
- Fixed jsmin dependancy install (2.2.2 -> 3.0.0) [#285](https://github.com/askap-vast/vast-tools/pull/285).
- Remerged docs branch [#287](https://github.com/askap-vast/vast-tools/pull/287).
- Docs branch reverted to avoid squashing to make merge of tests straightforward [#286](https://github.com/askap-vast/vast-tools/pull/286).

#### Removed

- Removed MANIFEST.in file [#289](https://github.com/askap-vast/vast-tools/pull/289).
- Removed deprecated information from the survey docs page [#294](https://github.com/askap-vast/vast-tools/pull/294).
- Removed `EpochInfo` class from query as no longer used [#285](https://github.com/askap-vast/vast-tools/pull/285).

#### List of PRs

- [#289](https://github.com/askap-vast/vast-tools/pull/289): docs: Minor documentation edits.
- [#277](https://github.com/askap-vast/vast-tools/pull/277): tests, docs, feat, dep: Add skymap utils
- [#294](https://github.com/askap-vast/vast-tools/pull/294): docs, feat: Survey code tidy and docs correction.
- [#293](https://github.com/askap-vast/vast-tools/pull/293): feat: Added EPOCH13 support.
- [#290](https://github.com/askap-vast/vast-tools/pull/290): docs, dep, feat: Added a recalc two epoch metrics method.
- [#291](https://github.com/askap-vast/vast-tools/pull/291): tests: Fixed TestQuery::test_init_failure_base_folder test.
- [#288](https://github.com/askap-vast/vast-tools/pull/288): docs, dep: Updated docs dependencies.
- [#285](https://github.com/askap-vast/vast-tools/pull/285): test, feat, dep: Added codebase unit testing.
- [#287](https://github.com/askap-vast/vast-tools/pull/287): docs, dep: Documentation using mkdocs
- [#286](https://github.com/askap-vast/vast-tools/pull/286): docs, dep: Revert "Documentation using mkdocs (#273)"
- [#273](https://github.com/askap-vast/vast-tools/pull/273): docs, dep: Documentation using mkdocs
- [#274](https://github.com/askap-vast/vast-tools/pull/274): fix: fixing typo in exception
- [#270](https://github.com/askap-vast/vast-tools/pull/270): dep: Changed over dependency management to poetry
- [#264](https://github.com/askap-vast/vast-tools/pull/264): feat: Add negative selavy catalogues
- [#258](https://github.com/askap-vast/vast-tools/pull/258): feat: v2.0.0-rc.6
- [#257](https://github.com/askap-vast/vast-tools/pull/257): fix: Fix lightcurve axist limits for forced fits
- [#255](https://github.com/askap-vast/vast-tools/pull/255): fix: Added if statement to catch os.getenv returning None
- [#253](https://github.com/askap-vast/vast-tools/pull/253): feat: Added filter pipeline run by MOC function
- [#251](https://github.com/askap-vast/vast-tools/pull/251): fix: Check self.pipeline inside write_measurements
- [#247](https://github.com/askap-vast/vast-tools/pull/247): feat, dep: Updated forced photometry to be a dependency
- [#246](https://github.com/askap-vast/vast-tools/pull/246): fix: Fixed vaex two epoch metric analysis
- [#244](https://github.com/askap-vast/vast-tools/pull/244): fix, dep: Fix mocpy dependancy
- [#243](https://github.com/askap-vast/vast-tools/pull/243): fix: Fixed dropping level on empty dataframe and selavy-simple
- [#242](https://github.com/askap-vast/vast-tools/pull/242): dep: Frozen dependancies versions
- [#238](https://github.com/askap-vast/vast-tools/pull/238): feat: Update the example notebooks with pipeline catalogue crossmatching and new features
- [#236](https://github.com/askap-vast/vast-tools/pull/236): feat: Added pipeline sources SkyCoord convenience function
- [#235](https://github.com/askap-vast/vast-tools/pull/235): feat: Added recalc_sources functionality to pipeline
- [#232](https://github.com/askap-vast/vast-tools/pull/232): feat: Give project_dir precedence over environment variable
- [#230](https://github.com/askap-vast/vast-tools/pull/230): feat: Improve plotting capabilities
- [#228](https://github.com/askap-vast/vast-tools/pull/228): fix: Fix fits loc issue
- [#224](https://github.com/askap-vast/vast-tools/pull/224): fix: Changed lightcurve y axis start at 0 by default
- [#223](https://github.com/askap-vast/vast-tools/pull/223): fix: Fixes query checks with scaler SkyCoord entry

## [v2.0.0-rc.5](https://github.com/askap-vast/vast-tools/releases/v2.0.0-rc.5) (2020-10-20)

The release candidate 5 of v2.0.0. This was the release before the changelog was implemented.

#### List of PRs

- [#221](https://github.com/askap-vast/vast-tools/pull/221) feat: Pipeline add 2 epoch Mooley style plotting
- [#220](https://github.com/askap-vast/vast-tools/pull/220) fix: Issue 219 fix source names
- [#218](https://github.com/askap-vast/vast-tools/pull/218) fix: Removed bad fields from epoch 12 csv

43 changes: 43 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<!-- copied from https://vast-survey.org/policies.html -->
# Code Of Conduct

By joining the VAST collaboration you agree to adhere to the Code of Conduct below.
We are committed to making this collaboration productive and enjoyable for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, nationality or religion. We will not tolerate harassment of colleagues and students in any form.
To achieve this, VAST members must endeavour to work together in a cooperative way on scientific projects that fall within the scope of VAST. In particular all members must:

- Exercise their best professional and ethical judgement and carry out their duties and functions with integrity and objectivity;
- Act fairly and reasonably, and treat colleagues and students with respect, impartiality, courtesy and sensitivity;
- Avoid conflicts of interest;
- Adhere to the VAST membership and publication policies.

Please follow these guidelines in all your interactions (including online) within VAST:

- __Behave professionally__. Harassment and sexist, racist, or exclusionary comments or jokes are not appropriate. Harassment includes sustained disruption of talks or other events, inappropriate physical contact, sexual attention or innuendo, deliberate intimidation, stalking, and photography or recording of an individual without consent. It also includes offensive comments related to gender, sexual orientation, disability, physical appearance, body size, race or religion.
- __All communication should be appropriate__ for a professional audience including people of many different backgrounds. Sexual language and imagery is not appropriate.
- __Be kind to others__. Do not insult or put down other collaboration members.
- Participants asked to stop any inappropriate behaviour are expected to comply immediately. Members violating these rules may be asked to leave the collaboration at the discretion of the PIs.

Any participant who wishes to report a violation of this policy is asked to speak, in confidence, to Tara Murphy ([email protected]) or David Kaplan ([email protected]).

<!-- copied from https://github.com/scikit-learn/scikit-learn/blob/master/CODE_OF_CONDUCT.md as recommended by Joel Nothman from SIH -->
## Extra Guidelines

We are a community based on openness, as well as friendly and didactic discussions.

We aspire to treat everybody equally, and value their contributions.

Decisions are made based on technical merit and consensus.

Code is not the only way to help the project. Reviewing pull requests, answering questions to help others on mailing lists or issues, organizing and teaching tutorials, working on the website, improving the documentation, are all priceless contributions.

We abide by the principles of openness, respect, and consideration of others of the Python Software Foundation: https://www.python.org/psf/codeofconduct/

## Acknowledgements

We ask that all VAST publications (papers, ATELs, etc) include the line:
> _This work was done as part of the ASKAP Variables and Slow Transients (VAST) collaboration (Murphy et al. 2013, PASA, 30, 6)._
Separately, all refereed publications should carry the standard [CSIRO acknowledgement](https://www.atnf.csiro.au/research/publications/Acknowledgements.html):
> _The Australian SKA Pathfinder is part of the Australia Telescope National Facility which is managed by CSIRO. Operation of ASKAP is funded by the Australian Government with support from the National Collaborative Research Infrastructure Strategy. ASKAP uses the resources of the Pawsey Supercomputing Centre. Establishment of ASKAP, the Murchison Radio-astronomy Observatory and the Pawsey Supercomputing Centre are initiatives of the Australian Government, with support from the Government of Western Australia and the Science and Industry Endowment Fund. We acknowledge the Wajarri Yamatji people as the traditional owners of the Observatory site._
This project is supported by the University of Sydney, the Australian Research Council, and CSIRO.
21 changes: 21 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2020-2025 ASKAP VAST Organisation, The University of Sydney,

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
2 changes: 0 additions & 2 deletions MANIFEST.in

This file was deleted.

65 changes: 31 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,45 @@
# vast-tools
# VAST Tools

A Python module to interact with and obtain the VAST Pilot Survey data.
[![astropy](http://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat)](http://www.astropy.org/)
![Tests](https://github.com/askap-vast/vast-tools/actions/workflows/pytest.yml/badge.svg)
[![documentation](https://img.shields.io/badge/docs-mkdocs%20material-blue.svg?style=flat)](https://vast-survey.org/vast-tools/)

## Prerequisites
This repository holds the code of the VAST Tools, a Python module to interact with results from the VAST Pipeline and the VAST Pilot Survey data.

Python 3 (3.8.0 tested).
Please read the [Installation Instructions](https://vast-survey.org/vast-tools/getting_started/installation/). If you have any questions or feedback, we welcome you to open an [issue](https://github.com/askap-vast/vast-tools/issues).
If you are interested in contributing to the code, please refer to the [Contributing and Developing](https://vast-survey.org/vast-tools/contributing/develop/) section in the documentation.

Recommended to use an environment created with conda or virtualenv.
## Features

## Installation
* The ability to interactively explore results from the VAST Pipeline, which includes:
- Viewing light curves and postage stamps.
- Performing transient analysis.
- Crossmatching to external surveys.
- Allowing for custom analyses to be easily performed.
* Explore the VAST Pilot Survey footprints and check source coverage.
* Query the VAST Pilot Survey data directly.
* Perform forced extractions in the Pilot Survey data.
* Search for the Sun, Moon and planets in the data, including pipeline outputs.
* Notebook friendly package.


To install the module you can run
```
git clone https://github.com/askap-vast/vast-tools.git
pip install ./vast-tools
```
_Note that some features require access to the VAST Pilot Survey data._

There is a requirements.txt included in the repository that you can use to install the dependancies separately using
```
pip install -r requirements.txt
````
## Example Notebooks

## Notebook Usage
Take a look at the [example notebooks](https://github.com/askap-vast/vast-tools/tree/master/notebook-examples) section to see what is possible with VAST Tools!

As of version v2.0 the module has been made 'notebook friendly' and can be used interactively. See the `notebook-examples` directory in this repository for examples on how to use the module in a notebook environment. Note that for large queries it is better to use the `find_sources.py` script as pre version v2.0.
## Contributors

**Note**: Jupyter is not included in the requirements, hence please install the required packages to the environment if you wish to use a notebook interface.
* Adam Stewart – [Sydney Institute for Astronomy](https://sifa.sydney.edu.au/)
* Dougal Dobie – [Swinburne University of Technology/OzGrav](https://www.ozgrav.org)
* Andrew O'Brien – [Department of Physics, University of Wisconsin-Milwaukee](https://uwm.edu/physics/research/astronomy-gravitation-cosmology/)
* Tara Murphy – [Sydney Institute for Astronomy](https://sifa.sydney.edu.au/)
* David Kaplan – [Department of Physics, University of Wisconsin-Milwaukee](https://uwm.edu/physics/research/astronomy-gravitation-cosmology/)

## System Variables
## Acknowledgements

To save specifying the data directories in every call to VAST tools there are two system variables you can set that will be read by the module:
The VAST Tools development was supported by:

* `VAST_DATA_DIR`: The path to the VAST Pilot data, i.e. the path which contains the `EPOCHXX` folders.
* `PIPELINE_WORKING_DIR`: The path to the VAST Pipeline directory containing the pipeline runs.
* The Australian Research Council through grants FT150100099 and DP190100561.

These can be overridden by specifying a `base_folder` when initialising the `Query` class, and a `project_dir` when initialising the `Pipeline` class.

## Current Scripts
As part of the installation the following scripts are made available in your path:

* **pilot\_fields\_info.py** - A script to get basic information of VAST Pilot survey fields.
- See [PILOTFIELDSINFO.md](PILOTFIELDSINFO.md) for full instructions.
* **find\_sources.py** - A tool to swiftly search VAST Pilot data at chosen coordinates (also supports RACS if available).
- See [FINDSOURCES.md](FINDSOURCES.md) for full instructions and options.
* **build\_lightcurves.py** - A script to allow easy creation of source lightcurves on output of `find_sources.py`.
- As of v2.0 `find_sources.py` can also output lightcurves. This script can be useful if you'd like to regenerate them using different settings.
- See [BUILDLIGHTCURVES.md](BUILDLIGHTCURVES.md) for full instructions.
1 change: 1 addition & 0 deletions docs/changelog.md
1 change: 1 addition & 0 deletions docs/code_of_conduct.md
Loading

0 comments on commit 1c83e88

Please sign in to comment.