Skip to content

Commit

Permalink
Release commit created with Cranko.
Browse files Browse the repository at this point in the history
+++ cranko-release-info-v1
[[projects]]
qnames = ["pywwt", "npm"]
version = "1.8.0"
age = 0

[[projects]]
qnames = ["pywwt", "pypa"]
version = "0.24.0"
age = 0

+++
  • Loading branch information
cranko committed May 21, 2024
2 parents 3f7b793 + 8e5b658 commit 066b07c
Show file tree
Hide file tree
Showing 14 changed files with 139 additions and 114 deletions.
6 changes: 5 additions & 1 deletion .readthedocs_env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,8 @@ dependencies:
- reproject
- setuptools
- sphinx
- sphinx-automodapi
# This pin is to work around a conda verification error
# that first appeared in the CI for https://github.com/WorldWideTelescope/pywwt/pull/375.
# At the time of writing this, the issue only occurs with sphinx-automodapi==0.17,
# which is the newest version.
- sphinx-automodapi=0.16
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# pypa:pywwt 0.24.0 (2024-05-21)

- Add an API to allow refreshing of the engine's tile cache (#375, @Carifio24).
This is not something that should be needed in any kind of regular usage, but
for long-lived applications that want to avoid page reloads, it can provide
an emergency means to unstick the data flow.
- Only require `qtpy` if one of the Qt options is enabled (#376, @Carifio24).
- Update Jupyter install requirements (#370, @Carifio24).
- Re-enable DOI registration (#371, @pkgw). The Cranko Zenodo support has been
updated to work with the new Zenodo API contracts.

The DOI of this release is [10.5281/zenodo.10385538][vdoi].

[vdoi]: 10.5281/zenodo.10385538


# pypa:pywwt 0.23.0 (2023-11-28)

- Update the Jupyter widget implementation to use ES6 class syntax (#368,
Expand Down
2 changes: 1 addition & 1 deletion ci/azure-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ jobs:
set -x
\conda install -y pytest-cov pytest-remotedata pytest-timeout
python setup.py build
pytest -v -s pywwt -p no:warnings --timeout=180 --timeout_method=thread --cov-report=xml --cov=pywwt
pytest -v -s pywwt -p no:warnings --timeout=1800 --timeout_method=thread --cov-report=xml --cov=pywwt
displayName: Test with coverage
- bash: bash <(curl -s https://codecov.io/bash)
Expand Down
62 changes: 30 additions & 32 deletions ci/azure-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,35 +111,33 @@ jobs:
- bash: shred ~/.npmrc
displayName: Clean up credentials

# 2023 Nov: temporarily disabling Zenodo; they have just updated their API and broken
# everything, and we want to ge a release out.
#- job: zenodo_publish
# pool:
# vmImage: ubuntu-latest
# variables:
# - group: Deployment Credentials
#
# steps:
# - template: azure-job-setup.yml
# parameters:
# setupCranko: true
#
# - bash: |
# set -xeuo pipefail
#
# if cranko show if-released --exit-code pypa:pywwt ; then
# cranko zenodo upload-artifacts --metadata=ci/zenodo.json5 $BASH_WORKSPACE/sdist/*.tar.gz
# fi
# displayName: Upload source tarball
# env:
# ZENODO_TOKEN: $(ZENODO_TOKEN)
#
# - bash: |
# set -xeuo pipefail
#
# if cranko show if-released --exit-code pypa:pywwt ; then
# cranko zenodo publish --metadata=ci/zenodo.json5
# fi
# displayName: Publish to Zenodo
# env:
# ZENODO_TOKEN: $(ZENODO_TOKEN)
- job: zenodo_publish
pool:
vmImage: ubuntu-latest
variables:
- group: Deployment Credentials

steps:
- template: azure-job-setup.yml
parameters:
setupCranko: true

- bash: |
set -xeuo pipefail
if cranko show if-released --exit-code pypa:pywwt ; then
cranko zenodo upload-artifacts --metadata=ci/zenodo.json5 $BASH_WORKSPACE/sdist/*.tar.gz
fi
displayName: Upload source tarball
env:
ZENODO_TOKEN: $(ZENODO_TOKEN)
- bash: |
set -xeuo pipefail
if cranko show if-released --exit-code pypa:pywwt ; then
cranko zenodo publish --metadata=ci/zenodo.json5
fi
displayName: Publish to Zenodo
env:
ZENODO_TOKEN: $(ZENODO_TOKEN)
2 changes: 0 additions & 2 deletions ci/azure-job-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,6 @@ steps:
set -euo pipefail
source activate-conda.sh
set -x
# workaround for the Windows CI image:
conda install -y brotlipy
conda config --add channels conda-forge
conda config --set channel_priority strict
conda update -y --all
Expand Down
14 changes: 6 additions & 8 deletions ci/azure-sdist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,12 @@ jobs:
- bash: cranko release-workflow apply-versions
displayName: Apply Cranko versions

# 2023 Nov: temporarily disabling Zenodo; they have just updated their API and broken
# everything, and we want to ge a release out.
# - bash: |
# cranko zenodo preregister --metadata=ci/zenodo.json5 pypa:pywwt pywwt/_version.py CHANGELOG.md
# displayName: "Preregister Zenodo DOI"
# ${{ if and(eq(variables['Build.SourceBranchName'], 'rc'), ne(variables['build.reason'], 'PullRequest')) }}:
# env:
# ZENODO_TOKEN: $(ZENODO_TOKEN)
- bash: |
cranko zenodo preregister --metadata=ci/zenodo.json5 pypa:pywwt pywwt/_version.py CHANGELOG.md
displayName: "Preregister Zenodo DOI"
${{ if and(eq(variables['Build.SourceBranchName'], 'rc'), ne(variables['build.reason'], 'PullRequest')) }}:
env:
ZENODO_TOKEN: $(ZENODO_TOKEN)
- bash: |
set -xeuo pipefail
Expand Down
112 changes: 50 additions & 62 deletions ci/zenodo.json5
Original file line number Diff line number Diff line change
@@ -1,85 +1,73 @@
// See https://pkgw.github.io/cranko/book/latest/integrations/zenodo.html
// and https://developers.zenodo.org/#representation

{
conceptrecid: '7164147',

metadata: {
upload_type: 'software',
language: 'eng',

// ** Keep this alphabetical by family name!!! **
creators: [
"conceptrecid": "7164147",
"metadata": {
"access_right": "open",
"creators": [
{
affiliation: 'Center for Astrophysics | Harvard & Smithsonian',
name: 'Carifio, Jonathan',
orcid: '0000-0002-7759-2601',
"affiliation": "Center for Astrophysics | Harvard & Smithsonian",
"name": "Carifio, Jonathan",
"orcid": "0000-0002-7759-2601"
},
{
affiliation: 'Heidelberg Institute for Theoretical Studies',
name: 'Gaibler, Volker',
orcid: '0000-0001-7581-7574',
"affiliation": "Heidelberg Institute for Theoretical Studies",
"name": "Gaibler, Volker",
"orcid": "0000-0001-7581-7574"
},
{
affiliation: 'Aperio Software',
name: 'Homeier, Derek',
orcid: '0000-0002-8546-9128',
"affiliation": "Aperio Software",
"name": "Homeier, Derek",
"orcid": "0000-0002-8546-9128"
},
{
affiliation: 'Winter Way',
name: 'Norman, Henrik',
orcid: '0000-0003-4189-3450',
"affiliation": "Winter Way",
"name": "Norman, Henrik",
"orcid": "0000-0003-4189-3450"
},
{
affiliation: 'Space Telescope Science Institute',
name: 'Otor, O. Justin',
orcid: '0000-0002-4679-5692',
"affiliation": "Space Telescope Science Institute",
"name": "Otor, O. Justin",
"orcid": "0000-0002-4679-5692"
},
{
affiliation: 'Aperio Software',
name: 'Robitaille, Thomas P.',
orcid: '0000-0002-8642-1329',
"affiliation": "Aperio Software",
"name": "Robitaille, Thomas P.",
"orcid": "0000-0002-8642-1329"
},
{
name: 'Subbarao, Jeffrey',
"name": "Subbarao, Jeffrey"
},
{
affiliation: 'Center for Astrophysics | Harvard & Smithsonian',
name: 'Williams, Peter K. G.',
orcid: '0000-0003-3734-3587',
"affiliation": "Center for Astrophysics | Harvard & Smithsonian",
"name": "Williams, Peter K. G.",
"orcid": "0000-0003-3734-3587"
},
{
affiliation: 'Center for Astrophysics | Harvard & Smithsonian',
name: 'ZuHone, John',
orcid: '0000-0003-3175-2347',
},
"affiliation": "Center for Astrophysics | Harvard & Smithsonian",
"name": "ZuHone, John",
"orcid": "0000-0003-3175-2347"
}
],

// Subset of HTML allowed here:
description: 'pywwt is the official toolkit for accessing WorldWide \
Telescope (WWT) from Python. Learn more at <a href="https://pywwt.readthedocs.io/">the pywwt website</a>.',

access_right: 'open',
license: 'BSD-3-Clause', // see https://spdx.org/licenses/

grants: [
// National Science Foundation:
{id: '10.13039/100000001::1550701'},

// As of 2022 August these grants are not in the OpenAIRE "Research Graph"
// and so Zenodo won't let us record them here. Test existence by
// GET'ing `https://zenodo.org/api/grants/$id`.
//
//{id: '10.13039/100000001::1642446'},
//{id: '10.13039/100000001::2004840'},
"description": "pywwt is the official toolkit for accessing WorldWide Telescope (WWT) from Python. Learn more at <a href=\"https://pywwt.readthedocs.io/\">the pywwt website</a>.",
"grants": [
{
"id": "10.13039/100000001::1550701"
}
],

// Keywords use an uncontrolled vocabulary (and so are of limited usefulness):
keywords: [
'Astronomy',
'Python',
'Visualization',
'WorldWide Telescope',
"keywords": [
"Astronomy",
"Python",
"Visualization",
"WorldWide Telescope"
],
"language": "eng",
"license": "BSD-3-Clause",
"publication_date": "2024-05-21",
"title": "pypa:pywwt 0.24.0",
"upload_type": "software",
"version": "0.24.0"
},
"conceptdoi": "10.5281/zenodo.7164147",
"record_id": "10385538",
"doi": "10.5281/zenodo.10385538",
"bucket_link": "https://zenodo.org/api/files/6029720a-d8ff-483a-a770-24e40c454989"
}
6 changes: 6 additions & 0 deletions frontend/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# npm:pywwt 1.8.0 (2024-05-21)

- Require version 0.17 of the research app, which adds an API for refreshing
the tile cache (#375, @Carifio24).


# npm:pywwt 1.7.0 (2023-11-28)

- Update the Jupyter widget implementation to use ES6 class syntax (#368,
Expand Down
4 changes: 2 additions & 2 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
},
"dependencies": {
"@jupyter-widgets/base": "^2 || ^3 || ^4 || ^5 || ^6",
"@wwtelescope/research-app": "^0.16.0",
"@wwtelescope/research-app": "^0.17.0",
"underscore": "^1"
},
"description": "WorldWide Telescope from Python",
Expand Down Expand Up @@ -42,5 +42,5 @@
"clean": "shx rm -rf dist",
"pywwt-export": "npm run build && npm pack && node pywwt-export.js"
},
"version": "1.7.0"
"version": "1.8.0"
}
6 changes: 3 additions & 3 deletions pywwt/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version_info = (0, 23, 0, 'final', 0) # cranko project-version tuple
version_info = (0, 24, 0, 'final', 0) # cranko project-version tuple

_specifier_ = {
"alpha": ".a",
Expand All @@ -18,5 +18,5 @@
)

# The strings are auto-updated by Cranko during formal releases:
version_doi = "xx.xxxx/dev-build.pypa:pywwt.version"
concept_doi = "xx.xxxx/dev-build.pypa:pywwt.concept"
version_doi = "10.5281/zenodo.10385538"
concept_doi = "10.5281/zenodo.7164147"
10 changes: 10 additions & 0 deletions pywwt/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -1372,3 +1372,13 @@ def _serialize_to_json(self, file, title, max_width, max_height):

def _save_added_data(self, dir):
self.layers._save_all_data_for_serialization(dir)

# Miscellaneous

def refresh_tile_cache(self):
"""
Clear the current cache of tiles.
Note that this should only be used when necessary, as any
previously downloaded tiles will need to be re-fetched.
"""
self._send_msg(event="clear_tile_cache")
3 changes: 2 additions & 1 deletion pywwt/tests/test_layers.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import pytest
from stat import S_IWGRP, S_IWOTH, S_IWUSR, S_IMODE
from tempfile import TemporaryDirectory
from warnings import catch_warnings

from . import assert_widget_image, wait_for_test, DATA
from ..conftest import RUNNING_ON_CI, QT_INSTALLED # noqa
Expand Down Expand Up @@ -285,7 +286,7 @@ def test_cartesian_layer(self):

# Make sure adding the layer doesn't emit any warnings, which previously
# happened due to a bug with the logic in the table layer initialization
with pytest.warns(None) as record:
with catch_warnings(record=True) as record:
layer = self.client.layers.add_table_layer(
table=table, coord_type="rectangular", x_att="x", y_att="y", z_att="z"
)
Expand Down
2 changes: 1 addition & 1 deletion pywwt/tests/test_qt_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from ..conftest import RUNNING_ON_CI


WAIT_TIME = 5 if RUNNING_ON_CI else 1
WAIT_TIME = 10 if RUNNING_ON_CI else 1
M42 = SkyCoord.from_name('M42')


Expand Down
8 changes: 7 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@
"numpy>=1.9",
"python-dateutil",
"pytz",
"qtpy",
"reproject>=0.8",
"requests",
"toasty>=0.18",
Expand All @@ -142,15 +141,22 @@
"qt": [
'PyQt5;python_version>="3"',
'PyQtWebEngine;python_version>="3"',
"qtpy",
],
"qt6": [
'PyQt6;python_version>="3"',
'PyQt6-WebEngine;python_version>="3"',
"qtpy",
],
"notebook": [
"wwt_kernel_data_relay",
"notebook",
],
"lab": [
"jupyterlab",
"nbclassic",
"notebook",
"wwt_kernel_data_relay",
],
},
entry_points={},
Expand Down

0 comments on commit 066b07c

Please sign in to comment.