Skip to content

Commit

Permalink
Merge pull request #528 from icesat2py/development
Browse files Browse the repository at this point in the history
version 1.1.0 release
  • Loading branch information
JessicaS11 authored Jun 6, 2024
2 parents bab441d + a4431d5 commit 102405b
Show file tree
Hide file tree
Showing 92 changed files with 9,534 additions and 7,484 deletions.
5 changes: 4 additions & 1 deletion .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,10 @@
"avatar_url": "https://avatars.githubusercontent.com/u/19339926?v=4",
"profile": "https://whyjz.github.io/",
"contributions": [
"tutorial"
"tutorial",
"bug",
"code",
"review"
]
},
{
Expand Down
3 changes: 1 addition & 2 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[run]
branch = True
source = icepyx
omit =
omit =
setup.py
test/*
doc/*
6 changes: 3 additions & 3 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[flake8]
#GOAL: max_line_length = 79 or 99
max_line_length = 99
per-file-ignores =
per-file-ignores =
# too many leading '#' for block comment
*/tests/*:E266
# line too long (several test strs)
Expand All @@ -12,7 +12,7 @@ per-file-ignores =
doc/source/conf.py:E402

# GOAL: remove these ignores
ignore =
ignore =
# line too long
E501
# comparison syntax
Expand All @@ -38,4 +38,4 @@ ignore =

# GOAL:
# syntax check doctests in docstrings
# doctests = True
# doctests = True
2 changes: 1 addition & 1 deletion .github/workflows/binder-badge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ jobs:
steps:
- uses: manics/action-binderbadge@main
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
githubToken: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/get_pypi_stats.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ jobs:
author_name: learn2phoenix
message: "Pypi stats auto-update"
add: "./doc/source/tracking/pypistats/*"
# add: "./pypistats/*"
# add: "./pypistats/*"
3 changes: 1 addition & 2 deletions .github/workflows/linter_actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Run black linter
uses: psf/black@stable
uses: psf/black@stable
# use the flake8 linter to annotate improperly formatted code
# note linter arguments are supplied via the .flake8 config file
- name: Annotate PR after running flake8
uses: TrueBrain/actions-flake8@v2

4 changes: 2 additions & 2 deletions .github/workflows/publish_to_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
python-version: 3.9

- name: Install dependencies
run: python -m pip install setuptools wheel
run: python -m pip install build setuptools wheel

# This step is only necessary for testing purposes and for TestPyPI
- name: Fix up version string for TestPyPI
Expand All @@ -46,7 +46,7 @@ jobs:
- name: Build source and wheel distributions
run: |
python setup.py sdist bdist_wheel
python -m build
echo ""
echo "Generated files:"
ls -lh dist/
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/traffic_action.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# temporarily store GitHub traffic data
# from: https://github.com/marketplace/actions/repository-traffic
on:
schedule:
schedule:
# runs once a week on sunday
- cron: "55 23 * * 0"
# Trigger manually at https://github.com/icesat2py/icepyx/actions/workflows/publish_to_pypi.yml
Expand All @@ -20,19 +20,19 @@ jobs:
- uses: actions/checkout@v3
with:
ref: "traffic"

# Calculates traffic and clones and stores in CSV file
- name: GitHub traffic
- name: GitHub traffic
uses: sangonzal/[email protected]
env:
TRAFFIC_ACTION_TOKEN: ${{ secrets.TRAFFIC_ACTION_TOKEN }}
TRAFFIC_ACTION_TOKEN: ${{ secrets.TRAFFIC_ACTION_TOKEN }}

# Custom steps to move files to another dir and format plot
- name: Move files
run: |
pip install matplotlib pandas
python ./doc/source/tracking/traffic/traffic_data_mgmt.py
# Commits files to repository
- name: Commit changes
uses: EndBug/add-and-commit@v9
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/uml_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ on:
pull_request_review:
types: [submitted]
branches: development
workflow_dispatch:

jobs:
diagrams:
Expand All @@ -18,12 +19,13 @@ jobs:
run: |
pip install -U pip
pip install -r requirements.txt
pip install icepyx pylint
pip install icepyx pylint
sudo apt-get install graphviz
- name: run pyreverse
run: |
pyreverse ./icepyx/core -p user_uml -o svg
pyreverse ./icepyx/core -f ALL -p dev_uml -o svg
pyreverse ./icepyx/quest -p quest_user_uml -o svg
pyreverse ./icepyx/core ./icepyx/quest -f ALL -p dev_uml -o svg
rm ./packages_dev_uml.svg
mv ./*.svg ./doc/source/user_guide/documentation/
- name: Commit changes
Expand Down
1 change: 0 additions & 1 deletion .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,3 @@ David Shean <[email protected]>
Anna Valentine <[email protected]>
Bidhyananda Yadav <[email protected]>
Friedrich Knuth <[email protected]>

16 changes: 14 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
repos:
- repo: https://github.com/psf/black
rev: 23.12.0
rev: 24.4.2
hooks:
- id: black

# you can run `pre-commit autoupdate` to automatically update to the latest version of hooks!
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0 # Use the ref you want to point at
hooks:
- id: check-added-large-files
args: ["--maxkb=5000"]
- id: end-of-file-fixer
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]

ci:
autoupdate_schedule: monthly

# you can run `pre-commit autoupdate` to automatically update to the latest version of hooks!
12 changes: 10 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,16 @@ jobs:
include:
- stage: basic tests
script: pytest icepyx/ --verbose --cov app --ignore icepyx/tests/test_behind_NSIDC_API_login.py
after_success: codecov/codecov-action@v3

# includes an integrity check of the uploader as recommended by CodeCov
after_success:
- curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import # One-time step
- curl -Os https://uploader.codecov.io/latest/linux/codecov
- curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
- curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig
- gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
- shasum -a 256 -c codecov.SHA256SUM
- chmod +x codecov
- ./codecov -t ${CODECOV_TOKEN}
- stage: behind Earthdata
script:
- export EARTHDATA_PASSWORD=$NSIDC_LOGIN
Expand Down
46 changes: 23 additions & 23 deletions ATTRIBUTION.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Recognizing Contributions
=========================

We are extremely grateful to everyone who has contributed to the success of the icepyx community and software.
This document outlines our goals to give appropriate attribution to all contributors to icepyx in ways that are fair and diverse and supportive of professional goals.
This document outlines our goals to give appropriate attribution to all contributors to icepyx in ways that are fair and diverse and supportive of professional goals.
We define *contributions* broadly as:

Efforts towards achieving icepyx's goals, including (1) writing code, tests, or documentation,
Expand All @@ -21,11 +21,11 @@ We recognize contributions in the following ways.
Contributors List
-----------------

This project follows the `all-contributors <https://github.com/all-contributors/all-contributors>`_ specification.
This project follows the `all-contributors <https://github.com/all-contributors/all-contributors>`_ specification.
When you contribute to icepyx for the first time or in a new way, you or a maintainer can use the `All Contributors bot
to open a PR <https://allcontributors.org/docs/en/bot/usage>`_` to recognize your contribution.
Comment on an existing PR with `@all-contributors please add @<username> for <contributions>`.
This will add you (or your new contribution type) to the ``CONTRIBUTORS.rst`` file located in the top level directory;
This will add you (or your new contribution type) to the ``CONTRIBUTORS.rst`` file located in the top level directory;
the file is packaged and distributed with icepyx, so each release has a record of contributors and their contribution types.


Expand All @@ -41,8 +41,8 @@ If the user's full name is not available on GitHub, their GitHub handle is used.
Example Workflows
-----------------

Many of the example workflows included within icepyx were developed by individuals or small teams for educational or research purposes.
We encourage example developers to provide proper recognition for these efforts both within the notebook itself and
Many of the example workflows included within icepyx were developed by individuals or small teams for educational or research purposes.
We encourage example developers to provide proper recognition for these efforts both within the notebook itself and
by adding contributors to the `Contributors List`_ for attribution as describered herein.


Expand All @@ -58,7 +58,7 @@ we collectively represent the icepyx authors in citations (including Zenodo rele

As described above, a complete list of contributors and their contribution types is available via the `Contributors List`_.

** A note about releases <v0.6.4: Prior version releases adhere to authorship guidelines in place at the time,
** A note about releases <v0.6.4: Prior version releases adhere to authorship guidelines in place at the time,
listing individual contributors who had manually added their names to `CONTRIBUTORS.rst`.
Authorship order was alphebetical by last name, except in cases where
a substantial contribution was made by one or more contributors to a given release. **
Expand All @@ -67,25 +67,25 @@ As described above, a complete list of contributors and their contribution types
Peer-Reviewed Publications (Papers)
-----------------------------------

We will occasionally prepare manuscripts describing our software and its uses for submission to peer-reviewed journals.
These efforts are typically "in addition to" contributions made directly to icepyx (community or repository) and
We will occasionally prepare manuscripts describing our software and its uses for submission to peer-reviewed journals.
These efforts are typically "in addition to" contributions made directly to icepyx (community or repository) and
thus may have specific author lists.
To be eligible for authorship on a peer-reviewed publication, contributors must:

1. Contribute to the development (including code, documentation, and examples) of icepyx.
1. Contribute to the development (including code, documentation, and examples) of icepyx.
Substantial non-code contributions may constitute eligibility for authorship.
2. Contribute ideas, participate in authorship discussions (see next paragraph), write, read, and review the manuscript

2. Contribute ideas, participate in authorship discussions (see next paragraph), write, read, and review the manuscript
in a timely manner, and provide feedback (acknowledgement of review is sufficient, but we'd prefer more).

Author order will be determined based on co-author discussion, led by the publication preparation leader, ideally during the initial
planning stages of manuscript preparation (i.e. as soon as an idea matures into a potential manuscript and before writing begins).
Authorship will continue to be evaluated throughout the manuscript preparation process.
Discussions will consider authorship norms (e.g. How does author order convey participation and prestige?
How critical is first authorship to career advancement for each member of the team?
Do an individual's contributions meet authorship criteria or are they more suited to acknowledgements?).
Author order determination may also consider metrics such as the number of commits since the last major release
with an associated paper (``git shortlog vX.0.0...HEAD -sne``), contributions that do not have associated commits,
Author order will be determined based on co-author discussion, led by the publication preparation leader, ideally during the initial
planning stages of manuscript preparation (i.e. as soon as an idea matures into a potential manuscript and before writing begins).
Authorship will continue to be evaluated throughout the manuscript preparation process.
Discussions will consider authorship norms (e.g. How does author order convey participation and prestige?
How critical is first authorship to career advancement for each member of the team?
Do an individual's contributions meet authorship criteria or are they more suited to acknowledgements?).
Author order determination may also consider metrics such as the number of commits since the last major release
with an associated paper (``git shortlog vX.0.0...HEAD -sne``), contributions that do not have associated commits,
and contributions to the preparation of the manuscript.


Expand All @@ -94,20 +94,20 @@ Motivation and References

Concepts and models of attribution, credit, contribution, and authorship can vary across time, application, and communities.
`FORCE11 <https://force11.org/>`_ has an entire `Attribution Working Group <https://force11.org/groups/attribution-working-group/>`_ dedicated to working on attribution for research products.
`URSSI <https://urssi.us/>`_ hosted a workshop in 2019 (`report <https://urssi.us/blog/2019/03/24/report-from-urssi-workshop-on-software-credit-citation-and-metrics/>`_)
`URSSI <https://urssi.us/>`_ hosted a workshop in 2019 (`report <https://urssi.us/blog/2019/03/24/report-from-urssi-workshop-on-software-credit-citation-and-metrics/>`_)
to identify core issues and propose solutions to challenges around software credit.
For software, current best practices (`e.g. <https://arxiv.org/pdf/2012.13117.pdf>`_) emphasize the importance of having a document
such as this one to describe an individual community's policies for credit, authorship, and attribution.
This document is an effort to describe icepyx's policies, with an awareness that they may change
This document is an effort to describe icepyx's policies, with an awareness that they may change
to accomodate community growth, best practices, and feedback.

We do not attempt to identify contribution levels through the number of commits made to the repository (e.g. ``git shortlog -sne``)
or active engagement on GitHub (e.g. through issues, discussions, and pull requests) and Discourse.
The latter is difficult to quantify, and the use of squash merges into the development branch can mask the relative complexity
The latter is difficult to quantify, and the use of squash merges into the development branch can mask the relative complexity
of various contributions and does not necessarily capture significant conceptual contributions.


Copyright notice: Preparation of this document and our credit policies was inspired in part by these `authorship guidelines <https://github.com/fatiando/contributing/blob/master/AUTHORSHIP.md>`_ provided by `Fatiando a Terra <https://github.com/fatiando>`_
Copyright notice: Preparation of this document and our credit policies was inspired in part by these `authorship guidelines <https://github.com/fatiando/contributing/blob/master/AUTHORSHIP.md>`_ provided by `Fatiando a Terra <https://github.com/fatiando>`_
and `The Turing Way <https://the-turing-way.netlify.app/community-handbook/acknowledgement/acknowledgement-members.html>`_.
We encourage potential contributors to consider the resources provided by the `NASA High Mountain Asia Team (HiMAT) <https://highmountainasia.github.io/team-collaboration/authorship/>`_
and established or emerging best practices in their community.
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ license: BSD-3-Clause
identifiers:
- description: "All archived versions of icepyx."
type: doi
value: 10.5281/zenodo.7729175
value: 10.5281/zenodo.7729175
14 changes: 7 additions & 7 deletions CITATION.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ icepyx
------

This community and software is developed with the goal of supporting science applications.
Thus, our contributors (including those who have developed the packages used within icepyx)
Thus, our contributors (including those who have developed the packages used within icepyx)
and maintainers justify their efforts and demonstrate the impact of their work through citations.

If you have used icepyx in your work, please consider citing our library.
Expand All @@ -30,16 +30,16 @@ A bibtex version for users working in Latex::
publisher = {Zenodo},
url = "https://github.com/icesat2py/icepyx",
}

For more information on the "icepyx Developers", please see our `Attribution Guidelines <https://icepyx.readthedocs.io/en/latest/contributing/attribution_link.html>`_.
See our docs for a `full list of contributors <https://icepyx.readthedocs.io/en/latest/contributing/contributors_link.html>`_ and their contribution types.

icepyx Dependencies
-------------------
If you have used one of the included packages to extend your data analysis capabilities within icepyx,
please consider additionally citing that work, because it represents an independent software contribution to the open-source community.
`SciPy <https://www.scipy.org/index.html>`_ provides a `helpful resource <https://www.scipy.org/citing.html>`_ for citing
packages within the SciPy ecosystem (including Matplotlib, NumPy, pandas, and SciPy).
If you have used one of the included packages to extend your data analysis capabilities within icepyx,
please consider additionally citing that work, because it represents an independent software contribution to the open-source community.
`SciPy <https://www.scipy.org/index.html>`_ provides a `helpful resource <https://www.scipy.org/citing.html>`_ for citing
packages within the SciPy ecosystem (including Matplotlib, NumPy, pandas, and SciPy).
Links to citation information for other commonly used packages are below.

- `fiona <https://github.com/Toblerity/Fiona/blob/master/CITATION.txt>`_
Expand All @@ -52,4 +52,4 @@ Links to citation information for other commonly used packages are below.
ICESat-2 Data
-------------
ICESat-2 data citation depends on the exact dataset used.
Citation information for each data product can be found through the `NSIDC website <https://nsidc.org/data/icesat-2/data-sets>`_.
Citation information for each data product can be found through the `NSIDC website <https://nsidc.org/data/icesat-2/data-sets>`_.
Loading

0 comments on commit 102405b

Please sign in to comment.