Skip to content

Commit

Permalink
Merge pull request #98 from pysat/rc_version_0.2.0
Browse files Browse the repository at this point in the history
RC version 0.2.0
  • Loading branch information
aburrell authored Mar 15, 2024
2 parents cb845b8 + 3d512a2 commit e07ca36
Show file tree
Hide file tree
Showing 49 changed files with 2,674 additions and 463 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ solve the problem.
- Other details about your setup that could be relevant

# Additional context
Add any other context about the problem here.
Add any other context about the problem here, including expected behaviour.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ the full context of your question.

## Configuration
- OS: [e.g. Hal]
- Version [e.g. Python 3.47]
- Version: [e.g. Python 3.47]
- Other details about your setup that could be relevant
3 changes: 2 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Description

Addresses # (issue)
Addresses #(issue)

Please include a summary of the change and which issue is fixed. Please also
include relevant motivation and context. List any dependencies that are required
Expand Down Expand Up @@ -47,6 +47,7 @@ Test B
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] Add a note to ``CHANGELOG.md``, summarizing the changes
- [ ] Update zenodo.json file for new code contributors

If this is a release PR, replace the first item of the above checklist with the
release checklist on the pysat wiki:
Expand Down
20 changes: 9 additions & 11 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
# This workflow will install Python dependencies, run tests and lint with a
# variety of Python versions. For more information see:
# https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Documentation Check

Expand All @@ -8,24 +9,21 @@ on: [push, pull_request]
jobs:
build:

runs-on: ubuntu-latest
runs-on: ["ubuntu-latest"]
strategy:
fail-fast: false
matrix:
python-version: [3.9]
python-version: ["3.11"]

name: Documentation tests
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r test_requirements.txt
pip install -r requirements.txt
- name: Install with dependencies
run: pip install .[doc]

- name: Set up pysat
run: |
Expand Down
51 changes: 38 additions & 13 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,47 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest] # TODO(76): add windows-latest
python-version: ["3.9", "3.10"]
numpy_ver: ["latest"]
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.10", "3.11"]
test_config: ["latest"]
include:
- python-version: "3.8"
numpy_ver: "1.21"
# NEP29 compliance settings
- python-version: "3.9"
numpy_ver: "1.23"
os: ubuntu-latest
test_config: "NEP29"
# Operational compliance settings
- python-version: "3.6.8"
numpy_ver: "1.19.5"
os: "ubuntu-20.04"
test_config: "Ops"

name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }}
name: ${{ matrix.test_config }} Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install standard dependencies
- name: Install Operational dependencies
if: ${{ matrix.test_config == 'Ops'}}
run: |
pip install numpy==${{ matrix.numpy_ver }}
pip install -r requirements.txt
pip install -r test_requirements.txt
pip install -r requirements.txt;
pip install .
- name: Install NEP29 dependencies
if: ${{ matrix.numpy_ver != 'latest'}}
if: ${{ matrix.test_config == 'NEP29'}}
run: |
pip install numpy==${{ matrix.numpy_ver }}
pip install --upgrade-strategy only-if-needed .[test]
- name: Install standard dependencies
if: ${{ matrix.test_config == 'latest'}}
run: pip install .[test]

- name: Set up pysat
run: |
Expand All @@ -54,9 +66,22 @@ jobs:
run: flake8 . --count --exit-zero --max-complexity=10 --statistics

- name: Test with pytest
run: pytest -x --cov=pysatMadrigal/
run: pytest

- name: Publish results to coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --rcfile=setup.cfg --service=github
COVERALLS_PARALLEL: true
run: coveralls --rcfile=pyproject.toml --service=github

finish:
name: Finish Coverage Analysis
needs: build
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip install --upgrade coveralls
coveralls --service=github --finish
41 changes: 41 additions & 0 deletions .github/workflows/pip_rc_install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# This workflow will install Python dependencies and the latest RC of
# pysatMadrigal from test pypi. This test should be manually run before an RC is
# officially approved and versioned. For more information see:
# https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Test install of latest RC from pip

on: [workflow_dispatch]

jobs:
build:
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.12"] # Keep this version at the highest supported Python version

name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install standard dependencies
run: pip install -r requirements.txt

- name: Install pysatMadrigal RC
run: pip install --no-deps --pre -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pysatMadrigal

- name: Set up pysat
run: |
mkdir pysatData
python -c "import pysat; pysat.params['data_dirs'] = 'pysatData'"
- name: Check that install imports correctly
run: |
cd ..
python -c "import pysatMadrigal; print(pysatMadrigal.__version__)"
39 changes: 25 additions & 14 deletions .github/workflows/pysat_rc.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
# This workflow will install Python dependencies, run tests and lint with a
# variety of Python versions. For more information see:
# https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Test with latest pysat RC

Expand All @@ -10,36 +11,46 @@ jobs:
strategy:
fail-fast: false
matrix:
# TODO(#76): add windows tests when bugs are sorted
os: [ubuntu-latest, macos-latest]
python-version: ["3.10"]
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.11"]

name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install pysat RC
run: pip install --no-deps -i https://test.pypi.org/simple/ pysat
run: pip install --pre -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pysat

- name: Install standard dependencies
run: |
pip install -r requirements.txt
pip install -r test_requirements.txt
- name: Install standard dependencies and package
run: pip install .[test]

- name: Set up pysat
run: |
mkdir pysatData
python -c "import pysat; pysat.params['data_dirs'] = 'pysatData'"
- name: Test with pytest
run: pytest -vs -x --cov=pysatMadrigal/
run: pytest

- name: Publish results to coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --rcfile=setup.cfg --service=github
COVERALLS_PARALLEL: true
run: coveralls --rcfile=pyproject.toml --service=github

finish:
name: Finish Coverage Analysis
needs: build
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip install --upgrade coveralls
coveralls --service=github --finish
25 changes: 25 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required version of readthedocs
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py


# Declare the Python requirements required to build your docs
python:
install:
- method: pip
path: .
extra_requirements:
- doc
31 changes: 31 additions & 0 deletions ACKNOWLEDGEMENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Funding
=======
The following institutions, missions, and programs have provided funding
for pysatMadrigal development.

Institutions
------------
- The Catholic University of America (CUA)
- Cosmic Studio
- Defense Advanced Research Projects Agency (DARPA) Defense Sciences Office
- National Aeronautics and Space Administration (NASA)
- National Science Foundation (NSF)
- Office of Naval Research (ONR)

Programs
--------
- NSF 125908, AGS-1651393
- Naval Research Laboratory N00173191G016 and N0017322P0744

Disclaimers
===========
Any opinions or actions taken by the listed funding institutions are those of
the institutions and do not necessarily reflect the views of the pysat development
team or individual authors. Any opinions, findings, and conclusions or recommendations
expressed in this material are those of the author(s) and do not necessarily reflect the views
of the funding agencies.

Support and Thanks
==================
Thanks to Bill Rideout, who provided help when learning how to use the
madrigalWeb package.
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,24 @@ Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/).

[0.2.0] - 2024-03-15
--------------------
* Enhancements
* Moved the OMNI-2 IMF, Dst, and Geomagnetic index Instruments from the
general Madrigal Pandas instrument into new ones
* Moved the NGDC AE index Instrument from the general Madrigal Pandas
instrument to a new one, fixing the Windows memory issue and a problem
with duplicated times
* Added slant TEC (tag of 'los') to the gnss_tec Instrument
* Refactored general load function to extract useful parts of the code that
were used for specific load functions
* Maintenance
* Add manual GitHub Actions tests for pysatMadrigal RC
* Update GitHub Actions workflows for newer versions of pip, updated actions
* Added clean warning test attributes to all Instruments
* Updated documentation to comply with current Ecosystem guidelines
* Replaced setup.py with pyproject.toml

[0.1.0] - 2023-04-11
--------------------
* Enhancements
Expand All @@ -16,6 +34,7 @@ This project adheres to [Semantic Versioning](https://semver.org/).
between '.' delimiters, required for some Madrigal file formats
* Standardized the Instrument method kwarg defaults
* Added 'site' tag to the GNSS TEC Instrument
* Added a 'dmsp_ssj' instrument for Auroral Boundary Index data
* Added support for varied use of `two_digit_year_break` to
`methods.general.list_remote_files`
* Implemented `two_digit_year_break` support for `vtec` GNSS TEC Instrument
Expand All @@ -29,11 +48,13 @@ This project adheres to [Semantic Versioning](https://semver.org/).
* Added quick-fail for main pytest command
* Bug
* Fixed bugs in the coordinate conversion functions
* Fixed bug in the general download function that sets the stop date
* Maintenance
* Updated GitHub action and NEP29 versions
* Updated the minimum Madrigal version to allow HDF4 downloads
* Update pysat instrument testing suite, pytest syntax
* Add manual GitHub Actions tests for pysat RC
* Removed code needed to work around pysat bugs

[0.0.4] - 2021-06-11
--------------------
Expand Down
15 changes: 11 additions & 4 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ project may be further defined and clarified by project maintainers.

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. The
project team will review and investigate all complaints, and will respond in a
way that it deems appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an
pysatMadrigal project team will review and investigate all complaints, and will
respond in a way that it deems appropriate to the circumstances. The project
team is obligated to maintain confidentiality with regard to the reporter of an
incident. Further details of specific enforcement policies may be posted
separately.

Expand All @@ -69,7 +69,14 @@ members of the project's leadership.
## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.4, available at [https://contributor-covenant.org/version/1/4][version]
version 1.4, available at
[https://contributor-covenant.org/version/1/4][version]

## FAQ

For answers to common questions about this code of conduct, see
[https://www.contributor-covenant.org/faq][faq]

[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/4/
[faq]: https://www.contributor-covenant.org/faq
Loading

0 comments on commit e07ca36

Please sign in to comment.