Skip to content

Conversation

@QSparks
Copy link
Contributor

@QSparks QSparks commented Jun 13, 2025

  • PEP 621-conformant pyproject.toml
  • Poetry >2.0
  • Drop old setup files
  • Separate Black CI workflow
  • Keep all dependencies, including R deps in the pyproject.toml
  • Bump CI workflows
  • Use marble-dev01 URLs
  • Replace pkg_resources with importlib.resources

Pending:

  • Use tagged wps-tools version once merged
  • Use tagged nchelpers version once merged

@QSparks QSparks self-assigned this Jun 13, 2025
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@QSparks QSparks changed the title Py sprint 25q1 Maintenance updates Jun 13, 2025
@QSparks QSparks force-pushed the py-sprint-25q1 branch 3 times, most recently from f736547 to 4a37e41 Compare June 17, 2025 18:13
@QSparks QSparks marked this pull request as ready for review June 17, 2025 18:48
Copy link

@corviday corviday left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

I especially like all the poe scripts and the documentation of them, a lot of thought went into that.

# Development

This `docker-compose` is set up for development purposes. It will up a dev instance of `quail` with production settings. All you are required to do is to add the following lines to `birdhouse-config/env.local` running on `dev03`:
This `docker-compose` is set up for development purposes. It will up a dev instance of `quail` with production settings. All you are required to do is to add the following lines to `birdhouse-config/env.local` running on `marble-dev01`:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

- Push it: `git push`
- Push tag: `git push --tags`

See the [bumpversion](https://pypi.org/project/bumpversion/) documentation for details.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Huh, cool, I didn't know about that.

prepare-notebooks Download the output sanitizer config for notebook tests
test-notebooks Run all local notebook tests with sanitized output
test-notebooks-local Run notebook tests locally using nbval with sanitization
docs Convert notebooks to HTML for documentation

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of tasks, good documentation of them. 👍

name = "quail"
version = "0.7.1"
description = "A Web Processing Service for Climate Data Analysis."
authors = [{ name = "Nikola Rados", email = "nrados@uvic.ca" }]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps add yourself as an author?

env = { LOCAL_URL = "http://localhost:5000" }
help = "Run notebook tests locally using nbval with sanitization"

# [tool.poe.tasks.test-notebooks-prod]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these commented out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left them commented out because local manual runs are more practical for development. Redeploying to Marble is tedious and nbval sometimes shows failures that pass fine in JupyterLab.

"output_type": "stream",
"text": [
"Using quail on https://docker-dev03.pcic.uvic.ca/twitcher/ows/proxy/quail/wps\n"
"Using quail on https://marble-dev01.pcic.uvic.ca/twitcher/ows/proxy/quail/wps\n"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably a question for another PR, but should this be configured dynamically?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This essentially is, when viewed through the notebook preview it is the output text from running:

url = get_target_url("quail")
print(f"Using quail on {url}")

{
"cell_type": "code",
"execution_count": 1,
"execution_count": 12,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm just curious what the deal with all the changed execution_counts is?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is metadata referring to how many times a cell has executed. This could be relevant for non-linear executing notebooks, but it isn't important here. We could create a pre-commit action to clean up metadata and simplify future reviews. I'll open an issue for that improvement.

@QSparks QSparks merged commit f7c9ce5 into master Jun 20, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants