sunpy 7.0.2__tar.gz → 7.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sunpy-7.0.2 → sunpy-7.0.3}/.cruft.json +2 -2
- {sunpy-7.0.2 → sunpy-7.0.3}/CHANGELOG.rst +11 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/PKG-INFO +7 -4
- {sunpy-7.0.2 → sunpy-7.0.3}/_typos.toml +2 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/6.0.rst +1 -2
- {sunpy-7.0.2 → sunpy-7.0.3}/pyproject.toml +8 -3
- {sunpy-7.0.2 → sunpy-7.0.3}/pytest.ini +1 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/_version.py +3 -3
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_spice.py +2 -1
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/__init__.py +19 -8
- sunpy-7.0.3/sunpy/data/test/camera.npy +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/image/tests/test_transform.py +13 -6
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/image/transform.py +4 -4
- sunpy-7.0.3/sunpy/io/special/asdf/tests/__init__.py +3 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/mapbase.py +1 -1
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/mapsequence.py +3 -3
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/gong.py +3 -3
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_gong_magnetogram_source.py +10 -4
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_map_factory.py +1 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_mapbase.py +2 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_mapsequence.py +7 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/jsoc/attrs.py +28 -5
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/jsoc/tests/test_attr.py +29 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/test_attr.py +1 -1
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/physics/tests/test_differential_rotation.py +10 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/figure_hashes_mpl_382_ft_261_astropy_702_animators_121.json +1 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/figure_hashes_mpl_dev_ft_261_astropy_dev_animators_dev.json +2 -1
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/helpers.py +14 -1
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/self_test.py +1 -2
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/tests/test_timeseriesbase.py +6 -6
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_metadata.py +4 -4
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_sysinfo.py +33 -35
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy.egg-info/PKG-INFO +7 -4
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy.egg-info/SOURCES.txt +1 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy.egg-info/requires.txt +7 -3
- sunpy-7.0.2/sunpy/visualization/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/.coveragerc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/.flake8 +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/.isort.cfg +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/.ruff.toml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/CITATION.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/LICENSE.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/MANIFEST.in +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/README.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/Makefile +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/citation.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/conf.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/backports.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/ci_jobs.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/code_standards.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/conda_for_dependencies.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/dependencies.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/documentation.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/example_gallery.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/funding.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/images/actions_check_pr.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/images/actions_summary_check.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/images/checks.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/images/checks_pr.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/logger.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/maintainer_workflow.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/newcomers.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/pr_checklist.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/pr_review_procedure.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/public_api.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/remote_data_manager.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/tests.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/contents/units_quantities.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/dev_guide/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/coord_components.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/create_a_map.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/create_coords.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/create_custom_map.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/create_custom_timeseries.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/create_rectangle_on_map.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/fix_map_metadata.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/manipulate_grid_lines.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/observer_by_coordinate.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/parse_time.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/read_asdf_file.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/remote_data_manager.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/search_multiple_wavelengths.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/search_vso.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/how_to/transform_coords.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/make.bat +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/nitpick-exceptions +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/bibliography.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/coordinates/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/customization.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/data.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/image.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/internal_api.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/io.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/known_issues.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/map.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/net.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/physics.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/ssw.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/stability.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/sun.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/sunpy.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/sunpy_stability.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/time.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/timeseries.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/troubleshooting.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/util.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/reference/visualization.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/references.bib +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/robots.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/coordinates/carrington.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/coordinates/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/coordinates/rotatedsunframe.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/coordinates/rsun.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/coordinates/velocities.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/coordinates/wcs.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/custom_map_rotate.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/deprecation.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/extending_fido.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/history_comments.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/installation.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/logger.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/new_map_class.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/rsun.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/scraper_migration.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/topic_guide/timeseries_metadata.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/acquiring_data/hek.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/acquiring_data/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/acquiring_data/jsoc.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/coordinates.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/installation.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/maps.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/time.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/timeseries.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/tutorial/units.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/0.8.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/0.9.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/1.0.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/1.1-wispr.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/1.1.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/2.0.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/2.1.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/3.0.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/3.1.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/4.0.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/4.1.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/5.0.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/5.1.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/6.1.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/7.0-punch.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/7.0-suit.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/7.0.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/changelog.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/docs/whatsnew/index.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/acquiring_data/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/acquiring_data/downloading_cutouts.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/acquiring_data/fido_metadata_queries.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/acquiring_data/querying_and_loading_SHARP_data.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/acquiring_data/querying_the_GOES_event_list.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/acquiring_data/search_cdaweb.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/computer_vision_techniques/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/computer_vision_techniques/finding_masking_bright_pixels.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/computer_vision_techniques/loop_edge_enhance.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/computer_vision_techniques/mask_disk.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/computer_vision_techniques/off_limb_enhance.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/differential_rotation/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/differential_rotation/comparing_rotation_models.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/differential_rotation/differentially_rotated_coordinate.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/differential_rotation/differentially_rotated_gridlines.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/differential_rotation/reprojected_map.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/brightness_pixel_location.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/compare_rotation_results.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/composite_map_AIA_HMI.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/difference_images.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/hmi_contours_wcsaxes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/image_bright_regions_gallery_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/lasco_mask.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/map_contouring.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/map_data_histogram.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/map_from_numpy_array.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/map_metadata_modification.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/map_resampling_and_superpixels.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/map_rotation.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/map_segment.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/masking_hmi.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/plot_frameless_image.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/submaps_and_cropping.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map/track_active_region.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/autoalign_aia_hmi.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/projection_custom_origin.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/reprojection_aia_euvi_mosaic.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/reprojection_align_aia_hmi.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/reprojection_auto_extent.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/reprojection_carrington.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/reprojection_different_observers.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/reprojection_helioprojective_radial.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/reprojection_spherical_screen.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/map_transformations/upside_down_hmi.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/AIA_HMI_composite.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/adding_earth.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/aia_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/draw_wcs_extent.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/fading_between_maps.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/finding_local_peaks_in_solar_data.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/finegrained_plot.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/great_arc_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/grid_plotting.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/hmi_synoptic_maps.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/lasco_overlay.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/lat_lon_lines.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/limb_plotting.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/magnetogram_active_regions.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/map_editcolormap.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/masked_composite_plot.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/offdisk_contours.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/overplot_hek_polygon.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/plot_equator_prime_meridian.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/plot_rotated_rectangle.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/plotting_blank_map.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/quadrangle.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/screen_blend_mode.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/simple_differential_rotation.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/solar_cycle_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/sunpy_matplotlib_colormap.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/three_map_composite.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/wcsaxes_map_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/wcsaxes_plotting_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/plotting/xy_lims.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/saving_and_loading_data/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/saving_and_loading_data/coordinates_in_asdf.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/saving_and_loading_data/genericmap_in_asdf.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/saving_and_loading_data/genericmap_in_fits.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/saving_and_loading_data/load_adapt_fits_into_map.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/showcase/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/showcase/eclipse_amount.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/showcase/hmi_cutout.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/showcase/los_simulation_box_intersection.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/showcase/stereoscopic_3d.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/showcase/where_is_stereo.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/goes_hek_m25.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/goes_xrs_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/goes_xrs_nrt_data.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/power_spectra_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/timeseries_convolution_filter.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/timeseries_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/timeseries_peak_finding.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/time_series/timeseriesmetadata_example.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/AIA_limb_STEREO.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/AltAz_Coordinate_transform.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/ParkerSolarProbe_trajectory.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/README.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/SDO_to_STEREO_Coordinate_Conversion.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/STEREO_SECCHI_starfield.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/getting_lasco_observer_location.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/getting_observer_location.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/map_slit_extraction.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/north_offset_frame.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/planet_locations.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/radec_to_hpc_map.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/spice.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/examples/units_and_coordinates/venus_transit.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/licenses/ASTROPY.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/licenses/GLUE.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/licenses/README.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/licenses/TOWNCRIER.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/setup.cfg +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/setup.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/CITATION.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/conftest.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/_transformations.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/data/igrf13coeffs.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/ephemeris.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/frameattributes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/frames.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/metaframes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/offset_frame.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/screens.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/spice.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/sun.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/conftest.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/helpers.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/strategies.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_ephemeris.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_frameattributes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_frames.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_metaframes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_offset_frame.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_sun.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_transformations.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_utils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/tests/test_wcs_utils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/transformations.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/utils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/coordinates/wcs_utils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/README.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/The_Blue_Marble_150px.png +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/_sample.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/cache.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/downloader.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/manager.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/storage.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/conftest.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/db_testdata.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/mocks.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/test_cache.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/test_downloader.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/test_manager.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/data_manager/tests/test_storage.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/sample.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/sunpyrc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/2013_05_13__16_54_06_137__SOHO_LASCO_C3_white-light.jp2 +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/2013_06_24__17_31_30_84__SDO_AIA_AIA_193.jp2 +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/20181209_180305_kcor_l2.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/2022_04_01__00_00_45__SOLO-EUI-FSI_EUI_FSI_174.jp2 +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/2023_01_31__03_39_23_200__SDO_HMI_HMI_continuum.jp2 +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT/efz20040301.000010_s.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT/efz20040301.010016_s.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/SOHO_EIT_171_20070601T120013_L1.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/SOHO_EIT_195_20070601T121346_L1.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/SOHO_EIT_284_20070601T120607_L1.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/SOHO_EIT_304_20070601T121937_L1.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.000010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.010016_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.020010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.030011_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.040010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.050010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.060010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.070014_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.080010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.090010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.100010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.110010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EIT_header/efz20040301.120010_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/EVE_L0CS_DIODES_1m_truncated.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/FGMG4_20110214_030443.7.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/HinodeSOT.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/HinodeXRT.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/19960106SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/19960430SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/19960513SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20000922SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20000927SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20001001SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20020624SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20020628SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20100621SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20150101SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20150306SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SRS/20150906SRS.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SUT_T24_0847_000444_Lev1.0_2024-06-28T18.21.33.178_0971NB03.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SWAP/resampled0_swap.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SWAP/resampled1_swap.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SWAP/resampled2_swap.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/SWAP/resampled3_swap.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/YohkohSXT.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/_generate_asdf_test.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/adapt.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/aia_171_level1.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/aiamap_genericmap_1.0.0.asdf +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/aiamap_shift_genericmap_1.0.0.asdf +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/annotation_ppt.db +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/cor1_20090615_000500_s4c1A.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/dr_suvi-l2-ci195_g16_s20190403T093200Z_e20190403T093600Z_v1-0-0_rebinned.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/euvi_20090615_000900_n4euA_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/eve/eve_01.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/eve/eve_02.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/eve/eve_03.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/eve/eve_04.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/eve/eve_05.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/eve_l1_esp_2011046_00_truncated.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gbm.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/generated_sample.genx +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/go1520110607.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/go1520120601.fits.gz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/goes_13_leap_second.nc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gong_halpha.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gong_magnetogram.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gong_synoptic.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gzip_fits_test.file +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gzip_test.fit.gz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gzip_test.fits.gz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/gzip_test.fts.gz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/heliographic_phase_map.fits.gz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/hi_20110910_114721_s7h2A.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/hmi_bharp_vlos_mag.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/hmi_cea_sharp_magnetogram.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/hmi_sharp_magnetogram.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/hmi_synoptic.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/hsi_image_20101016_191218.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/hsi_obssumm_20120601_018_truncated.fits.gz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/iris_l2_20130801_074720_4040000014_SJI_1400_t000.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/lasco_c2_25299383_s.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/lasco_c3.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/lyra_20150101-000000_lev3_std_truncated.fits.gz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/mdi.fd_Ic.20101015_230100_TAI.data.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/mdi.fd_M_96m_lev182.20101015_191200_TAI.data.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/mdi_synoptic.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/not_actually_fits.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/observed-solar-cycle-indices-truncated.json +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/predicted-solar-cycle-truncated.json +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/psp_fld_l2_mag_rtn_1min_20200104_v02.cdf +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/punch.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/resampled_hmi.fits +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/sci_gxrs-l2-irrad_g13_d20170901_truncated.nc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/sci_gxrs-l2-irrad_g15_d20131028_truncated.nc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/sci_xrsf-l2-avg1m_g15_d20190102_truncated.nc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/sci_xrsf-l2-avg1m_g16_d20210101_truncated.nc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/sci_xrsf-l2-flx1s_g17_d20201016_truncated.nc +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/seit_00171_fd_19961211_1900.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/solo_L1_eui-fsi304-image_20201021T145510206_V03.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/solo_L1_swa-pas-mom_20200706_V01.cdf +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/solo_L2_epd-ept-north-hcad_20200713_V02.cdf +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/swap_lv1_20140606_000113.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/tca110810_truncated +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/test_ana.fz +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/tsi20010130_025823_a2.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/waveunit/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/waveunit/medn_halph_fl_20050501_074655.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/waveunit/mq130812.084253.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/waveunit/na120701.091058.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/test/waveunit/svsm_e3100_S2_20110625_1856.header +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/data/tests/test_sample.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/README.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/appdirs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/appdirs_license.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/distro.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/distro_license.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/inflect.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/inflect_license.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/parse.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/extern/parse_license.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/image/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/image/resample.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/image/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/image/tests/test_resample.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/_cdf.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/_file_tools.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/_fits.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/_header.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/_jp2.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/ana.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/setup_package.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/converters/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/converters/frames.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/converters/generic_map.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/entry_points.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/manifests/sunpy-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/manifests/sunpy-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/manifests/sunpy-1.1.1.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/manifests/sunpy-1.1.2.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/manifests/sunpy-1.2.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/manifests/sunpy-1.2.1.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/generic_map-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/generic_map-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/generic_map-1.1.1.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/generic_map-1.2.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geocentricearthequatorial-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geocentricearthequatorial-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geocentricsolarecliptic-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geocentricsolarecliptic-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geocentricsolarmagnetospheric-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geocentricsolarmagnetospheric-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geomagnetic-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/geomagnetic-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliocentric-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliocentric-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliocentricearthecliptic-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliocentricearthecliptic-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliocentricinertial-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliocentricinertial-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliographic_carrington-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliographic_carrington-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliographic_carrington-1.2.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliographic_carrington-1.3.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliographic_stonyhurst-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliographic_stonyhurst-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/heliographic_stonyhurst-1.2.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/helioprojective-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/helioprojective-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/helioprojectiveradial-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/helioprojectiveradial-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/solarmagnetic-1.0.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/resources/schemas/solarmagnetic-1.1.0.yaml +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/tests/hgc_100.asdf +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/tests/test_coordinate_frames.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/tests/test_genericmap.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/asdf/tests/test_time.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/genx.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/special/srs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/_pyana.c +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/anacompress.c +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/anacompress.h +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/anadecompress.c +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/anadecompress.h +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/anarw.c +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/anarw.h +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/src/ana/types.h +0 -0
- {sunpy-7.0.2/sunpy/io/special/asdf → sunpy-7.0.3/sunpy/io}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/generate_genx.pro +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/test_ana.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/test_cdf.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/test_filetools.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/test_fits.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/test_genx.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/test_jp2.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/io/tests/test_srs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/compositemap.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/header_helper.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/map_factory.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/maputils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/adapt.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/hinode.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/iris.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/mlso.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/proba2.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/psp.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/punch.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/rhessi.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/sdo.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/soho.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/solo.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/source_type.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/stereo.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/suit.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/suvi.py +0 -0
- {sunpy-7.0.2/sunpy/io → sunpy-7.0.3/sunpy/map/sources}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/helpers.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_adapt_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_aia_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_cor_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_eit_l1_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_eit_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_eui_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_euvi_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_gong_halpha_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_gong_synoptic_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_hi_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_hmi_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_hmi_synoptic_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_iris_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_kcor_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_lasco_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_mdi_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_punch_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_rhessi_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_sot_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_source_type.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_suit_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_suvi_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_swap_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_sxt_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_trace_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_wispr_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/tests/test_xrt_source.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/trace.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/sources/yohkoh.py +0 -0
- {sunpy-7.0.2/sunpy/map/sources → sunpy-7.0.3/sunpy/map}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/conftest.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/strategies.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_compositemap.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_header.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_header_helper.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_mapbase_dask.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_maputils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_plotting.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/map/tests/test_reproject_to.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/_attrs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/attr.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/attrs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/base_client.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/cdaweb/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/cdaweb/attrs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/cdaweb/cdaweb.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/cdaweb/data/attrs.json +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/cdaweb/helpers.py +0 -0
- {sunpy-7.0.2/sunpy/map/tests → sunpy-7.0.3/sunpy/net/cdaweb/test}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/cdaweb/test/test_cdaweb.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/cdaweb/walker.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/attrs/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/attrs/adapt.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/attrs/goes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/client.py +0 -0
- {sunpy-7.0.2/sunpy/net/cdaweb/test → sunpy-7.0.3/sunpy/net/dataretriever/sources}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/adapt.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/aia_synopsis.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/eve.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/fermi_gbm.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/goes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/gong.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/lyra.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/noaa.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/norh.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/rhessi.py +0 -0
- {sunpy-7.0.2/sunpy/net/dataretriever/sources → sunpy-7.0.3/sunpy/net/dataretriever/sources/tests}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_adapt.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_aia_synopsis.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_eve.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_fermi_gbm.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_goes_suvi.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_goes_ud.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_gong_synoptic.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_lyra_ud.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_noaa.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_norh.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/sources/tests/test_rhessi.py +0 -0
- {sunpy-7.0.2/sunpy/net/dataretriever/sources → sunpy-7.0.3/sunpy/net/dataretriever}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/dataretriever/tests/test_client.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/fido_factory.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/attrs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/data/coord_properties.json +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/data/unit_properties.json +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/hek.py +0 -0
- {sunpy-7.0.2/sunpy/net/dataretriever → sunpy-7.0.3/sunpy/net/hek}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/tests/test_hek.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/tests/test_utils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek/utils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek2vso/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek2vso/hek2vso.py +0 -0
- {sunpy-7.0.2/sunpy/net/hek → sunpy-7.0.3/sunpy/net/hek2vso}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/hek2vso/tests/test_hek2vso.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/helio/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/helio/attrs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/helio/chaincode.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/helio/hec.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/helio/parser.py +0 -0
- {sunpy-7.0.2/sunpy/net/hek2vso → sunpy-7.0.3/sunpy/net/helio}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/helio/tests/test_chaincode.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/helio/tests/test_helio.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/jsoc/__init__.py +0 -0
- {sunpy-7.0.2/sunpy/net/helio/tests → sunpy-7.0.3/sunpy/net/jsoc/data}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/jsoc/data/attrs.json +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/jsoc/jsoc.py +0 -0
- {sunpy-7.0.2/sunpy/net/jsoc/data → sunpy-7.0.3/sunpy/net/jsoc/tests}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/jsoc/tests/test_jsoc.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/scraper.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/scraper_utils.py +0 -0
- {sunpy-7.0.2/sunpy/net/jsoc → sunpy-7.0.3/sunpy/net}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/strategies.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/test_attr_walker.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/test_attrs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/test_baseclient.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/test_fido.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/test_scraper.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/tests/test_scraper_utils.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/attrs.py +0 -0
- {sunpy-7.0.2/sunpy/net/tests → sunpy-7.0.3/sunpy/net/vso/data}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/data/attrs.json +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/exceptions.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/legacy_response.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/table_response.py +0 -0
- {sunpy-7.0.2/sunpy/net/vso/data → sunpy-7.0.3/sunpy/net/vso/tests}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/tests/conftest.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/tests/test_attrs.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/tests/test_vso.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/vso.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/net/vso/zeep_plugins.py +0 -0
- {sunpy-7.0.2/sunpy/net/vso/tests → sunpy-7.0.3/sunpy/physics}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/physics/differential_rotation.py +0 -0
- {sunpy-7.0.2/sunpy/physics → sunpy-7.0.3/sunpy/physics/tests}/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/physics/tests/reference/test_differential_rotation.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/sun/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/sun/_constants.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/sun/constants.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/sun/models.py +0 -0
- {sunpy-7.0.2/sunpy/physics → sunpy-7.0.3/sunpy/sun}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/sun/tests/test_constants.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/sun/tests/test_models.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/mocks.py +0 -0
- {sunpy-7.0.2/sunpy/sun → sunpy-7.0.3/sunpy/tests}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/tests/test_mocks.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/tests/test_self_test.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/tests/test_sunpy_data_filenames.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/__init__.py +0 -0
- {sunpy-7.0.2/sunpy/tests → sunpy-7.0.3/sunpy/time}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/tests/test_taiseconds.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/tests/test_time.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/tests/test_timerange.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/tests/test_utime.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/time.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/timeformats.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/time/timerange.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/conftest.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/metadata.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/eve.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/fermi_gbm.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/goes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/lyra.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/noaa.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/norh.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/rhessi.py +0 -0
- {sunpy-7.0.2/sunpy/time → sunpy-7.0.3/sunpy/timeseries/sources}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/tests/test_eve.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/tests/test_fermi_gbm.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/tests/test_goes.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/tests/test_lyra.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/tests/test_noaa.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/tests/test_norh.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/sources/tests/test_rhessi.py +0 -0
- {sunpy-7.0.2/sunpy/timeseries/sources → sunpy-7.0.3/sunpy/timeseries}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/tests/test_timeseries_factory.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/tests/test_timeseriesmetadata.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/timeseries_factory.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/timeseries/timeseriesbase.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/config.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/datatype_factory_base.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/decorators.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/exceptions.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/functools.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/io.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/logger.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/metadata.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/net.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/parfive_helpers.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/sphinx/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/sphinx/doctest.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/sphinx/generate.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/sysinfo.py +0 -0
- {sunpy-7.0.2/sunpy/timeseries → sunpy-7.0.3/sunpy/util}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_config.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_datatype_factory_base.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_decorators.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_functools.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_logger.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_net.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_util.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/tests/test_xml.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/util.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/util/xml.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/version.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/animator/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/animator/mapsequenceanimator.py +0 -0
- {sunpy-7.0.2/sunpy/util → sunpy-7.0.3/sunpy/visualization/animator}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/animator/tests/test_mapsequenceanimator.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/cm.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/color_tables.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/README.rst +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/eit_dark_blue.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/eit_dark_green.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/eit_dark_red.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/eit_yellow.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/euvi_171.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/euvi_195.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/euvi_284.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/euvi_304.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/grayscale.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/hi1.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/hi2.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/hmi_mag.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/idl_3.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/lasco_c2.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/lasco_c3.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/punch.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/rhessi.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/std_gamma_2.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/stereo_cor1.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/stereo_cor2.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_bb01.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_bb02.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_bb03.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb01.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb02.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb03.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb04.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb05.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb06.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb07.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/suit_nb08.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/trace_1216.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/trace_1550.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/trace_1600.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/trace_1700.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/trace_171.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/trace_195.csv +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/data/trace_284.csv +0 -0
- {sunpy-7.0.2/sunpy/visualization/animator → sunpy-7.0.3/sunpy/visualization/colormaps}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/colormaps/tests/test_cm.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/drawing.py +0 -0
- {sunpy-7.0.2/sunpy/visualization/colormaps → sunpy-7.0.3/sunpy/visualization}/tests/__init__.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/tests/test_drawing.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/tests/test_visualization.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/visualization.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy/visualization/wcsaxes_compat.py +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy.egg-info/dependency_links.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy.egg-info/entry_points.txt +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy.egg-info/not-zip-safe +0 -0
- {sunpy-7.0.2 → sunpy-7.0.3}/sunpy.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"template": "https://github.com/sunpy/package-template",
|
|
3
|
-
"commit": "
|
|
3
|
+
"commit": "7958151d0246956f1e95889e8e3fa5abc4a3a129",
|
|
4
4
|
"checkout": null,
|
|
5
5
|
"context": {
|
|
6
6
|
"cookiecutter": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
".github/workflows/sub_package_update.yml"
|
|
33
33
|
],
|
|
34
34
|
"_template": "https://github.com/sunpy/package-template",
|
|
35
|
-
"_commit": "
|
|
35
|
+
"_commit": "7958151d0246956f1e95889e8e3fa5abc4a3a129"
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"directory": null
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
7.0.3 (2025-10-17)
|
|
2
|
+
==================
|
|
3
|
+
|
|
4
|
+
Bug Fixes
|
|
5
|
+
---------
|
|
6
|
+
|
|
7
|
+
- Fixed a bug where the `~sunpy.net.jsoc.attrs.Cutout` class for requesting JSOC cutouts did not require the supplied coordinate to be in the `~sunpy.coordinates.Helioprojective` coordinate frame. (`#8346 <https://github.com/sunpy/sunpy/pull/8346>`__)
|
|
8
|
+
- For the `~sunpy.net.jsoc.attrs.Cutout` class for requesting JSOC cutouts, added protection to require the center of the cutout to be on the solar disk when tracking is enabled, due to confusing output from JSOC. (`#8346 <https://github.com/sunpy/sunpy/pull/8346>`__)
|
|
9
|
+
- Fix ``GONGMagnetogramMap`` for headers which have standard ``DATE-OBS`` keys vs ones which have split ``DATE-OBS`` & ``TIME-OBS``. (`#8347 <https://github.com/sunpy/sunpy/pull/8347>`__)
|
|
10
|
+
|
|
11
|
+
|
|
1
12
|
7.0.2 (2025-09-19)
|
|
2
13
|
==================
|
|
3
14
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sunpy
|
|
3
|
-
Version: 7.0.
|
|
3
|
+
Version: 7.0.3
|
|
4
4
|
Summary: SunPy core package: Python for Solar Physics
|
|
5
5
|
Author-email: The SunPy Community <sunpy@googlegroups.com>
|
|
6
6
|
License: Copyright (c) 2013-2025 The SunPy developers
|
|
@@ -107,16 +107,18 @@ Provides-Extra: tests-only
|
|
|
107
107
|
Requires-Dist: hvpy>=1.1.0; extra == "tests-only"
|
|
108
108
|
Requires-Dist: jplephem>=2.19; extra == "tests-only"
|
|
109
109
|
Requires-Dist: pytest-astropy>=0.11.0; extra == "tests-only"
|
|
110
|
-
Requires-Dist: pytest-asdf-plugin>=0.1.1; extra == "tests-only"
|
|
111
110
|
Requires-Dist: pytest-mpl>=0.17.0; extra == "tests-only"
|
|
112
111
|
Requires-Dist: pytest>=7.4.0; extra == "tests-only"
|
|
112
|
+
Provides-Extra: asdf-tests
|
|
113
|
+
Requires-Dist: sunpy[asdf]; extra == "asdf-tests"
|
|
114
|
+
Requires-Dist: pytest-asdf-plugin>=0.1.1; extra == "asdf-tests"
|
|
113
115
|
Provides-Extra: tests
|
|
114
|
-
Requires-Dist: sunpy[all,s3,tests-only]; extra == "tests"
|
|
116
|
+
Requires-Dist: sunpy[all,asdf-tests,s3,tests-only]; extra == "tests"
|
|
115
117
|
Provides-Extra: docs
|
|
118
|
+
Requires-Dist: sunpy[all]; extra == "docs"
|
|
116
119
|
Requires-Dist: sphinx>=7.1.0; extra == "docs"
|
|
117
120
|
Requires-Dist: sphinx-automodapi>=0.16.0; extra == "docs"
|
|
118
121
|
Requires-Dist: packaging>=23.2; extra == "docs"
|
|
119
|
-
Requires-Dist: sunpy[all]; extra == "docs"
|
|
120
122
|
Requires-Dist: hvpy>=1.1.0; extra == "docs"
|
|
121
123
|
Requires-Dist: ruamel.yaml>=0.18.0; extra == "docs"
|
|
122
124
|
Requires-Dist: sphinx-changelog>=1.5.0; extra == "docs"
|
|
@@ -130,6 +132,7 @@ Provides-Extra: docs-gallery
|
|
|
130
132
|
Requires-Dist: sunpy[docs]; extra == "docs-gallery"
|
|
131
133
|
Requires-Dist: astroquery>=0.4.6; extra == "docs-gallery"
|
|
132
134
|
Requires-Dist: jplephem>=2.19; extra == "docs-gallery"
|
|
135
|
+
Requires-Dist: pillow; extra == "docs-gallery"
|
|
133
136
|
Provides-Extra: dev
|
|
134
137
|
Requires-Dist: sunpy[docs,tests]; extra == "dev"
|
|
135
138
|
Dynamic: license-file
|
|
@@ -141,11 +141,10 @@ Method to compute the rotation matrix between two SPICE frames
|
|
|
141
141
|
|
|
142
142
|
A new function `~sunpy.coordinates.spice.get_rotation_matrix` has been implemented to compute the rotation matrix between two SPICE frames.
|
|
143
143
|
|
|
144
|
-
..
|
|
144
|
+
.. doctest-requires:: spiceypy
|
|
145
145
|
|
|
146
146
|
>>> from sunpy.coordinates.spice import get_rotation_matrix
|
|
147
147
|
>>> import astropy.units as u
|
|
148
|
-
|
|
149
148
|
>>> source_frame = "J2000"
|
|
150
149
|
>>> target_frame = "Galactic"
|
|
151
150
|
>>> from_time = '2001-01-01T00:00:00'
|
|
@@ -113,18 +113,22 @@ tests-only = [
|
|
|
113
113
|
"hvpy>=1.1.0",
|
|
114
114
|
"jplephem>=2.19",
|
|
115
115
|
"pytest-astropy>=0.11.0",
|
|
116
|
-
"pytest-asdf-plugin>=0.1.1",
|
|
117
116
|
"pytest-mpl>=0.17.0",
|
|
118
117
|
"pytest>=7.4.0",
|
|
119
118
|
]
|
|
119
|
+
asdf-tests = [
|
|
120
|
+
"sunpy[asdf]",
|
|
121
|
+
# We can only install this plugin when we have the asdf extra installed
|
|
122
|
+
"pytest-asdf-plugin>=0.1.1",
|
|
123
|
+
]
|
|
120
124
|
tests = [
|
|
121
|
-
"sunpy[all,s3,tests-only]",
|
|
125
|
+
"sunpy[all,s3,tests-only,asdf-tests]",
|
|
122
126
|
]
|
|
123
127
|
docs = [
|
|
128
|
+
"sunpy[all]",
|
|
124
129
|
"sphinx>=7.1.0",
|
|
125
130
|
"sphinx-automodapi>=0.16.0",
|
|
126
131
|
"packaging>=23.2",
|
|
127
|
-
"sunpy[all]",
|
|
128
132
|
"hvpy>=1.1.0",
|
|
129
133
|
"ruamel.yaml>=0.18.0",
|
|
130
134
|
"sphinx-changelog>=1.5.0",
|
|
@@ -139,6 +143,7 @@ docs-gallery = [
|
|
|
139
143
|
"sunpy[docs]",
|
|
140
144
|
"astroquery>=0.4.6",
|
|
141
145
|
"jplephem>=2.19",
|
|
146
|
+
"pillow",
|
|
142
147
|
]
|
|
143
148
|
dev = ["sunpy[docs,tests]"]
|
|
144
149
|
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '7.0.
|
|
32
|
-
__version_tuple__ = version_tuple = (7, 0,
|
|
31
|
+
__version__ = version = '7.0.3'
|
|
32
|
+
__version_tuple__ = version_tuple = (7, 0, 3)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g5a4cb80fc'
|
|
@@ -104,17 +104,15 @@ def write_image_file_from_header_file(header_file, fits_directory):
|
|
|
104
104
|
return fits_file
|
|
105
105
|
|
|
106
106
|
|
|
107
|
-
def
|
|
107
|
+
def get_header_from_file(filename, package="sunpy.data.test"):
|
|
108
108
|
"""
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
The "image" will be random numbers with the correct shape
|
|
112
|
-
as specified by the header.
|
|
109
|
+
Return a Header from the test file.
|
|
113
110
|
"""
|
|
114
|
-
import sunpy.map
|
|
115
|
-
|
|
116
111
|
filepath = get_test_filepath(filename, package=package)
|
|
117
|
-
|
|
112
|
+
return _fits.format_comments_and_history(astropy.io.fits.Header.fromtextfile(filepath))
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def get_dummy_map_from_header_obj(header):
|
|
118
116
|
data = np.random.rand(header['NAXIS2'], header['NAXIS1'])
|
|
119
117
|
if 'BITPIX' in header:
|
|
120
118
|
data = data.astype(astropy.io.fits.BITPIX2DTYPE[header['BITPIX']])
|
|
@@ -125,6 +123,19 @@ def get_dummy_map_from_header(filename, package="sunpy.data.test"):
|
|
|
125
123
|
return sunpy.map.Map(data, header)
|
|
126
124
|
|
|
127
125
|
|
|
126
|
+
def get_dummy_map_from_header(filename, package="sunpy.data.test"):
|
|
127
|
+
"""
|
|
128
|
+
Generate a dummy `~sunpy.map.Map` from header-only test data.
|
|
129
|
+
|
|
130
|
+
The "image" will be random numbers with the correct shape
|
|
131
|
+
as specified by the header.
|
|
132
|
+
"""
|
|
133
|
+
import sunpy.map
|
|
134
|
+
|
|
135
|
+
header = get_header_from_file(filename, package)
|
|
136
|
+
return get_dummy_map_from_header_obj(header)
|
|
137
|
+
|
|
138
|
+
|
|
128
139
|
def write_header_file_from_image_file(image_path, header_path, hdu=0, **kwargs):
|
|
129
140
|
"""
|
|
130
141
|
Convert a FITS file containing an image and a header
|
|
Binary file
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
import pytest
|
|
3
|
-
import skimage.data as images
|
|
4
3
|
from matplotlib.figure import Figure
|
|
5
|
-
from skimage import transform as tf
|
|
6
4
|
|
|
7
5
|
from astropy.coordinates.matrix_utilities import rotation_matrix
|
|
8
6
|
|
|
7
|
+
from sunpy.data.test import get_test_filepath
|
|
9
8
|
from sunpy.image.transform import _rotation_registry, affine_transform
|
|
10
|
-
from sunpy.tests.helpers import figure_test, skip_windows
|
|
9
|
+
from sunpy.tests.helpers import figure_test, skip_opencv, skip_skimage, skip_windows
|
|
11
10
|
from sunpy.util import SunpyUserWarning
|
|
12
11
|
|
|
12
|
+
_methods_to_marks = {"scikit-image": skip_skimage, "opencv": skip_opencv}
|
|
13
|
+
_rotation_registry_params = [pytest.param(meth, marks=_methods_to_marks.get(meth, [])) for meth in _rotation_registry]
|
|
14
|
+
|
|
13
15
|
# Tolerance for tests
|
|
14
16
|
RTOL = 1.0e-10
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
@pytest.fixture
|
|
18
20
|
def original():
|
|
19
|
-
|
|
20
|
-
return
|
|
21
|
+
filepath = get_test_filepath("camera.npy")
|
|
22
|
+
return np.load(filepath).astype('float')
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
@pytest.fixture
|
|
@@ -85,6 +87,7 @@ def test_rotation(original, angle, k):
|
|
|
85
87
|
@pytest.mark.parametrize(('angle', 'k'), [(90.0, 1), (-90.0, -1), (-270.0, 1),
|
|
86
88
|
(-90.0, 3), (360.0, 0), (-360.0, 0)])
|
|
87
89
|
def test_skimage_rotation(original, angle, k):
|
|
90
|
+
pytest.importorskip("skimage")
|
|
88
91
|
# Test rotation against expected outcome
|
|
89
92
|
angle = np.radians(angle)
|
|
90
93
|
c = np.round(np.cos(angle))
|
|
@@ -133,6 +136,7 @@ def test_shift(original, dx, dy):
|
|
|
133
136
|
|
|
134
137
|
@pytest.mark.parametrize("scale_factor", [0.25, 0.5, 0.75, 1.0, 1.25, 1.5])
|
|
135
138
|
def test_scale(original, scale_factor):
|
|
139
|
+
tf = pytest.importorskip("skimage.transform")
|
|
136
140
|
# No rotation for all scaling tests.
|
|
137
141
|
rmatrix = np.array([[1.0, 0.0], [0.0, 1.0]])
|
|
138
142
|
|
|
@@ -163,6 +167,7 @@ def test_all(original, angle, dx, dy, scale_factor):
|
|
|
163
167
|
Tests to make sure that combinations of scaling, shifting and rotation
|
|
164
168
|
produce the expected output.
|
|
165
169
|
"""
|
|
170
|
+
tf = pytest.importorskip("skimage.transform")
|
|
166
171
|
k = int(angle / 90)
|
|
167
172
|
angle = np.radians(angle)
|
|
168
173
|
image_center = np.array(original.shape) / 2.0 - 0.5
|
|
@@ -216,6 +221,7 @@ def test_flat(identity):
|
|
|
216
221
|
|
|
217
222
|
|
|
218
223
|
def test_nan_skimage(identity):
|
|
224
|
+
pytest.importorskip("skimage")
|
|
219
225
|
# Test preservation of NaN values for scikit-image rotation
|
|
220
226
|
in_arr = np.array([[np.nan, 0]])
|
|
221
227
|
out_arr = affine_transform(in_arr, rmatrix=identity, order=0, method='scikit-image')
|
|
@@ -230,6 +236,7 @@ def test_nan_scipy(identity):
|
|
|
230
236
|
|
|
231
237
|
|
|
232
238
|
def test_int(identity):
|
|
239
|
+
pytest.importorskip("skimage")
|
|
233
240
|
# Test casting of integer array to float array
|
|
234
241
|
in_arr = np.array([[100]], dtype=int)
|
|
235
242
|
with pytest.warns(SunpyUserWarning, match='Integer input data has been cast to float64'):
|
|
@@ -331,7 +338,7 @@ def test_nans(rot30):
|
|
|
331
338
|
|
|
332
339
|
|
|
333
340
|
@pytest.mark.filterwarnings("ignore:.*bug in the implementation of scikit-image")
|
|
334
|
-
@pytest.mark.parametrize('method',
|
|
341
|
+
@pytest.mark.parametrize('method', _rotation_registry_params)
|
|
335
342
|
@pytest.mark.parametrize('order', range(6))
|
|
336
343
|
def test_endian(method, order, rot30):
|
|
337
344
|
if order not in _rotation_registry[method].allowed_orders:
|
|
@@ -322,8 +322,8 @@ def _rotation_skimage(image, matrix, shift, order, missing, clip):
|
|
|
322
322
|
"""
|
|
323
323
|
try:
|
|
324
324
|
import skimage.transform
|
|
325
|
-
except ImportError:
|
|
326
|
-
raise ImportError("The scikit-image package is required to use this rotation method.")
|
|
325
|
+
except ImportError as e:
|
|
326
|
+
raise ImportError("The scikit-image package is required to use this rotation method.") from e
|
|
327
327
|
|
|
328
328
|
# Make the rotation matrix 3x3 to include translation of the image
|
|
329
329
|
skmatrix = np.zeros((3, 3))
|
|
@@ -384,8 +384,8 @@ def _rotation_cv2(image, matrix, shift, order, missing, clip):
|
|
|
384
384
|
"""
|
|
385
385
|
try:
|
|
386
386
|
import cv2
|
|
387
|
-
except ImportError:
|
|
388
|
-
raise ImportError("The opencv-python package is required to use this rotation method.")
|
|
387
|
+
except ImportError as e:
|
|
388
|
+
raise ImportError("The opencv-python package is required to use this rotation method.") from e
|
|
389
389
|
|
|
390
390
|
_CV_ORDER_FLAGS = {
|
|
391
391
|
0: cv2.INTER_NEAREST,
|
|
@@ -994,7 +994,7 @@ class GenericMap(NDData):
|
|
|
994
994
|
|
|
995
995
|
This time is the "canonical" way to refer to an observation, which is commonly
|
|
996
996
|
the start of the observation, but can be a different time. In comparison, the
|
|
997
|
-
`.GenericMap.date_start` property is
|
|
997
|
+
`.GenericMap.date_start` property is unambiguously the start of the observation.
|
|
998
998
|
|
|
999
999
|
The observation time is determined using this order of preference:
|
|
1000
1000
|
|
|
@@ -343,8 +343,8 @@ class MapSequence:
|
|
|
343
343
|
removes = []
|
|
344
344
|
|
|
345
345
|
# Normal plot
|
|
346
|
-
def annotate_frame(i):
|
|
347
|
-
axes.set_title(f"{self[i].name}")
|
|
346
|
+
def annotate_frame(i, title=None):
|
|
347
|
+
axes.set_title(f"{self[i].name}" if title is None else title)
|
|
348
348
|
axes.set_xlabel(axis_labels_from_ctype(self[i].coordinate_system[0],
|
|
349
349
|
self[i].spatial_units[0]))
|
|
350
350
|
axes.set_ylabel(axis_labels_from_ctype(self[i].coordinate_system[1],
|
|
@@ -381,7 +381,7 @@ class MapSequence:
|
|
|
381
381
|
wcsaxes_compat.default_wcs_grid(axes)
|
|
382
382
|
|
|
383
383
|
if annotate:
|
|
384
|
-
annotate_frame(i)
|
|
384
|
+
annotate_frame(i, title=kwargs.get('title'))
|
|
385
385
|
removes += list(plot_function(fig, axes, ani_data[i]))
|
|
386
386
|
|
|
387
387
|
ani = matplotlib.animation.FuncAnimation(fig, updatefig,
|
|
@@ -185,14 +185,14 @@ class GONGMagnetogramMap(GenericMap):
|
|
|
185
185
|
# Time in header is GPS and there no GPS scale in astropy so parse as TAI and add offset
|
|
186
186
|
# https://gssc.esa.int/navipedia/index.php/Transformations_between_Time_Systems#GNSS_–_TAI
|
|
187
187
|
date_obs = (parse_time(date_obs_str, scale='tai') + 19 *u.s).utc
|
|
188
|
-
return date_obs or super().date
|
|
188
|
+
return parse_time(date_obs) or super().date
|
|
189
189
|
|
|
190
190
|
def _set_date(self, date):
|
|
191
|
-
date = parse_time(date).tai - 19*u.s
|
|
192
191
|
if 'time-obs' in self.meta:
|
|
192
|
+
date = parse_time(date).tai - 19*u.s
|
|
193
193
|
self.meta['date-obs'], self.meta['time-obs'] = date.isot.split('T')
|
|
194
194
|
else:
|
|
195
|
-
|
|
195
|
+
super()._set_date(date)
|
|
196
196
|
|
|
197
197
|
@property
|
|
198
198
|
def reference_date(self):
|
|
@@ -2,14 +2,20 @@ import pytest
|
|
|
2
2
|
|
|
3
3
|
import astropy.units as u
|
|
4
4
|
|
|
5
|
-
from sunpy.data.test import
|
|
5
|
+
from sunpy.data.test import get_dummy_map_from_header_obj, get_header_from_file, get_test_filepath
|
|
6
6
|
from sunpy.map.sources.gong import GONGMagnetogramMap
|
|
7
|
+
from sunpy.time import parse_time
|
|
7
8
|
from .helpers import _test_private_date_setters
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
def gong_magnetogram():
|
|
12
|
-
|
|
11
|
+
@pytest.fixture(params=["full-date-obs", "with-time-obs"])
|
|
12
|
+
def gong_magnetogram(request):
|
|
13
|
+
header = get_header_from_file(get_test_filepath('gong_magnetogram.header'))
|
|
14
|
+
if request.param == "full-date-obs":
|
|
15
|
+
time_obs = header.pop("TIME-OBS")
|
|
16
|
+
date_obs = (parse_time(f"{header['DATE-OBS']} {time_obs}", scale='tai') + 19 *u.s).utc
|
|
17
|
+
header["DATE-OBS"] = date_obs
|
|
18
|
+
return get_dummy_map_from_header_obj(header)
|
|
13
19
|
|
|
14
20
|
|
|
15
21
|
def test_fitstoGONGSynoptic(gong_magnetogram):
|
|
@@ -1450,6 +1450,7 @@ def test_submap_inputs(generic_map2, coords):
|
|
|
1450
1450
|
|
|
1451
1451
|
|
|
1452
1452
|
def test_contour_deprecation_warning(simple_map):
|
|
1453
|
+
pytest.importorskip("skimage")
|
|
1453
1454
|
|
|
1454
1455
|
with pytest.warns(SunpyDeprecationWarning, match="The contour function is deprecated and may be removed in a future version.\\s+Use sunpy.map.GenericMap.find_contours instead."):
|
|
1455
1456
|
simple_map.contour(1.5)
|
|
@@ -1473,6 +1474,7 @@ def test_find_contours_contourpy(simple_map):
|
|
|
1473
1474
|
|
|
1474
1475
|
|
|
1475
1476
|
def test_find_contours_skimage(simple_map):
|
|
1477
|
+
pytest.importorskip("skimage")
|
|
1476
1478
|
data = np.ones(simple_map.data.shape)
|
|
1477
1479
|
data[4, 4] = 2
|
|
1478
1480
|
simple_map = sunpy.map.Map(data, simple_map.meta)
|
|
@@ -216,6 +216,13 @@ def test_map_sequence_plot_clip_interval(aia171_test_map):
|
|
|
216
216
|
animation._step()
|
|
217
217
|
|
|
218
218
|
|
|
219
|
+
@figure_test
|
|
220
|
+
def test_map_sequence_plot_custom_title(aia171_test_map):
|
|
221
|
+
# Test that custom plot title shows up even when annotate=True
|
|
222
|
+
seq = sunpy.map.Map([aia171_test_map, aia171_test_map], sequence=True)
|
|
223
|
+
seq.plot(title='Custom Title', annotate=True)
|
|
224
|
+
|
|
225
|
+
|
|
219
226
|
@skip_glymur
|
|
220
227
|
def test_mapsequence_plot_uint8_norm():
|
|
221
228
|
# We want to check the case for images with no norms set
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import astropy.units as u
|
|
2
|
+
from astropy.coordinates import SkyCoord
|
|
2
3
|
|
|
4
|
+
from sunpy.coordinates.frames import Helioprojective
|
|
3
5
|
from sunpy.coordinates.utils import get_rectangle_coordinates
|
|
6
|
+
from sunpy.map.maputils import coordinate_is_on_solar_disk
|
|
4
7
|
from sunpy.net._attrs import Time, Wavelength
|
|
5
8
|
from sunpy.net.attr import AttrAnd, AttrComparison, AttrOr, AttrWalker, DataAttr, SimpleAttr
|
|
6
9
|
|
|
@@ -131,7 +134,7 @@ class Cutout(DataAttr):
|
|
|
131
134
|
Parameters
|
|
132
135
|
----------
|
|
133
136
|
bottom_left : `~astropy.coordinates.SkyCoord`
|
|
134
|
-
|
|
137
|
+
Helioprojective coordinate for the bottom left corner of the cutout.
|
|
135
138
|
top_right : `~astropy.coordinates.SkyCoord`, optional
|
|
136
139
|
Coordinate for the top right corner of the cutout. If this is
|
|
137
140
|
not specified, both ``width`` and ``height`` must both be specified.
|
|
@@ -151,6 +154,15 @@ class Cutout(DataAttr):
|
|
|
151
154
|
See Also
|
|
152
155
|
--------
|
|
153
156
|
sunpy.coordinates.utils.get_rectangle_coordinates
|
|
157
|
+
|
|
158
|
+
Notes
|
|
159
|
+
-----
|
|
160
|
+
The ``bottom_left`` coordinate must be in the `~sunpy.coordinates.Helioprojective`
|
|
161
|
+
frame. The ``observer`` frame attribute of ``bottom_left`` is ignored, and
|
|
162
|
+
instead the observer location is assumed to be SDO.
|
|
163
|
+
|
|
164
|
+
If ``tracking`` is `True`, the center of the cutout is required to be on the
|
|
165
|
+
solar disk, otherwise the JSOC will produce unexpected output.
|
|
154
166
|
"""
|
|
155
167
|
@u.quantity_input
|
|
156
168
|
def __init__(self, bottom_left, top_right=None, width: u.arcsec = None,
|
|
@@ -158,6 +170,17 @@ class Cutout(DataAttr):
|
|
|
158
170
|
nan_off_limb=False):
|
|
159
171
|
super().__init__()
|
|
160
172
|
bl, tr = get_rectangle_coordinates(bottom_left, top_right=top_right, width=width, height=height)
|
|
173
|
+
if not isinstance(bl.frame, Helioprojective):
|
|
174
|
+
raise ValueError("`bottom_left` must be in the `Helioprojective` frame, but is instead "
|
|
175
|
+
f"in the `{bl.frame.__class__.__name__}` frame")
|
|
176
|
+
|
|
177
|
+
center_x = (bl.Tx + tr.Tx) / 2
|
|
178
|
+
center_y = (bl.Ty + tr.Ty) / 2
|
|
179
|
+
center = SkyCoord(center_x, center_y, frame=bottom_left.frame)
|
|
180
|
+
if tracking and not coordinate_is_on_solar_disk(center):
|
|
181
|
+
raise ValueError("Tracking is enabled, but the center of the cutout "
|
|
182
|
+
f"(Tx={center_x}, Ty={center_y}) is not on the solar disk.")
|
|
183
|
+
|
|
161
184
|
self.value = {
|
|
162
185
|
't_ref': bl.obstime.isot,
|
|
163
186
|
# JSOC input is disable tracking so take the negative
|
|
@@ -166,10 +189,10 @@ class Cutout(DataAttr):
|
|
|
166
189
|
'c': int(nan_off_limb),
|
|
167
190
|
'locunits': 'arcsec',
|
|
168
191
|
'boxunits': 'arcsec',
|
|
169
|
-
'x':
|
|
170
|
-
'y':
|
|
171
|
-
'width': (tr.Tx - bl.Tx).
|
|
172
|
-
'height': (tr.Ty - bl.Ty).
|
|
192
|
+
'x': center_x.to_value('arcsec'),
|
|
193
|
+
'y': center_y.to_value('arcsec'),
|
|
194
|
+
'width': (tr.Tx - bl.Tx).to_value('arcsec'),
|
|
195
|
+
'height': (tr.Ty - bl.Ty).to_value('arcsec'),
|
|
173
196
|
}
|
|
174
197
|
|
|
175
198
|
def collides(self, other):
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
3
|
import astropy.units as u
|
|
4
|
+
from astropy.coordinates import SkyCoord
|
|
4
5
|
|
|
5
6
|
import sunpy.net.jsoc as jsoc
|
|
6
7
|
import sunpy.net.jsoc.attrs as attrs
|
|
8
|
+
from sunpy.coordinates import frames
|
|
7
9
|
from sunpy.net import _attrs as core_attrs
|
|
8
10
|
from sunpy.net.attr import AttrAnd, AttrOr
|
|
9
11
|
|
|
@@ -81,3 +83,30 @@ def test_empty_notify():
|
|
|
81
83
|
def test_not_email_notify():
|
|
82
84
|
with pytest.raises(ValueError, match="Notify attribute must contain an '@' symbol to be a valid email address"):
|
|
83
85
|
attrs.Notify("someemailthatisntone")
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def test_cutout_not_helioprojective():
|
|
89
|
+
hpc = SkyCoord(500*u.arcsec, -200*u.arcsec,
|
|
90
|
+
obstime='2025-09-16', observer="earth", frame=frames.Helioprojective)
|
|
91
|
+
# No error because helioprojective
|
|
92
|
+
_ = attrs.Cutout(hpc, width=900*u.arcsec, height=900*u.arcsec)
|
|
93
|
+
|
|
94
|
+
hpr = SkyCoord(500*u.arcsec, -200*u.arcsec,
|
|
95
|
+
obstime='2025-09-16', observer="earth", frame=frames.HelioprojectiveRadial)
|
|
96
|
+
# Error because not helioprojective
|
|
97
|
+
with pytest.raises(ValueError, match="`bottom_left` must be in the `Helioprojective` frame, but is instead in the `HelioprojectiveRadial` frame"):
|
|
98
|
+
_ = attrs.Cutout(hpr, width=900*u.arcsec, height=900*u.arcsec)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def test_cutout_not_on_disk_when_tracking():
|
|
102
|
+
bottom_left = SkyCoord(500*u.arcsec, -200*u.arcsec,
|
|
103
|
+
obstime='2025-09-16', observer="earth", frame=frames.Helioprojective)
|
|
104
|
+
|
|
105
|
+
# No error because tracking is disabled
|
|
106
|
+
cutout = attrs.Cutout(bottom_left, width=900*u.arcsec, height=900*u.arcsec, tracking=False)
|
|
107
|
+
assert cutout.value["x"] == 950
|
|
108
|
+
assert cutout.value["y"] == 250
|
|
109
|
+
|
|
110
|
+
# Error because tracking is enabled
|
|
111
|
+
with pytest.raises(ValueError, match="Tracking is enabled, but the center of the cutout .* is not on the solar disk"):
|
|
112
|
+
_ = attrs.Cutout(bottom_left, width=900*u.arcsec, height=900*u.arcsec, tracking=True)
|
|
@@ -335,7 +335,7 @@ def test_attr_number_point(POINTNUMBER):
|
|
|
335
335
|
assert Instrument.onepointfive == POINTNUMBER
|
|
336
336
|
|
|
337
337
|
|
|
338
|
-
def
|
|
338
|
+
def test_attr_numbers():
|
|
339
339
|
attr.Attr.update_values({GenericClient: {Instrument: [('12AIAs', 'That is too many AIAs')]}})
|
|
340
340
|
# This checks for sanitization of names.
|
|
341
341
|
assert 'one_2aias' in attr.Attr._attr_registry[Instrument].name
|
|
@@ -167,6 +167,7 @@ def test_consistency_with_rotatedsunframe():
|
|
|
167
167
|
|
|
168
168
|
# Testing using observer inputs
|
|
169
169
|
def test_differential_rotate_observer_all_off_disk(all_off_disk_map):
|
|
170
|
+
pytest.importorskip("skimage")
|
|
170
171
|
# Test a map that is entirely off the disk of the Sun
|
|
171
172
|
# Should report an error
|
|
172
173
|
with pytest.raises(ValueError, match="The entire map is off disk. No data to differentially rotate."):
|
|
@@ -174,6 +175,7 @@ def test_differential_rotate_observer_all_off_disk(all_off_disk_map):
|
|
|
174
175
|
|
|
175
176
|
|
|
176
177
|
def test_differential_rotate_observer_full_disk(aia171_test_map):
|
|
178
|
+
pytest.importorskip("skimage")
|
|
177
179
|
# Test a full disk map
|
|
178
180
|
new_observer = get_earth(aia171_test_map.date + 6*u.hr)
|
|
179
181
|
dmap = differential_rotate(aia171_test_map, observer=new_observer)
|
|
@@ -184,6 +186,7 @@ def test_differential_rotate_observer_full_disk(aia171_test_map):
|
|
|
184
186
|
|
|
185
187
|
|
|
186
188
|
def test_differential_rotate_observer_all_on_disk(all_on_disk_map):
|
|
189
|
+
pytest.importorskip("skimage")
|
|
187
190
|
# Test a map that is entirely on disk - triggers sub full disk branches
|
|
188
191
|
# Rotated map should have a smaller extent in the x - direction
|
|
189
192
|
new_observer = get_earth(all_on_disk_map.date - 48*u.hr)
|
|
@@ -199,6 +202,7 @@ def test_differential_rotate_observer_all_on_disk(all_on_disk_map):
|
|
|
199
202
|
|
|
200
203
|
|
|
201
204
|
def test_differential_rotate_observer_straddles_limb(straddles_limb_map):
|
|
205
|
+
pytest.importorskip("skimage")
|
|
202
206
|
# Test a map that straddles the limb - triggers sub full disk branches
|
|
203
207
|
# Rotated map should have a smaller extent in the x - direction
|
|
204
208
|
new_observer = get_earth(straddles_limb_map.date + 48*u.hr)
|
|
@@ -212,6 +216,7 @@ def test_differential_rotate_observer_straddles_limb(straddles_limb_map):
|
|
|
212
216
|
|
|
213
217
|
# ----- Testing with time input -----
|
|
214
218
|
def test_differential_rotate_time_full_disk(aia171_test_map):
|
|
219
|
+
pytest.importorskip("skimage")
|
|
215
220
|
# Test a full disk map
|
|
216
221
|
new_time = aia171_test_map.date + 6*u.hr
|
|
217
222
|
with pytest.warns(UserWarning, match="Using 'time' assumes an Earth-based observer"):
|
|
@@ -222,6 +227,7 @@ def test_differential_rotate_time_full_disk(aia171_test_map):
|
|
|
222
227
|
|
|
223
228
|
|
|
224
229
|
def test_differential_rotate_time_all_on_disk(all_on_disk_map):
|
|
230
|
+
pytest.importorskip("skimage")
|
|
225
231
|
# Test a map that is entirely on disk - triggers sub full disk branches
|
|
226
232
|
# Rotated map should have a smaller extent in the x - direction
|
|
227
233
|
new_time = all_on_disk_map.date - 48*u.hr
|
|
@@ -238,6 +244,7 @@ def test_differential_rotate_time_all_on_disk(all_on_disk_map):
|
|
|
238
244
|
|
|
239
245
|
|
|
240
246
|
def test_differential_rotate_time_straddles_limb(straddles_limb_map):
|
|
247
|
+
pytest.importorskip("skimage")
|
|
241
248
|
# Test a map that straddles the limb - triggers sub full disk branches
|
|
242
249
|
# Rotated map should have a smaller extent in the x - direction
|
|
243
250
|
new_time = straddles_limb_map.date + 48*u.hr
|
|
@@ -249,6 +256,7 @@ def test_differential_rotate_time_straddles_limb(straddles_limb_map):
|
|
|
249
256
|
|
|
250
257
|
|
|
251
258
|
def test_differential_rotate_time_off_disk(all_off_disk_map):
|
|
259
|
+
pytest.importorskip("skimage")
|
|
252
260
|
# Test a map that is entirely off the disk of the Sun
|
|
253
261
|
# Should report an error
|
|
254
262
|
new_time = all_off_disk_map.date + 48*u.hr
|
|
@@ -392,12 +400,14 @@ def test_warp_sun_coordinates(all_on_disk_map):
|
|
|
392
400
|
|
|
393
401
|
@pytest.mark.array_compare
|
|
394
402
|
def test_differential_rotation(aia171_test_map):
|
|
403
|
+
pytest.importorskip("skimage")
|
|
395
404
|
with pytest.warns(UserWarning, match="Using 'time' assumes an Earth-based observer"):
|
|
396
405
|
rot_map = differential_rotate(aia171_test_map, time=2*u.day)
|
|
397
406
|
return rot_map.data
|
|
398
407
|
|
|
399
408
|
|
|
400
409
|
def test_rsun_fallback(aia171_test_map):
|
|
410
|
+
pytest.importorskip("skimage")
|
|
401
411
|
# Remove the AIA-specific value of the solar radius
|
|
402
412
|
assert_quantity_allclose(aia171_test_map.rsun_meters, 696 * u.Mm)
|
|
403
413
|
del aia171_test_map.meta['rsun_ref'], aia171_test_map.meta['rsun_obs']
|
{sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/figure_hashes_mpl_382_ft_261_astropy_702_animators_121.json
RENAMED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot": "86f2d19643fbeeaea8bd7097b9002a77da455eeeb46d4ac707bd3c55df15dc22",
|
|
23
23
|
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot_custom_cmap_norm": "129afdbcb3de6893187f3bbe20e9107316ae5d04ceecb8a1969befe3bb3ff540",
|
|
24
24
|
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot_clip_interval": "33bcd1f8416ff92deffad5482bf76ad620c2cb6c7a69f91eacfa5a2e508d34f0",
|
|
25
|
+
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot_custom_title": "4ad766af63ce731a89a88287359af7c6b5cd0e28dde2c4d92855aa3dbcf2da97",
|
|
25
26
|
"sunpy.map.tests.test_plotting.test_plot_aia171": "86f2d19643fbeeaea8bd7097b9002a77da455eeeb46d4ac707bd3c55df15dc22",
|
|
26
27
|
"sunpy.map.tests.test_plotting.test_plot_rotated_aia171": "982363a267e12a380c48c02ab73a98bbadae4ce54f4b621898f815aac2daf040",
|
|
27
28
|
"sunpy.map.tests.test_plotting.test_plot_aia171_clip": "29b93bbe004670248aed9ddde8c5f8e6eda2d975d6c046f05a9c4a5f144caf2c",
|
{sunpy-7.0.2 → sunpy-7.0.3}/sunpy/tests/figure_hashes_mpl_dev_ft_261_astropy_dev_animators_dev.json
RENAMED
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot": "86f2d19643fbeeaea8bd7097b9002a77da455eeeb46d4ac707bd3c55df15dc22",
|
|
23
23
|
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot_custom_cmap_norm": "541450f6bb90fce447bc49875d9eb44fba2522989bcac73867bde73891f61b4d",
|
|
24
24
|
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot_clip_interval": "33bcd1f8416ff92deffad5482bf76ad620c2cb6c7a69f91eacfa5a2e508d34f0",
|
|
25
|
+
"sunpy.map.tests.test_mapsequence.test_map_sequence_plot_custom_title": "4ad766af63ce731a89a88287359af7c6b5cd0e28dde2c4d92855aa3dbcf2da97",
|
|
25
26
|
"sunpy.map.tests.test_plotting.test_plot_aia171": "86f2d19643fbeeaea8bd7097b9002a77da455eeeb46d4ac707bd3c55df15dc22",
|
|
26
27
|
"sunpy.map.tests.test_plotting.test_plot_rotated_aia171": "982363a267e12a380c48c02ab73a98bbadae4ce54f4b621898f815aac2daf040",
|
|
27
28
|
"sunpy.map.tests.test_plotting.test_plot_aia171_clip": "29b93bbe004670248aed9ddde8c5f8e6eda2d975d6c046f05a9c4a5f144caf2c",
|
|
@@ -90,4 +91,4 @@
|
|
|
90
91
|
"sunpy.visualization.tests.test_drawing.test_draw_extent": "d9e5182e20feff6257c3209c2202727a8e628842ca3c0c80fd1cafbc64376388",
|
|
91
92
|
"sunpy.visualization.tests.test_drawing.test_draw_extent_3d": "1d329ecd0e31f4d4ecfb3b75e255c117dc631bd39be9a8a862fb7974004ff07c",
|
|
92
93
|
"sunpy.visualization.tests.test_visualization.test_show_hpr_impact_angle": "43f6c3fea4238064ce503d699cba6457b3eb07ee58ea2a52f43556f42ee7efc8"
|
|
93
|
-
}
|
|
94
|
+
}
|