Skip to content

Commit d7974d1

Browse files
SunPyBotCadair
andauthored
Updates from package template (#299)
* Update cruft with batchpr * Update ci.yml * Update ci.yml * Update .pre-commit-config.yaml * Update README.rst * Update ci.yml --------- Co-authored-by: Stuart Mumford <stuart@cadair.com>
1 parent 4ec557f commit d7974d1

6 files changed

Lines changed: 94 additions & 61 deletions

File tree

.cruft.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"template": "https://github.com/sunpy/package-template",
3-
"commit": "4268346dead7b529a3d53df19bcf374bb2bbef34",
3+
"commit": "9599f755e4f7880fe20f0f07bbf500d8c41de34d",
44
"checkout": null,
55
"context": {
66
"cookiecutter": {
@@ -23,6 +23,7 @@
2323
"include_example_code": "n",
2424
"include_cruft_update_github_workflow": "y",
2525
"use_extended_ruff_linting": "n",
26+
"matrix_room_id": "",
2627
"_sphinx_theme": "sunpy",
2728
"_parent_project": "",
2829
"_install_requires": "",
@@ -32,7 +33,7 @@
3233
".github/workflows/sub_package_update.yml"
3334
],
3435
"_template": "https://github.com/sunpy/package-template",
35-
"_commit": "4268346dead7b529a3d53df19bcf374bb2bbef34"
36+
"_commit": "9599f755e4f7880fe20f0f07bbf500d8c41de34d"
3637
}
3738
},
3839
"directory": null

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "monthly"
7+
cooldown:
8+
default-days: 7

.github/workflows/ci.yml

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,11 @@ concurrency:
2727
group: ${{ github.workflow }}-${{ github.ref }}
2828
cancel-in-progress: true
2929

30+
permissions: {}
31+
3032
jobs:
3133
core:
32-
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
34+
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2 # zizmor: ignore[unpinned-uses]
3335
with:
3436
submodules: false
3537
coverage: codecov
@@ -43,8 +45,10 @@ jobs:
4345
sdist_verify:
4446
runs-on: ubuntu-latest
4547
steps:
46-
- uses: actions/checkout@v6
47-
- uses: actions/setup-python@v6
48+
- uses: actions/checkout@v6 # zizmor: ignore[unpinned-uses]
49+
with:
50+
persist-credentials: false
51+
- uses: actions/setup-python@v6 # zizmor: ignore[unpinned-uses]
4852
with:
4953
python-version: '3.13'
5054
- run: python -m pip install -U --user build
@@ -54,7 +58,7 @@ jobs:
5458

5559
test:
5660
needs: [core, sdist_verify]
57-
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
61+
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2 # zizmor: ignore[unpinned-uses]
5862
with:
5963
submodules: false
6064
coverage: codecov
@@ -71,7 +75,7 @@ jobs:
7175

7276
docs:
7377
needs: [core]
74-
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
78+
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2 # zizmor: ignore[unpinned-uses]
7579
with:
7680
default_python: '3.13'
7781
submodules: false
@@ -87,7 +91,7 @@ jobs:
8791
online:
8892
if: "!startsWith(github.event.ref, 'refs/tags/v')"
8993
needs: [docs]
90-
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
94+
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2 # zizmor: ignore[unpinned-uses]
9195
with:
9296
submodules: false
9397
coverage: codecov
@@ -96,26 +100,43 @@ jobs:
96100
envs: |
97101
- linux: py313-online
98102
99-
publish:
103+
build_dists:
100104
# Build wheels on PRs only when labelled. Releases will only be published if tagged ^v.*
101105
# see https://github-actions-workflows.openastronomy.org/en/latest/publish.html#upload-to-pypi
102106
if: |
103107
github.event_name != 'pull_request' ||
104108
(
105-
github.event_name != 'pull_request' && (
106-
github.ref_name != 'main' ||
107-
github.event_name == 'workflow_dispatch'
108-
)
109-
) || (
110109
github.event_name == 'pull_request' &&
111110
contains(github.event.pull_request.labels.*.name, 'Run publish')
112111
)
113112
needs: [test, docs]
114-
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v2
113+
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v2 # zizmor: ignore[unpinned-uses]
115114
with:
116-
python-version: "3.13"
115+
python-version: '3.13'
117116
test_extras: 'all,tests'
118117
test_command: 'pytest -p no:warnings --doctest-rst -m "not mpl_image_compare" --pyargs sunraster'
119118
submodules: false
120-
secrets:
121-
pypi_token: ${{ secrets.pypi_token }}
119+
save_artifacts: true
120+
upload_to_pypi: false
121+
122+
publish:
123+
if: startsWith(github.ref, 'refs/tags/v')
124+
name: Upload to PyPI
125+
runs-on: ubuntu-latest
126+
needs: [build_dists]
127+
permissions:
128+
id-token: write
129+
environment:
130+
name: pypi
131+
steps:
132+
- name: Download artifacts
133+
uses: actions/download-artifact@v8 # zizmor: ignore[unpinned-uses]
134+
with:
135+
merge-multiple: true
136+
pattern: dist-*
137+
path: dist
138+
139+
- run: ls -lha dist/
140+
141+
- name: Run upload
142+
uses: pypa/gh-action-pypi-publish@v1.13.0 # zizmor: ignore[unpinned-uses]

