Skip to content

Conversation

@emolter
Copy link
Collaborator

@emolter emolter commented Jan 14, 2025

Partially resolves JP-3769

Closes #

This PR adds basic code style rules to the repository using ruff. In particular, the "F", "E", and "W" rules are the same as those in default flake8. No changes to the pre-commit workflow are necessary, as it is already set up to do a style check with ruff, and it reads pyproject.toml to figure out which rules to use. See e.g. the CI run for this commit to verify that is the case.

I decided to blanket-ignore Jupyter notebooks because they lack any tests, but this could be revisited in the future.

Additional rules should be added in the future but it made sense to split them up in order to keep the number of changes tractable on each PR.

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

@emolter emolter added this to the Build 11.3 milestone Jan 14, 2025
@codecov
Copy link

codecov bot commented Jan 14, 2025

Codecov Report

Attention: Patch coverage is 56.25000% with 42 lines in your changes missing coverage. Please review.

Project coverage is 76.91%. Comparing base (24cfbcb) to head (2525dfc).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
jwst/ami/mask_definition_ami.py 66.66% 10 Missing ⚠️
jwst/fits_generator/input_file_types.py 0.00% 7 Missing ⚠️
jwst/ami/oifits.py 37.50% 5 Missing ⚠️
jwst/ami/ami_analyze_step.py 0.00% 4 Missing ⚠️
jwst/fits_generator/create_data.py 0.00% 4 Missing ⚠️
jwst/cube_build/ifu_cube.py 60.00% 2 Missing ⚠️
jwst/extract_1d/soss_extract/pastasoss.py 0.00% 2 Missing ⚠️
jwst/fits_generator/main.py 0.00% 2 Missing ⚠️
jwst/associations/lib/rules_level2_base.py 0.00% 1 Missing ⚠️
jwst/associations/lib/rules_level3_base.py 0.00% 1 Missing ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9076      +/-   ##
==========================================
- Coverage   76.92%   76.91%   -0.01%     
==========================================
  Files         498      498              
  Lines       45810    45800      -10     
==========================================
- Hits        35240    35229      -11     
- Misses      10570    10571       +1     
Flag Coverage Δ *Carryforward flag
nightly 77.39% <ø> (+0.01%) ⬆️ Carriedforward from 9e46aa8

*This pull request uses carry forward flags. Click here to find out more.

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

@emolter
Copy link
Collaborator Author

emolter commented Jan 15, 2025

@emolter emolter marked this pull request as ready for review January 15, 2025 15:25
@emolter emolter requested review from a team as code owners January 15, 2025 15:25
@emolter emolter marked this pull request as draft January 15, 2025 15:26
@emolter emolter marked this pull request as ready for review January 15, 2025 15:32
Copy link
Contributor

@stscirij stscirij left a comment

Choose a reason for hiding this comment

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

I looked at the FITS generator changes, and they look good to me

Copy link
Collaborator

@melanieclarke melanieclarke left a comment

Choose a reason for hiding this comment

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

These changes all look quite benign to me. I'd suggest a slightly broader exception for the os.remove catches, but since that change is in the fits_generator, it probably isn't too important.

@emolter emolter requested a review from melanieclarke January 16, 2025 14:25
Copy link
Collaborator

@melanieclarke melanieclarke left a comment

Choose a reason for hiding this comment

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

Looks like skymatch needs an update, but otherwise I think this looks ready to go. Did you want to wait for more reviews for the association code? The changes don't look at all controversial to me.

@emolter
Copy link
Collaborator Author

emolter commented Jan 16, 2025

Looks like skymatch needs an update, but otherwise I think this looks ready to go. Did you want to wait for more reviews for the association code? The changes don't look at all controversial to me.

Thanks, the skymatch changes just got merged so I missed them. Fixed now. No, I don't think it's necessary to wait for the review of the ASN stuff if you and I and the test suite all think it looks fine.

Copy link
Collaborator

@melanieclarke melanieclarke left a comment

Choose a reason for hiding this comment

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

Thanks for taking this on!

@melanieclarke melanieclarke merged commit 6893f47 into spacetelescope:main Jan 16, 2025
27 checks passed
@emolter emolter deleted the JP-3769 branch January 16, 2025 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment