anyplotlib 0.4.1__tar.gz → 0.4.2__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.
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/PKG-INFO +1 -1
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot2d/_plot2d.py +44 -21
- anyplotlib-0.4.2/anyplotlib/tests/test_plot2d/test_tile_diagnostics.py +88 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/_root/index.html +3 -3
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/_root/switcher.json +5 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/conf.py +1 -1
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/pyproject.toml +1 -1
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/.github/workflows/ci.yml +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/.github/workflows/docs.yml +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/.github/workflows/prepare_release.yml +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/.github/workflows/release.yml +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/.github/workflows/tests.yml +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/.gitignore +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/AGENTS.md +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/CHANGELOG.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Benchmarks/README.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Benchmarks/plot_benchmark_comparison.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/README.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_3d_spectral_viewer.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_eels_explorer.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_figure_annotations.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_interactive_fft.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_interactive_fitting.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_ipf_density_map.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_ipf_explorer.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_key_bindings.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_particle_picker.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_point_widget.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_segment_by_contrast.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_segment_by_contrast_advanced.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_spectra_roi_inspector.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_threshold_explorer.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_voxel_grain_explorer.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/README.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_arrows.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_circles.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_ellipses.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_horizontal_lines.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_line_segments.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_points.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_polygons.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_rectangles.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_squares.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_texts.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_transform_markers.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Markers/plot_vertical_lines.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/README.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_3d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_bar.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_gpu_voxels.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_gridspec_custom.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_image2d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_inset.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_label_formatting.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_line_styles.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_pcolormesh.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_spectra1d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_step_and_log.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_tile_backend.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/PlotTypes/plot_twinx.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/README.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/README.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget1d_hline.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget1d_point.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget1d_range.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget1d_vline.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget2d_annular.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget2d_arrow.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget2d_circle.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget2d_crosshair.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget2d_label.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget2d_polygon.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget2d_rectangle.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Widgets/plot_widget3d_plane.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/LICENSE +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/Makefile +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/README.md +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/FIGURE_ESM.md +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/_base_plot.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/_binary_frame.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/_electron.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/_repr_utils.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/_utils.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/axes/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/axes/_axes.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/axes/_inset_axes.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/callbacks.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/conftest.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/embed.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/figure/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/figure/_figure.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/figure/_gridspec.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/figure/_subplots.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/figure_esm.js +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/markers.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot1d/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot1d/_plot1d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot1d/_plotbar.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot2d/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot2d/_layer.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot2d/_plotmesh.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot2d/_tile_backend.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot3d/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plot3d/_plot3d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plotxy/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/plotxy/_plotxy.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/_directive.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/_repr_utils.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/_scraper.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/_wheel_builder.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/static/anywidget_bridge.js +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/static/anywidget_overlay.css +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/conftest.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/test_directive.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/test_init.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/test_repr_utils.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/test_scraper.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/test_wheel_builder.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/_gpu_clim_check.cjs +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/_png_utils.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/bar_basic.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_3col_equal_spectra.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_asymmetric_width_ratios.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_height_ratio_image_histogram.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_image_two_spectra.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_side_by_side_1d.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_spanning_top_two_bottom.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/imshow_axis_off.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/imshow_checkerboard.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/imshow_gradient.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/imshow_labels.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/imshow_viridis.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/inset_1d.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/inset_maximized.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/inset_minimized.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/inset_normal_2d.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/inset_stacked.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/inset_stacked_one_minimized.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/pcolormesh_uniform.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_all_linestyles.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_alpha.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_axis_off.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_dashed.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_marker_symbols.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_markers.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_multi.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_sine.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_title.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot1d_twinx.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/plot3d_surface.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/subplots_2x1.png +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/conftest.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_benchmarks/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_benchmarks/baselines.json +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_benchmarks/benchmarks/baselines.json +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_benchmarks/test_benchmarks.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_benchmarks/test_benchmarks_py.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_documentation/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_documentation/test_bridge.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_documentation/test_push_hook.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_documentation/test_scraper.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_electron/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_electron/test_binary_frame.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_embed/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_embed/test_embed_api.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_embed/test_embed_mount.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_embed/test_export_png.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_examples/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_examples/test_interactive_examples.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/_event_test_utils.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_blit_audit.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_callbacks_playwright.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_callbacks_unit.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_edit_chrome.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_edit_chrome_playwright.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_event_pause_hold.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_event_plots.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_event_settled.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_events_regression.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_tile_parity_playwright.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_title.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_touch.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_widget_max_extent.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_interactive/test_widgets.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_labels/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_labels/test_label_api.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_labels/test_label_rendering.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_labels/test_no_clipping.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/test_batch.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/test_geom_channel.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/test_gridspec.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/test_inset.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/test_inset_callout.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/test_interaction.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_layouts/test_visual.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_markers/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_markers/test_marker_transforms.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_markers/test_markers.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot1d/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot1d/test_plot1d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot1d/test_plotbar.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_detail_tile.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_first_paint_race.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_gpu_image.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_gpu_parity_playwright.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_imshow.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_imshow_rgb.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_layers.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_layers_playwright.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_pcolormesh.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_plot2d_api.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_rapid_frame_update.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_tile_backend.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_tiled_imshow.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot2d/test_zoom_view_write.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot3d/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot3d/test_colors_highlight.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot3d/test_gpu_fallback.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot3d/test_gpu_hidden_reveal.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot3d/test_plot3d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plot3d/test_voxels_planes.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/test_plotxy/test_plotxy.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/widgets/__init__.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/widgets/_base.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/widgets/_widgets1d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/widgets/_widgets2d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/widgets/_widgets3d.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/_sg_html_scraper.py +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/_static/anyplotlib.svg +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/_static/custom.css +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/_static/pyodide_bridge.js +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/_templates/autosummary/class.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/api/callbacks.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/api/figure.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/api/figure_plots.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/api/index.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/api/markers.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/api/widgets.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/benchmarking.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/dev/index.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/embedding.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/events.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/getting_started.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/docs/index.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/make.bat +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/upcoming_changes/README.rst +0 -0
- {anyplotlib-0.4.1 → anyplotlib-0.4.2}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: anyplotlib
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
4
4
|
Summary: A plotting library using python, javascript and anywidget for performant in browser plotting.
|
|
5
5
|
Project-URL: Homepage, https://cssfrancis.github.io/anyplotlib/
|
|
6
6
|
Project-URL: Repository, https://github.com/CSSFrancis/anyplotlib
|
|
@@ -568,13 +568,17 @@ class Plot2D(_BasePlot, _PanelMixin, _MarkerMixin):
|
|
|
568
568
|
self._state["base_width"] = int(ow)
|
|
569
569
|
self._state["base_height"] = int(oh)
|
|
570
570
|
self._overview_stale = False
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
571
|
+
# min/max are two more full passes over the overview — same guard rule
|
|
572
|
+
# as the FETCH diagnostic below (they are .debug() ARGUMENTS, so lazy
|
|
573
|
+
# formatting does not skip them).
|
|
574
|
+
if _TLOG.isEnabledFor(logging.DEBUG):
|
|
575
|
+
_TLOG.debug(
|
|
576
|
+
"[TILEDBG] overview refresh: overview=%s u8[min=%d max=%d] "
|
|
577
|
+
"display=(%s,%s) base_wh=(%d,%d) image_wh=(%s,%s)", (oh, ow),
|
|
578
|
+
int(img_u8.min()), int(img_u8.max()),
|
|
579
|
+
self._state.get("display_min"), self._state.get("display_max"),
|
|
580
|
+
ow, oh, self._state.get("image_width"),
|
|
581
|
+
self._state.get("image_height"))
|
|
578
582
|
except Exception as e:
|
|
579
583
|
_TLOG.warning("[TILEDBG] overview refresh FAILED: %s", e)
|
|
580
584
|
|
|
@@ -648,28 +652,47 @@ class Plot2D(_BasePlot, _PanelMixin, _MarkerMixin):
|
|
|
648
652
|
else:
|
|
649
653
|
out_h, out_w = dh, max(1, int(round(dh * aspect)))
|
|
650
654
|
b = self._tile_backend
|
|
651
|
-
# DIAGNOSTIC: the raw native region straight from the backend, BEFORE
|
|
652
|
-
# sampling — its shape + distinct-value count tells us whether the backend
|
|
653
|
-
# actually holds native pixels. If region is 82×82 but the raw crop has
|
|
654
|
-
# only ~100 distinct values, the backend source is a downsample (bug).
|
|
655
|
-
_raw = np.asarray(b._a[y0:y1, x0:x1]) if hasattr(b, "_a") else None
|
|
656
655
|
tile = self._tile_backend.sample(
|
|
657
656
|
x0, x1, y0, y1, out_w, out_h, self._integration_method)
|
|
658
657
|
if b.origin == "lower":
|
|
659
658
|
tile = np.flipud(tile)
|
|
660
659
|
self.set_detail(np.ascontiguousarray(tile), x0, x1, y0, y1)
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
660
|
+
# The FETCH diagnostic sorts the raw native crop and the tile
|
|
661
|
+
# (np.unique) — 259 ms on a 4096² frame at the zoom where VIEW_OVERFETCH
|
|
662
|
+
# makes the crop the whole image. Those were arguments to a .debug()
|
|
663
|
+
# call, so lazy %-formatting did NOT save them: every pan paid for them
|
|
664
|
+
# at any log level. Guard the whole block, never inline it again.
|
|
665
|
+
if _TLOG.isEnabledFor(logging.DEBUG):
|
|
666
|
+
self._log_fetch_diagnostic(
|
|
667
|
+
b, tile, zoom, x0, x1, y0, y1, rw, rh, out_w, out_h)
|
|
668
|
+
except Exception as e:
|
|
669
|
+
_TLOG.warning("[TILEDBG] view_changed tile update FAILED: %s", e)
|
|
670
|
+
|
|
671
|
+
def _log_fetch_diagnostic(self, b, tile, zoom, x0, x1, y0, y1, rw, rh,
|
|
672
|
+
out_w, out_h) -> None:
|
|
673
|
+
"""The expensive [TILEDBG] FETCH line — only ever call this behind an
|
|
674
|
+
``isEnabledFor(DEBUG)`` guard.
|
|
675
|
+
|
|
676
|
+
The distinct-value counts are the point of it: if the requested region is
|
|
677
|
+
82×82 but the backend's raw crop has only ~100 distinct values, the backend
|
|
678
|
+
source is a downsample rather than native pixels (a real bug this caught).
|
|
679
|
+
Both counts are full sorts of up to 16 M pixels, hence the guard."""
|
|
680
|
+
try:
|
|
681
|
+
raw = np.asarray(b._a[y0:y1, x0:x1]) if hasattr(b, "_a") else None
|
|
682
|
+
rawinfo = ("raw_crop=%s distinct=%d"
|
|
683
|
+
% (raw.shape, int(np.unique(raw).size))
|
|
684
|
+
) if raw is not None else "raw=?"
|
|
685
|
+
arr = np.asarray(tile)
|
|
665
686
|
_TLOG.debug(
|
|
666
687
|
"[TILEDBG] view_changed FETCH zoom=%.2f region=[x %d:%d y %d:%d] "
|
|
667
|
-
"(%dx%d logical) BACKEND_shape=%s %s → tile=%dx%d
|
|
668
|
-
"u8[min=%d max=%d]",
|
|
669
|
-
zoom, x0, x1, y0, y1, rw, rh,
|
|
670
|
-
|
|
688
|
+
"(%dx%d logical) BACKEND_shape=%s %s → tile=%dx%d "
|
|
689
|
+
"tile_distinct=%d u8[min=%d max=%d]",
|
|
690
|
+
zoom, x0, x1, y0, y1, rw, rh,
|
|
691
|
+
b.full_shape if hasattr(b, "full_shape") else "?", rawinfo,
|
|
692
|
+
out_w, out_h, int(np.unique(arr).size),
|
|
693
|
+
int(arr.min()), int(arr.max()))
|
|
671
694
|
except Exception as e:
|
|
672
|
-
_TLOG.
|
|
695
|
+
_TLOG.debug("[TILEDBG] FETCH diagnostic failed: %s", e)
|
|
673
696
|
|
|
674
697
|
@staticmethod
|
|
675
698
|
def _encode_bytes(arr: np.ndarray) -> str:
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"""The [TILEDBG] diagnostics must cost NOTHING unless debug logging is on.
|
|
2
|
+
|
|
3
|
+
``_on_view_changed_internal`` reports the distinct-value counts of the backend's
|
|
4
|
+
raw native crop and of the sampled tile, which is genuinely useful (it catches a
|
|
5
|
+
backend that hands back a downsample instead of native pixels). But both are
|
|
6
|
+
``np.unique`` — full sorts — and they were passed as ARGUMENTS to ``_TLOG.debug``.
|
|
7
|
+
Lazy %-formatting does not help there: the arguments are evaluated before the
|
|
8
|
+
call, so every pan/zoom paid for them at any log level. Measured on a 4096² frame
|
|
9
|
+
with VIEW_OVERFETCH=2.0, where the over-fetched crop is the whole image: 259 ms
|
|
10
|
+
per pan for the raw crop plus 12 ms for the tile.
|
|
11
|
+
|
|
12
|
+
These tests pin the GUARD, not the message text.
|
|
13
|
+
"""
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import logging
|
|
17
|
+
|
|
18
|
+
import numpy as np
|
|
19
|
+
|
|
20
|
+
import anyplotlib as apl
|
|
21
|
+
from anyplotlib.callbacks import Event
|
|
22
|
+
import anyplotlib.plot2d._plot2d as _p2
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
TILE_LOG = "anyplotlib.tile"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def _tiled_plot(edge=1024):
|
|
29
|
+
p = apl.subplots(1, 1)[1].imshow(np.zeros((10, 10), np.float32))
|
|
30
|
+
p.set_data(np.random.RandomState(0).rand(edge, edge).astype(np.float32),
|
|
31
|
+
clim=(0, 1), tile=True)
|
|
32
|
+
return p
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def _pan(p, zoom=4.0, cx=0.5, cy=0.5):
|
|
36
|
+
p.callbacks.fire(Event("view_changed", zoom=zoom, center_x=cx, center_y=cy,
|
|
37
|
+
display_width=800, display_height=800))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class _CountUnique:
|
|
41
|
+
"""Count np.unique calls without changing what it returns."""
|
|
42
|
+
|
|
43
|
+
def __init__(self, monkeypatch):
|
|
44
|
+
self.n = 0
|
|
45
|
+
real = np.unique
|
|
46
|
+
def counting(*a, **k):
|
|
47
|
+
self.n += 1
|
|
48
|
+
return real(*a, **k)
|
|
49
|
+
monkeypatch.setattr(_p2.np, "unique", counting)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class TestFetchDiagnosticIsGuarded:
|
|
53
|
+
def test_pan_does_no_sorting_at_info_level(self, monkeypatch):
|
|
54
|
+
logger = logging.getLogger(TILE_LOG)
|
|
55
|
+
monkeypatch.setattr(logger, "level", logging.INFO)
|
|
56
|
+
p = _tiled_plot()
|
|
57
|
+
counter = _CountUnique(monkeypatch) # after setup, so only the pan counts
|
|
58
|
+
_pan(p)
|
|
59
|
+
assert p._state["detail_region"], "the detail tile must still be fetched"
|
|
60
|
+
assert counter.n == 0, (
|
|
61
|
+
f"np.unique ran {counter.n}x on a pan with debug logging off — the "
|
|
62
|
+
f"[TILEDBG] diagnostic is unguarded again (259 ms/pan on a 4096² frame)")
|
|
63
|
+
|
|
64
|
+
def test_diagnostic_still_runs_at_debug_level(self, monkeypatch, caplog):
|
|
65
|
+
logger = logging.getLogger(TILE_LOG)
|
|
66
|
+
monkeypatch.setattr(logger, "level", logging.DEBUG)
|
|
67
|
+
p = _tiled_plot()
|
|
68
|
+
counter = _CountUnique(monkeypatch)
|
|
69
|
+
with caplog.at_level(logging.DEBUG, logger=TILE_LOG):
|
|
70
|
+
_pan(p)
|
|
71
|
+
assert counter.n >= 1, "the distinct-value diagnostic must survive at DEBUG"
|
|
72
|
+
assert any("view_changed FETCH" in r.message for r in caplog.records), \
|
|
73
|
+
"the FETCH line itself must still be emitted at DEBUG"
|
|
74
|
+
|
|
75
|
+
def test_tile_content_is_unchanged_by_the_guard(self, monkeypatch):
|
|
76
|
+
"""The guard must not alter what gets displayed — same region, same tile."""
|
|
77
|
+
logger = logging.getLogger(TILE_LOG)
|
|
78
|
+
p = _tiled_plot()
|
|
79
|
+
monkeypatch.setattr(logger, "level", logging.DEBUG)
|
|
80
|
+
_pan(p, zoom=4.0)
|
|
81
|
+
dbg = (list(p._state["detail_region"]), p._state["detail_width"],
|
|
82
|
+
p._state["detail_height"], p._state["detail_b64"])
|
|
83
|
+
p2 = _tiled_plot()
|
|
84
|
+
monkeypatch.setattr(logger, "level", logging.INFO)
|
|
85
|
+
_pan(p2, zoom=4.0)
|
|
86
|
+
quiet = (list(p2._state["detail_region"]), p2._state["detail_width"],
|
|
87
|
+
p2._state["detail_height"], p2._state["detail_b64"])
|
|
88
|
+
assert dbg == quiet
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<title>anyplotlib – redirecting…</title>
|
|
6
6
|
<!-- Redirect to the latest dev docs. -->
|
|
7
|
-
<meta http-equiv="refresh" content="0; url=v0.4.
|
|
8
|
-
<link rel="canonical" href="v0.4.
|
|
7
|
+
<meta http-equiv="refresh" content="0; url=v0.4.2/" />
|
|
8
|
+
<link rel="canonical" href="v0.4.2/" />
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<p>
|
|
12
|
-
Redirecting to <a href="v0.4.
|
|
12
|
+
Redirecting to <a href="v0.4.2/">v0.4.2 documentation</a>…
|
|
13
13
|
</p>
|
|
14
14
|
</body>
|
|
15
15
|
</html>
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
"version": "dev",
|
|
5
5
|
"url": "https://cssfrancis.github.io/anyplotlib/dev/"
|
|
6
6
|
},
|
|
7
|
+
{
|
|
8
|
+
"name": "v0.4.2 (stable)",
|
|
9
|
+
"version": "v0.4.2",
|
|
10
|
+
"url": "https://cssfrancis.github.io/anyplotlib/v0.4.2/"
|
|
11
|
+
},
|
|
7
12
|
{
|
|
8
13
|
"name": "v0.4.1 (stable)",
|
|
9
14
|
"version": "v0.4.1",
|
|
@@ -17,7 +17,7 @@ from _sg_html_scraper import ViewerScraper # noqa: E402
|
|
|
17
17
|
project = "anyplotlib"
|
|
18
18
|
copyright = "2026, anyplotlib contributors"
|
|
19
19
|
author = "anyplotlib contributors"
|
|
20
|
-
release = "0.4.
|
|
20
|
+
release = "0.4.2"
|
|
21
21
|
|
|
22
22
|
# When built in CI the workflow sets DOCS_VERSION to the tag name (e.g.
|
|
23
23
|
# "v0.1.0") or "dev". Fall back to "dev" for local builds.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/Examples/Interactive/plot_segment_by_contrast_advanced.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/static/anywidget_bridge.js
RENAMED
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/static/anywidget_overlay.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/sphinx_anywidget/tests/test_wheel_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_3col_equal_spectra.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_image_two_spectra.png
RENAMED
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/gridspec_side_by_side_1d.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{anyplotlib-0.4.1 → anyplotlib-0.4.2}/anyplotlib/tests/baselines/inset_stacked_one_minimized.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|