.github/workflows/sub_package_update.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,20 @@ on:
1313
# │ │ │ │ ┌───────── day of the week (0 - 6 or SUN-SAT)
1414
- cron: '0 7 * * 1' # Every Monday at 7am UTC
1515

16+
permissions: {}
17+
1618
jobs:
1719
update:
1820
runs-on: ubuntu-latest
1921
permissions:
2022
contents: write
2123
pull-requests: write
22-
strategy:
23-
fail-fast: true
2424
steps:
25-
- uses: actions/checkout@v6
25+
- uses: actions/checkout@v6 # zizmor: ignore[unpinned-uses]
26+
with:
27+
persist-credentials: false
2628

27-
- uses: actions/setup-python@v6
29+
- uses: actions/setup-python@v6 # zizmor: ignore[unpinned-uses]
2830
with:
2931
python-version: "3.14"
3032

@@ -50,8 +52,8 @@ jobs:
5052
id: cruft_update
5153
if: steps.check.outputs.has_changes == '1'
5254
run: |
53-
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
54-
git config --global user.name "${{ github.actor }}"
55+
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
56+
git config --global user.name "${GITHUB_ACTOR}"
5557
5658
cruft_output=$(cruft update --skip-apply-ask --refresh-private-variables)
5759
echo $cruft_output
@@ -77,7 +79,7 @@ jobs:
7779
7880
- name: Create pull request
7981
if: steps.cruft_json.outputs.has_changes == '1'
80-
uses: peter-evans/create-pull-request@v8
82+
uses: peter-evans/create-pull-request@v8 # zizmor: ignore[unpinned-uses]
8183
with:
8284
token: ${{ secrets.GITHUB_TOKEN }}
8385
add-paths: "."
@@ -102,7 +104,7 @@ jobs:
102104
issues: write
103105
steps:
104106
- name: Open an issue if workflow fails
105-
uses: actions/github-script@v7
107+
uses: actions/github-script@v8 # zizmor: ignore[unpinned-uses]
106108
with:
107109
github-token: ${{ github.token }}
108110
# This script is adapted from https://github.com/scientific-python/issue-from-pytest-log-action
@@ -150,7 +152,7 @@ jobs:
150152
repo: variables.name,
151153
body: issue_body,
152154
title: variables.title,
153-
labels: [variables.label],
155+
labels: [variables.label, "pre-commit.ci autofix"],
154156
});
155157
} else {
156158
await github.rest.issues.update({

.pre-commit-config.yaml

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,56 @@
11
repos:
2+
- repo: https://github.com/zizmorcore/zizmor-pre-commit
3+
rev: v1.23.1
4+
hooks:
5+
- id: zizmor
26
# This should be before any formatting hooks like isort
37
- repo: https://github.com/astral-sh/ruff-pre-commit
48
rev: "v0.15.4"
59
hooks:
610
- id: ruff
711
args: ["--fix"]
12+
types: [python]
13+
# Define here once and then reference using YAML anchor
14+
exclude: &exclude_dirs ^sunraster/(data|extern)/
815
- repo: https://github.com/PyCQA/isort
916
rev: 8.0.1
1017
hooks:
1118
- id: isort
12-
exclude: ".*(.fits|.fts|.fit|.header|.txt|tca.*|extern.*|{{ cookiecutter.module_name }}/extern)$"
19+
types: [python]
20+
exclude: *exclude_dirs
1321
- repo: https://github.com/pre-commit/pre-commit-hooks
1422
rev: v6.0.0
1523
hooks:
1624
- id: check-ast
25+
types: [python]
26+
exclude: *exclude_dirs
1727
- id: check-case-conflict
28+
types: [python]
29+
exclude: *exclude_dirs
1830
- id: trailing-whitespace
19-
exclude: ".*(.fits|.fts|.fit|.header|.txt)$"
31+
types_or: [python, rst]
2032
- id: check-yaml
33+
types: [yaml]
34+
exclude: *exclude_dirs
35+
- id: check-toml
36+
types: [toml]
37+
exclude: *exclude_dirs
2138
- id: debug-statements
39+
types: [python]
40+
exclude: *exclude_dirs
2241
- id: check-added-large-files
2342
args: ["--enforce-all", "--maxkb=1054"]
2443
- id: end-of-file-fixer
25-
exclude: ".*(.fits|.fts|.fit|.header|.txt|tca.*|.json)$|^CITATION.rst$"
44+
types_or: [python, rst]
2645
- id: mixed-line-ending
27-
exclude: ".*(.fits|.fts|.fit|.header|.txt|tca.*)$"
46+
types_or: [python, rst]
2847
- repo: https://github.com/codespell-project/codespell
2948
rev: v2.4.1
3049
hooks:
3150
- id: codespell
3251
args: [ "--write-changes" ]
52+
types_or: [python, rst]
53+
exclude: *exclude_dirs
3354
ci:
3455
autofix_prs: false
3556
autoupdate_schedule: "quarterly"

README.rst

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
sunraster
2-
=========
1+
``sunraster``
2+
=============
3+
4+
sunraster is an open-source Python library that provides the tools to read in and analyze spectrogram data.
35

46
|Latest Version| |codecov| |matrix| |DOI| |Powered by NumFOCUS| |Powered by SunPy|
57

@@ -77,37 +79,15 @@ Contributing
7779
We love contributions! sunraster is open source,
7880
built on open source, and we'd love to have you hang out in our community.
7981

80-
**Imposter syndrome disclaimer**: We want your help. No, really.
81-
82-
There may be a little voice inside your head that is telling you that you're not
83-
ready to be an open source contributor; that your skills aren't nearly good
84-
enough to contribute. What could you possibly offer a project like this one?
85-
86-
We assure you - the little voice in your head is wrong. If you can write code at
87-
all, you can contribute code to open source. Contributing to open source
88-
projects is a fantastic way to advance one's coding skills. Writing perfect code
89-
isn't the measure of a good developer (that would disqualify all of us!); it's
90-
trying to create something, making mistakes, and learning from those
91-
mistakes. That's how we all improve, and we are happy to help others learn.
82+
If you would like to get involved, check out the `Developers Guide`_ section of the SunPy docs.
83+
Stop by our chat room `#sunpy:openastronomy.org`_ if you have any questions.
84+
Help is always welcome so let us know what you like to work on, or check out the `issues page`_ for the list of known outstanding items.
9285

93-
Being an open source contributor doesn't just mean writing code, either. You can
94-
help out by writing documentation, tests, or even giving feedback about the
95-
project (and yes - that includes giving feedback about the contribution
96-
process). Some of these contributions may be the most valuable to the project as
97-
a whole, because you're coming to the project with fresh eyes, so you can see
98-
the errors and assumptions that seasoned contributors have glossed over.
86+
For more information on contributing to SunPy, please read our `Newcomers' guide`_.
9987

100-
For more information on contributing to sunraster, please read SunPy's `Newcomers' guide`_.
101-
102-
.. _SunPy mailing list: https://groups.google.com/forum/#!forum/sunpy
10388
.. _Developers Guide: https://docs.sunpy.org/en/latest/dev_guide/index.html
104-
.. _`#sunpy:openastronomy.org`: https://chat.openastronomy.org/#/room/#sunpy:openastronomy.org
89+
.. _`#sunpy:openastronomy.org`: https://app.element.io/#/room/#sunpy:openastronomy.org
10590
.. _issues page: https://github.com/sunpy/sunraster/issues
10691
.. _Newcomers' guide: https://docs.sunpy.org/en/latest/dev_guide/contents/newcomers.html
10792

108-
109-
Note: This disclaimer was originally written by
110-
`Adrienne Lowe <https://github.com/adriennefriend>`__ for a
111-
`PyCon talk <https://www.youtube.com/watch?v=6Uj746j9Heo>`__, and was adapted by
112-
sunraster based on its use in the README file for the
113-
`MetPy project <https://github.com/Unidata/MetPy>`__.
93+
When you are interacting with the SunPy community you are asked at to follow our `code of conduct <https://sunpy.org/coc>`__.

0 commit comments

Comments
 (0)