Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@braingram
Copy link
Collaborator

@braingram braingram commented Jan 29, 2025

This PR adds support for python 3.13 (and sets the stcal dependency to main as that's the only version that supports 3.13).

Tasks

  • request a review from someone specific, to avoid making the maintainers review every PR
  • add a build milestone, i.e. Build 11.3 (use the latest build if not sure)
  • Does this PR change user-facing code / API? (if not, label with no-changelog-entry-needed)
    • write news fragment(s) in changes/: echo "changed something" > changes/<PR#>.<changetype>.rst (see below for change types)
    • update or add relevant tests
    • update relevant docstrings and / or docs/ page
    • start a regression test and include a link to the running job (click here for instructions)
      • Do truth files need to be updated ("okified")?
        • after the reviewer has approved these changes, run okify_regtests to update the truth files
  • if a JIRA ticket exists, make sure it is resolved properly
news fragment change types...
  • changes/<PR#>.general.rst: infrastructure or miscellaneous change
  • changes/<PR#>.docs.rst
  • changes/<PR#>.stpipe.rst
  • changes/<PR#>.datamodels.rst
  • changes/<PR#>.scripts.rst
  • changes/<PR#>.fits_generator.rst
  • changes/<PR#>.set_telescope_pointing.rst
  • changes/<PR#>.pipeline.rst

stage 1

  • changes/<PR#>.group_scale.rst
  • changes/<PR#>.dq_init.rst
  • changes/<PR#>.emicorr.rst
  • changes/<PR#>.saturation.rst
  • changes/<PR#>.ipc.rst
  • changes/<PR#>.firstframe.rst
  • changes/<PR#>.lastframe.rst
  • changes/<PR#>.reset.rst
  • changes/<PR#>.superbias.rst
  • changes/<PR#>.refpix.rst
  • changes/<PR#>.linearity.rst
  • changes/<PR#>.rscd.rst
  • changes/<PR#>.persistence.rst
  • changes/<PR#>.dark_current.rst
  • changes/<PR#>.charge_migration.rst
  • changes/<PR#>.jump.rst
  • changes/<PR#>.clean_flicker_noise.rst
  • changes/<PR#>.ramp_fitting.rst
  • changes/<PR#>.gain_scale.rst

stage 2

  • changes/<PR#>.assign_wcs.rst
  • changes/<PR#>.badpix_selfcal.rst
  • changes/<PR#>.msaflagopen.rst
  • changes/<PR#>.nsclean.rst
  • changes/<PR#>.imprint.rst
  • changes/<PR#>.background.rst
  • changes/<PR#>.extract_2d.rst
  • changes/<PR#>.master_background.rst
  • changes/<PR#>.wavecorr.rst
  • changes/<PR#>.srctype.rst
  • changes/<PR#>.straylight.rst
  • changes/<PR#>.wfss_contam.rst
  • changes/<PR#>.flatfield.rst
  • changes/<PR#>.fringe.rst
  • changes/<PR#>.pathloss.rst
  • changes/<PR#>.barshadow.rst
  • changes/<PR#>.photom.rst
  • changes/<PR#>.pixel_replace.rst
  • changes/<PR#>.resample_spec.rst
  • changes/<PR#>.residual_fringe.rst
  • changes/<PR#>.cube_build.rst
  • changes/<PR#>.extract_1d.rst
  • changes/<PR#>.resample.rst

stage 3

  • changes/<PR#>.assign_mtwcs.rst
  • changes/<PR#>.mrs_imatch.rst
  • changes/<PR#>.tweakreg.rst
  • changes/<PR#>.skymatch.rst
  • changes/<PR#>.exp_to_source.rst
  • changes/<PR#>.outlier_detection.rst
  • changes/<PR#>.tso_photometry.rst
  • changes/<PR#>.stack_refs.rst
  • changes/<PR#>.align_refs.rst
  • changes/<PR#>.klip.rst
  • changes/<PR#>.spectral_leak.rst
  • changes/<PR#>.source_catalog.rst
  • changes/<PR#>.combine_1d.rst
  • changes/<PR#>.ami.rst

other

  • changes/<PR#>.wfs_combine.rst
  • changes/<PR#>.white_light.rst
  • changes/<PR#>.cube_skymatch.rst
  • changes/<PR#>.engdb_tools.rst
  • changes/<PR#>.guider_cds.rst

@braingram braingram closed this Jan 29, 2025
@braingram braingram changed the title set stcal to main set stcal to main, allow python 3.13 Jan 29, 2025
@braingram braingram reopened this Jan 29, 2025
@github-actions github-actions bot added assign_wcs testing automation Continuous Integration (CI) and testing automation tools labels Jan 29, 2025
@tapastro
Copy link
Contributor

I just started regtests on this old PR: #8864

Should I kill that off and start one with this?

@codecov
Copy link

codecov bot commented Jan 29, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 73.73%. Comparing base (4ed4db8) to head (c15be58).
Report is 873 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9105      +/-   ##
==========================================
- Coverage   73.73%   73.73%   -0.01%     
==========================================
  Files         373      372       -1     
  Lines       37276    37285       +9     
==========================================
+ Hits        27486    27492       +6     
- Misses       9790     9793       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@braingram
Copy link
Collaborator Author

I just started regtests on this old PR: #8864

Should I kill that off and start one with this?

Thanks for checking. I'd say leave them running. I expect failures which would be reason to not rush allowing 3.13.

@tapastro
Copy link
Contributor

Perhaps worth adding an upper pin on 3.14 until we can test with it, once it exists? Opened #9110 to track reversion of #9106 - not sure if I did that in the proper git-wizard method but did my best.

@tapastro
Copy link
Contributor

Would it be overloading the PR to also drop python 3.10 support here?

@braingram
Copy link
Collaborator Author

Would it be overloading the PR to also drop python 3.10 support here?

I'd say yes. Is there anything preventing dropping python 3.10? The python 3.13 bump requires further regtest investigation right?

Perhaps worth adding an upper pin on 3.14 until we can test with it, once it exists? Opened #9110 to track reversion of #9106 - not sure if I did that in the proper git-wizard method but did my best.

Good idea on the upper pin! I'll add that to this PR.

@braingram braingram force-pushed the fix_build branch 3 times, most recently from 743910f to 260e63a Compare January 29, 2025 22:22
@tapastro
Copy link
Contributor

The test set run on the closed PR ( https://github.com/spacetelescope/RegressionTests/actions/runs/13037094545 ) were fairly promising - perhaps worth investigating a possible change in numerical behavior for WFSS background subtraction, but the bulk differences look fairly innocuous to me.

@braingram
Copy link
Collaborator Author

A fresh set of regtests with this PR and the python 3.13 regtest branch: https://github.com/spacetelescope/RegressionTests/actions/runs/13077580972

@braingram braingram marked this pull request as ready for review January 31, 2025 20:40
@braingram braingram requested a review from a team as a code owner January 31, 2025 20:40
@braingram
Copy link
Collaborator Author

Regtests show same failures as main
(example of the fgs failures on main: https://github.com/spacetelescope/RegressionTests/actions/runs/13080327495)

Copy link
Collaborator

@emolter emolter left a comment

Choose a reason for hiding this comment

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

It looks like there are two additional failing regtests on the first link you sent (PR branch) than on the second link (main), namely test_associations_sdp_pools. What's happening with that?

Also, should we add/update one of the CI jobs to build with 3.13?

@braingram
Copy link
Collaborator Author

braingram commented Feb 3, 2025

Thanks!

It looks like there are two additional failing regtests on the first link you sent (PR branch) than on the second link (main), namely test_associations_sdp_pools. What's happening with that?

The 'main' link I shared ran only the fgs tests. Here's the most recent scheduled run on main:
https://github.com/spacetelescope/RegressionTests/actions/runs/13103702612
showing both fgs and association failures.

Also, should we add/update one of the CI jobs to build with 3.13?

The build job runs cibuildwheel for all supported versions. With this PR this includes 3.13:
https://github.com/spacetelescope/jwst/actions/runs/13077462299/job/36493160941?pr=9105#step:8:1295
Is there something more you are looking for?

@tapastro
Copy link
Contributor

tapastro commented Feb 3, 2025

The PR causing the failing association tests is now ready for review: #9098

The FGS failures are due to a CRDS delivery prompted by yours truly, which has backfired. Working on a PR now to get those fixed up.

@emolter
Copy link
Collaborator

emolter commented Feb 3, 2025

The 'main' link I shared ran only the fgs tests. Here's the most recent scheduled run on main:
https://github.com/spacetelescope/RegressionTests/actions/runs/13103702612
showing both fgs and association failures.

Thanks, I realized that once I started going through the rest of my notifications this morning.

The build job runs cibuildwheel for all supported versions. With this PR this includes 3.13:
https://github.com/spacetelescope/jwst/actions/runs/13077462299/job/36493160941?pr=9105#step:8:1295
Is there something more you are looking for?

Thanks, I think this is good enough. I was looking at the environments where the actual unit test suite is run, but I suppose if it runs on 3.12 it'll run on 3.13

Copy link
Collaborator

@emolter emolter left a comment

Choose a reason for hiding this comment

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

LGTM but we should probably wait for Tyler too

@braingram
Copy link
Collaborator Author

Thanks, I think this is good enough. I was looking at the environments where the actual unit test suite is run, but I suppose if it runs on 3.12 it'll run on 3.13

Thanks for the clarification. py313-xdist: https://github.com/spacetelescope/jwst/actions/runs/13077462294/job/36493092566?pr=9105 is running in 3.13.

@braingram braingram requested a review from tapastro February 3, 2025 15:24
Copy link
Contributor

@tapastro tapastro left a comment

Choose a reason for hiding this comment

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

One last request, more housekeeping than anything: The quickstart and installation guide documentation both specify python=3.11 during conda environment creation - we should probably either remove the specification, now that we're compatible with the latest release, or at least increment to 3.13.

@braingram
Copy link
Collaborator Author

Thanks @tapastro. How does e604dc0 look?

You can install the latest development version (not as well tested) from the
Github main branch:

| >> conda create -n <env_name> python=3.11
Copy link
Contributor

@tapastro tapastro Feb 3, 2025

Choose a reason for hiding this comment

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

I think we need to keep the python specification on all of these, just remove the version pin. Sorry for the imprecise request.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

To clarify, do you want this to say python=3.13 or python=3.12? I don't think an unversioned qualifer (python) is supported (but I'm not a conda user so am not sure).

Copy link
Contributor

Choose a reason for hiding this comment

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

In the past, we did have an unqualified conda create -n <env_name> python, but I'm fine avoiding that to prevent undefined behavior. We can use either, but let's do 3.12 just because it's been thoroughly tested? 🤷

Copy link
Contributor

Choose a reason for hiding this comment

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

We've gathered some conflicts during my lack of a response - once this is clean I'll get it merged.

@melanieclarke melanieclarke mentioned this pull request Feb 3, 2025
10 tasks
@tapastro tapastro self-requested a review February 3, 2025 21:47
@tapastro tapastro merged commit 51f6907 into spacetelescope:main Feb 3, 2025
30 checks passed
@braingram braingram deleted the fix_build branch February 4, 2025 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

assign_wcs automation Continuous Integration (CI) and testing automation tools documentation installation testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants