napari: a fast, interactive, multi-dimensional image viewer for python
This report presents the forensic synthetic code analysis of napari/napari, a Python project with 2,698 GitHub stars. SynthScan v2.0 examined 210,512 lines of code across 1034 source files, recording 3413 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 25.7 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3413 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/create_pr_or_update_existing_one.py | 319 | def update_external_pr_comment( | CODE |
| LOW | tools/validate_strings.py | 526 | def test_missing_translations(checks): | CODE |
| LOW | tools/validate_strings.py | 563 | def test_outdated_string_skips(checks): | CODE |
| LOW | tools/check_deps_version.py | 58 | def get_specified_min_version(specifier: SpecifierSet) -> Version: | CODE |
| LOW | tools/check_deps_version.py | 142 | def check_version_for_compatible_wheel( | CODE |
| LOW | tools/check_deps_version.py | 160 | def find_lowest_version_with_compatible_wheel( | CODE |
| LOW | tools/remove_html_comments_from_pr.py | 23 | def edit_pull_request_description(repo, pull_request_number, access_token): | CODE |
| LOW | examples/theme_sample.py | 248 | def _build_theme_selector_group(self) -> QGroupBox: | STRING |
| LOW | examples/boids_simulation.py | 124 | def compute_flock_step_forward( | CODE |
| LOW | examples/boids_simulation.py | 194 | def iterate_accelerated_flock_forever(boids, num_workers=8): | CODE |
| LOW | examples/interactive_move_rectangle_3d.py | 44 | def move_rectangle_along_normal(layer, event): | STRING |
| LOW | examples/custom_mouse_functions.py | 33 | def get_connected_component_shape(layer, event): | CODE |
| LOW | examples/custom_mouse_functions.py | 76 | def on_second_click_of_double_click(layer, event): | CODE |
| LOW | examples/bbox_annotator.py | 57 | def set_selected_features_to_default(): | CODE |
| LOW | examples/multithreading_two_way_.py | 23 | def two_way_communication_with_args(start, end): | CODE |
| LOW | examples/dev/triangle_edge.py | 64 | def get_reference_edge_triangulation_points(shape: Shapes) -> np.ndarray: | CODE |
| LOW | examples/dev/triangle_edge.py | 108 | def generate_miter_helper_vectors( | CODE |
| LOW | examples/dev/triangle_edge.py | 140 | def generate_orthogonal_vectors(direction_vectors: np.ndarray) -> np.ndarray: | CODE |
| LOW | examples/dev/triangle_edge.py | 197 | def generate_edge_triangle_borders(centers, offsets, triangles) -> np.ndarray: | CODE |
| LOW | examples/dev/triangle_edge.py | 231 | def generate_face_triangle_borders(vertices, triangles) -> np.ndarray: | CODE |
| LOW | examples/dev/triangle_edge.py | 268 | def get_helper_data_from_shapes(shapes_layer: Shapes) -> Helpers: | CODE |
| LOW | examples/dev/controllable_overlay.py | 181 | def highlight_roi_box_handles(layer: Image, event: NapariMouseEvent) -> None: | CODE |
| LOW | src/napari_builtins/_measure_shapes.py | 67 | def update_features_with_measures(shapes_layer, event=None): | CODE |
| LOW | src/napari_builtins/_tests/test_writer.py | 50 | def test_no_write_layer_bad_extension(some_layer: 'layers.Layer'): | CODE |
| LOW | src/napari_builtins/_tests/test_io.py | 96 | def test_zarr_with_unrelated_file(tmp_path): | CODE |
| LOW | src/napari_builtins/_tests/test_io.py | 169 | def test_guess_layer_type_from_column_names(): | CODE |
| LOW | src/napari_builtins/_tests/test_io.py | 214 | def test_csv_to_layer_data_raises(tmp_path): | CODE |
| LOW⚡ | src/napari_builtins/_tests/test_io.py | 368 | def test_github_and_gitlab_to_raw_url(url, expected): | CODE |
| LOW⚡ | src/napari_builtins/_tests/test_io.py | 372 | def test_read_zarr_non_existent_path_raises(tmp_path): | CODE |
| LOW⚡ | src/napari_builtins/_tests/test_io.py | 378 | def test_read_zarr_remote_group_raises(tmp_path, monkeypatch): | CODE |
| LOW | src/napari_builtins/_tests/test_io.py | 393 | def test_read_zarr_remote_array_succeeds(tmp_path, monkeypatch): | CODE |
| LOW | src/napari_builtins/_tests/test_io.py | 408 | def test_zarr_multiple_groups_reads_first(tmp_path, monkeypatch): | CODE |
| LOW | src/napari_builtins/_tests/test_read.py | 96 | def test_read_python_source_uses_python_source_encoding( | CODE |
| LOW | src/napari_builtins/io/_read.py | 43 | def _git_provider_url_to_raw_url(filename: str) -> str: | CODE |
| LOW | src/napari_builtins/io/_read.py | 421 | def _guess_layer_type_from_column_names( | CODE |
| LOW | src/napari_builtins/io/_read.py | 603 | def load_and_execute_python_code(script_path: str) -> list[LayerData]: | CODE |
| LOW | src/napari_builtins/io/_write.py | 270 | def write_layer_data_with_plugins( | CODE |
| LOW | src/napari_builtins/_qt/features_table.py | 383 | def _get_cell_value_and_dtype( | CODE |
| LOW | src/napari_builtins/_qt/features_table.py | 814 | def _get_selection_event_for_layer(layer): | CODE |
| LOW | src/napari_builtins/_qt/features_table.py | 844 | def _on_layer_selection_change(self): | CODE |
| LOW | src/napari_builtins/_qt/features_table.py | 909 | def _build_multilayer_features_table( | CODE |
| LOW | src/napari_builtins/_qt/features_table.py | 961 | def _get_original_categories_from_layers( | CODE |
| LOW | src/napari_builtins/_qt/features_table.py | 993 | def _on_table_selection_changed(self): | CODE |
| LOW | src/napari_builtins/_qt/features_table.py | 1052 | def _update_table_selected_cells(self): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_qt_read.py | 26 | def test_load_and_execute_python_code_uses_python_source_encoding( | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 49 | def test_pandas_model_set_data(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 74 | def test_pandas_model_set_data_categorical(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 162 | def test_features_table_selection_labels(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 178 | def test_features_table_selection_shapes(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 224 | def test_features_table_save_csv(qtbot, tmp_path, monkeypatch): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 242 | def test_features_table_copy_paste(qtbot, qapp): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 305 | def test_features_tables_dtypes( | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 354 | def test_features_table_change_active_layer(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 393 | def _add_all_supported_layers(viewer, include=None): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 444 | def test_features_table_multilayer_table_concat(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 478 | def test_features_table_multilayer_layer_selection_change(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 516 | def test_features_table_multilayer_table_selection(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 569 | def test_features_table_multilayer_edit(qtbot): | CODE |
| LOW | src/napari_builtins/_qt/_tests/test_features_table.py | 606 | def test_features_table_multilayer_save_csv(qtbot, tmp_path, monkeypatch): | CODE |
| LOW | src/napari/conftest.py | 197 | def pytest_exception_interact(call): | CODE |
| 1982 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 151 | self.viewer.dims.events.order.connect(self.update_cross) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 152 | self.viewer.dims.events.ndim.connect(self._update_ndim) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 153 | self.viewer.dims.events.current_step.connect(self.update_cross) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 251 | self.viewer.layers.events.inserted.connect(self._layer_added) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 252 | self.viewer.layers.events.removed.connect(self._layer_removed) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 253 | self.viewer.layers.events.moved.connect(self._layer_moved) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 254 | self.viewer.layers.selection.events.active.connect( | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 257 | self.viewer.dims.events.current_step.connect(self._point_update) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 258 | self.viewer_model1.dims.events.current_step.connect(self._point_update) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 259 | self.viewer_model2.dims.events.current_step.connect(self._point_update) | CODE |
| CRITICAL⚡ | examples/multiple_viewer_widget.py | 260 | self.viewer.dims.events.order.connect(self._order_update) | CODE |
| CRITICAL | examples/viewer_fps_label.py | 24 | viewer.window._qt_viewer.canvas._scene_canvas.measure_fps(callback=update_fps) | CODE |
| CRITICAL | src/napari_builtins/_qt/features_table.py | 755 | self.viewer.layers.selection.events.changed.connect( | CODE |
| CRITICAL | src/napari_builtins/_qt/features_table.py | 758 | self.viewer.layers.events.renamed.connect(self._on_layer_renamed) | CODE |
| CRITICAL | src/napari/layers/labels/labels.py | 2157 | value = self._slice.image.raw.dtype.type(value) | CODE |
| CRITICAL | src/napari/_tests/test_multiple_viewers.py | 12 | v1.window._qt_viewer.viewerButtons.gridViewButton.click() | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 260 | self.viewer.cursor.events.style.connect(self._on_cursor) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 261 | self.viewer.cursor.events.size.connect(self._on_cursor) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 269 | self.viewer.camera.events.mouse_pan.connect(self._on_interactive) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 270 | self.viewer.camera.events.mouse_zoom.connect(self._on_interactive) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 271 | self.viewer.camera.events.zoom.connect(self._on_cursor) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 273 | self.viewer._zoom_box.events.zoom_area.connect(self._on_boxzoom) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 274 | self.viewer.layers.events.reordered.connect(self._update_scenegraph) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 275 | self.viewer.layers.events.removed.connect(self._remove_layer) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 276 | self.viewer.layers.events.begin_batch.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 279 | self.viewer.layers.events.end_batch.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 282 | self.viewer.layers.events.units.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 285 | self.viewer.grid.events.stride.connect(self._update_scenegraph) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 286 | self.viewer.grid.events.shape.connect(self._update_scenegraph) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 287 | self.viewer.grid.events.enabled.connect(self._update_scenegraph) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 288 | self.viewer.grid.events.spacing.connect(self._update_scenegraph) | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 289 | self.viewer._overlays.events.added.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 292 | self.viewer._overlays.events.removed.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/canvas.py | 295 | self.viewer._overlays.events.changed.connect( | CODE |
| CRITICAL | src/napari/_vispy/canvas.py | 808 | self.viewer.camera.events.angles.connect(vispy_layer._on_camera_move) | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/points.py | 34 | self.layer._border.events.colors.connect(self._on_data_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/points.py | 35 | self.layer._border.events.color_properties.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/points.py | 39 | self.layer._face.events.colors.connect(self._on_data_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/points.py | 40 | self.layer._face.events.color_properties.connect(self._on_data_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/scalar_field.py | 63 | self.layer.plane.events.position.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/scalar_field.py | 66 | self.layer.plane.events.thickness.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/scalar_field.py | 69 | self.layer.plane.events.normal.connect(self._on_plane_normal_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/surface.py | 36 | self.layer.wireframe.events.visible.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/surface.py | 39 | self.layer.wireframe.events.width.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/surface.py | 42 | self.layer.wireframe.events.color.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/surface.py | 45 | self.layer.normals.face.events.connect(self._on_face_normals_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/layers/surface.py | 46 | self.layer.normals.vertex.events.connect( | CODE |
| CRITICAL | src/napari/_vispy/_tests/test_utils.py | 57 | viewer.window._qt_viewer.canvas.cursor.shape() | CODE |
| CRITICAL | src/napari/_vispy/_tests/test_utils.py | 63 | viewer.window._qt_viewer.canvas.cursor.shape() | CODE |
| CRITICAL | …ari/_vispy/_tests/test_vispy_labels_polygon_overlay.py | 183 | ) in viewer.window._qt_viewer.canvas._layer_overlay_to_visual.get( | CODE |
| CRITICAL | src/napari/_vispy/overlays/brush_circle.py | 49 | self.node.parent.scene.canvas.events.mouse_move.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/scale_bar.py | 50 | self.viewer.camera.events.zoom.connect(self._on_size_or_zoom_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/scale_bar.py | 52 | self.viewer.dims.events.order.connect(self._on_unit_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/scale_bar.py | 53 | self.viewer.dims.events.ndisplay.connect(self._on_unit_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/axes.py | 44 | self.viewer.camera.events.zoom.connect(self._on_zoom_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/axes.py | 45 | self.viewer.dims.events.order.connect(self._on_data_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/axes.py | 46 | self.viewer.dims.events.range.connect(self._on_data_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/axes.py | 47 | self.viewer.dims.events.ndisplay.connect(self._on_data_change) | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/axes.py | 48 | self.viewer.dims.events.axis_labels.connect( | CODE |
| CRITICAL⚡ | src/napari/_vispy/overlays/floating_axes.py | 56 | self.viewer.dims.events.order.connect(self._on_data_change) | CODE |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/validate_strings.py | 32 | CODE | |
| LOW | tools/validate_strings.py | 43 | CODE | |
| LOW | tools/check_updated_packages.py | 1 | CODE | |
| LOW | examples/theme_sample.py | 15 | CODE | |
| LOW | examples/boids_simulation.py | 25 | CODE | |
| LOW | examples/mgui_dask_delayed_.py | 10 | CODE | |
| LOW | examples/dev/controllable_overlay.py | 22 | CODE | |
| LOW | src/napari_builtins/_tests/test_writer.py | 11 | CODE | |
| LOW | src/napari_builtins/_tests/test_io.py | 27 | CODE | |
| LOW | src/napari_builtins/_tests/test_read.py | 15 | CODE | |
| LOW | src/napari_builtins/_tests/test_read.py | 16 | CODE | |
| LOW | src/napari_builtins/io/_read.py | 1 | CODE | |
| LOW | src/napari_builtins/io/_write.py | 13 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 1 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 1 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 1 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 1 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 1 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 1 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 1 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 10 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 10 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 10 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 10 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 10 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 10 | CODE | |
| LOW | src/napari_builtins/io/__init__.py | 10 | CODE | |
| LOW | src/napari_builtins/_qt/features_table.py | 1 | CODE | |
| LOW | src/napari/conftest.py | 32 | CODE | |
| LOW | src/napari/viewer.py | 13 | CODE | |
| LOW | src/napari/window.py | 14 | CODE | |
| LOW | src/napari/types.py | 25 | CODE | |
| LOW | src/napari/types.py | 26 | CODE | |
| LOW | src/napari/types.py | 27 | CODE | |
| LOW | src/napari/types.py | 28 | CODE | |
| LOW | src/napari/_event_loop.py | 2 | CODE | |
| LOW | src/napari/settings/_base.py | 1 | CODE | |
| LOW | src/napari/settings/__init__.py | 5 | CODE | |
| LOW | src/napari/settings/_yaml.py | 1 | CODE | |
| LOW | src/napari/settings/_shortcuts.py | 1 | CODE | |
| LOW | src/napari/settings/_application.py | 1 | CODE | |
| LOW | src/napari/settings/_migrations.py | 1 | CODE | |
| LOW | src/napari/experimental/__init__.py | 1 | CODE | |
| LOW | src/napari/experimental/__init__.py | 1 | CODE | |
| LOW | src/napari/experimental/__init__.py | 1 | CODE | |
| LOW | src/napari/layers/_source.py | 1 | CODE | |
| LOW | src/napari/layers/intensity_mixin.py | 14 | CODE | |
| LOW | src/napari/layers/intensity_mixin.py | 15 | CODE | |
| LOW | src/napari/layers/__init__.py | 10 | CODE | |
| LOW | src/napari/layers/__init__.py | 11 | CODE | |
| LOW | src/napari/layers/__init__.py | 12 | CODE | |
| LOW | src/napari/layers/__init__.py | 13 | CODE | |
| LOW | src/napari/layers/__init__.py | 14 | CODE | |
| LOW | src/napari/layers/__init__.py | 15 | CODE | |
| LOW | src/napari/layers/__init__.py | 16 | CODE | |
| LOW | src/napari/layers/__init__.py | 17 | CODE | |
| LOW | src/napari/layers/_layer_actions.py | 6 | CODE | |
| LOW | src/napari/layers/_multiscale_data.py | 1 | CODE | |
| LOW | src/napari/layers/labels/labels.py | 1 | CODE | |
| LOW | src/napari/layers/labels/__init__.py | 2 | CODE | |
| 424 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/napari/layers/labels/labels.py | 0 | dataframe-like features table. it is an implementation detail that this is a `pandas.dataframe`. in the future, we will | STRING |
| HIGH | src/napari/layers/tracks/tracks.py | 0 | dataframe-like features table. it is an implementation detail that this is a `pandas.dataframe`. in the future, we will | STRING |
| HIGH | src/napari/layers/tracks/_track_utils.py | 0 | dataframe-like features table. it is an implementation detail that this is a `pandas.dataframe`. in the future, we will | STRING |
| HIGH | src/napari/layers/surface/surface.py | 0 | dataframe-like features table. it is an implementation detail that this is a `pandas.dataframe`. in the future, we will | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | dataframe-like features table. it is an implementation detail that this is a `pandas.dataframe`. in the future, we will | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | dataframe-like features table. it is an implementation detail that this is a `pandas.dataframe`. in the future, we will | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | dataframe-like features table. it is an implementation detail that this is a `pandas.dataframe`. in the future, we will | STRING |
| HIGH | src/napari/layers/labels/labels.py | 0 | get dictionary of layer state. returns ------- state : dict of str to any dictionary of layer state. | STRING |
| HIGH | src/napari/layers/tracks/tracks.py | 0 | get dictionary of layer state. returns ------- state : dict of str to any dictionary of layer state. | STRING |
| HIGH | src/napari/layers/surface/surface.py | 0 | get dictionary of layer state. returns ------- state : dict of str to any dictionary of layer state. | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | get dictionary of layer state. returns ------- state : dict of str to any dictionary of layer state. | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | get dictionary of layer state. returns ------- state : dict of str to any dictionary of layer state. | STRING |
| HIGH | src/napari/layers/image/image.py | 0 | get dictionary of layer state. returns ------- state : dict of str to any dictionary of layer state. | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | get dictionary of layer state. returns ------- state : dict of str to any dictionary of layer state. | STRING |
| HIGH | src/napari/layers/labels/labels.py | 0 | tooltip message of the data at a coordinate position. parameters ---------- position : ndarray position in either data o | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | tooltip message of the data at a coordinate position. parameters ---------- position : ndarray position in either data o | STRING |
| HIGH | src/napari/layers/base/base.py | 0 | tooltip message of the data at a coordinate position. parameters ---------- position : ndarray position in either data o | STRING |
| HIGH | src/napari/layers/labels/_tests/test_labels.py | 0 | test getting the value of the rgb data at the current coordinates. | STRING |
| HIGH | src/napari/layers/shapes/_tests/test_shapes.py | 0 | test getting the value of the rgb data at the current coordinates. | STRING |
| HIGH | src/napari/layers/vectors/_tests/test_vectors.py | 0 | test getting the value of the rgb data at the current coordinates. | STRING |
| HIGH | src/napari/layers/image/_tests/test_volume.py | 0 | test getting the value of the rgb data at the current coordinates. | STRING |
| HIGH | src/napari/layers/image/_tests/test_image.py | 0 | test getting the value of the rgb data at the current coordinates. | STRING |
| HIGH | src/napari/layers/image/_tests/test_multiscale.py | 0 | test getting the value of the rgb data at the current coordinates. | STRING |
| HIGH | src/napari/layers/points/_tests/test_points.py | 0 | test getting the value of the rgb data at the current coordinates. | STRING |
| HIGH | src/napari/layers/tracks/tracks.py | 0 | extent of layer in data coordinates. returns ------- extent_data : array, shape (2, d) | STRING |
| HIGH | src/napari/layers/surface/surface.py | 0 | extent of layer in data coordinates. returns ------- extent_data : array, shape (2, d) | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | extent of layer in data coordinates. returns ------- extent_data : array, shape (2, d) | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | extent of layer in data coordinates. returns ------- extent_data : array, shape (2, d) | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | extent of layer in data coordinates. returns ------- extent_data : array, shape (2, d) | STRING |
| HIGH | src/napari/layers/_scalar_field/scalar_field.py | 0 | extent of layer in data coordinates. returns ------- extent_data : array, shape (2, d) | STRING |
| HIGH | src/napari/layers/base/base.py | 0 | extent of layer in data coordinates. returns ------- extent_data : array, shape (2, d) | STRING |
| HIGH | src/napari/layers/surface/surface.py | 0 | dataframe-like with one row of feature default values. see `features` for more details on the type of this property. | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | dataframe-like with one row of feature default values. see `features` for more details on the type of this property. | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | dataframe-like with one row of feature default values. see `features` for more details on the type of this property. | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | dataframe-like with one row of feature default values. see `features` for more details on the type of this property. | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | return the colormap to be applied to a property to get the border color. returns ------- colormap : napari.utils.colorma | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | return the colormap to be applied to a property to get the border color. returns ------- colormap : napari.utils.colorma | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | return the colormap to be applied to a property to get the border color. returns ------- colormap : napari.utils.colorma | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | none, (float, float): contrast limits for mapping the border_color colormap property to 0 and 1 | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | none, (float, float): contrast limits for mapping the border_color colormap property to 0 and 1 | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | none, (float, float): contrast limits for mapping the border_color colormap property to 0 and 1 | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | str: face color setting mode direct (default mode) allows each point to be set arbitrarily cycle allows the color to be | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | str: face color setting mode direct (default mode) allows each point to be set arbitrarily cycle allows the color to be | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | str: face color setting mode direct (default mode) allows each point to be set arbitrarily cycle allows the color to be | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | calculate and update face and border colors if using a cycle or color map parameters ---------- update_color_mapping : b | STRING |
| HIGH | src/napari/layers/utils/color_manager.py | 0 | calculate and update face and border colors if using a cycle or color map parameters ---------- update_color_mapping : b | STRING |
| HIGH | src/napari/layers/vectors/vectors.py | 0 | calculate and update face and border colors if using a cycle or color map parameters ---------- update_color_mapping : b | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | calculate and update face and border colors if using a cycle or color map parameters ---------- update_color_mapping : b | STRING |
| HIGH | src/napari/layers/shapes/shapes.py | 0 | get the colors of the text elements at the given indices. | STRING |
| HIGH | src/napari/layers/utils/text_manager.py | 0 | get the colors of the text elements at the given indices. | STRING |
| HIGH | src/napari/layers/points/points.py | 0 | get the colors of the text elements at the given indices. | STRING |
| HIGH | src/napari/layers/shapes/_shapes_constants.py | 0 | colormode: color setting mode. direct (default mode) allows each point to be set arbitrarily cycle allows the color to b | STRING |
| HIGH | src/napari/layers/utils/_color_manager_constants.py | 0 | colormode: color setting mode. direct (default mode) allows each point to be set arbitrarily cycle allows the color to b | STRING |
| HIGH | src/napari/layers/points/_points_constants.py | 0 | colormode: color setting mode. direct (default mode) allows each point to be set arbitrarily cycle allows the color to b | STRING |
| HIGH | src/napari/layers/shapes/_tests/test_shapes.py | 0 | helper function to make property values parameters ---------- values the values to be cycled. length : int the length of | STRING |
| HIGH | src/napari/layers/utils/_tests/test_color_manager.py | 0 | helper function to make property values parameters ---------- values the values to be cycled. length : int the length of | STRING |
| HIGH | src/napari/layers/points/_tests/test_points.py | 0 | helper function to make property values parameters ---------- values the values to be cycled. length : int the length of | STRING |
| HIGH | src/napari/layers/shapes/_tests/test_shapes.py | 0 | see the following for the issues this covers: https://github.com/napari/napari/issues/5632 https://github.com/napari/nap | STRING |
| HIGH | src/napari/layers/vectors/_tests/test_vectors.py | 0 | see the following for the issues this covers: https://github.com/napari/napari/issues/5632 https://github.com/napari/nap | STRING |
| HIGH | src/napari/layers/points/_tests/test_points.py | 0 | see the following for the issues this covers: https://github.com/napari/napari/issues/5632 https://github.com/napari/nap | STRING |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tox.ini | 1 | # Tox (http://tox.testrun.org/) is a tool for running tests | COMMENT |
| LOW | resources/requirements_mypy.txt | 1 | # This file was autogenerated by uv via the following command: | COMMENT |
| LOW | resources/requirements_mypy.txt | 41 | # build | COMMENT |
| LOW | resources/requirements_mypy.txt | 61 | # via pydantic | COMMENT |
| LOW | resources/requirements_mypy.txt | 81 | # magicgui | COMMENT |
| LOW | resources/requirements_mypy.txt | 101 | types-setuptools==83.0.0.20260706 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 1 | # This file was autogenerated by uv via the following command: | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 21 | # aiohttp | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 41 | # via requests | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 61 | # via cuda-bindings | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 81 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 101 | # via matplotlib | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 121 | google-crc32c==1.8.0 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 141 | imageio==2.37.3 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 161 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 181 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 201 | # distributed | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 221 | # glasbey | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 241 | # via napari (pyproject.toml) | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 261 | npe2==0.8.3 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 281 | # edt | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 301 | # scikit-learn | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 321 | nvidia-cuda-runtime==13.0.96 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 341 | nvidia-nvjitlink==13.0.88 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 361 | # nibabel | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 381 | # via dask | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 401 | # napari (pyproject.toml) | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 421 | # via ipython | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 441 | pure-eval==0.2.3 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 461 | pydantic-settings==2.14.2 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 481 | # via napari (pyproject.toml) | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 501 | # pytest-json-report | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 521 | python-discovery==1.4.3 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 541 | qtpy==2.4.3 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 561 | rich==15.0.0 | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 581 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 601 | # hypothesis | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 621 | # via scikit-learn | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 641 | # via trackastra | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 661 | # qtconsole | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 681 | # numcodecs | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 701 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.12_examples.txt | 721 | # geff | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 1 | # This file was autogenerated by uv via the following command: | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 21 | # referencing | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 61 | # via virtualenv | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 81 | freetype-py==2.5.1 | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 101 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 121 | # ipykernel | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 141 | # ipykernel | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 161 | # via lxml | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 181 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 201 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 221 | # pandas | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 241 | nvidia-cuda-runtime==13.0.96 | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 261 | nvidia-nvjitlink==13.0.88 | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 281 | # pytest-rerunfailures | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 301 | # via | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 321 | pluggy==1.6.0 | COMMENT |
| LOW | resources/constraints/constraints_py3.14.txt | 341 | # ipython | COMMENT |
| 177 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/napari/viewer.py | 121 | self.window._qt_viewer.console.push(variables) | CODE |
| HIGH | src/napari/layers/labels/_tests/test_labels.py | 2291 | with more colors is undefined, so we don't test it here. | CODE |
| HIGH | src/napari/layers/vectors/vectors.py | 547 | self.events.length() | CODE |
| HIGH | src/napari/_vispy/visuals/volume.py | 113 | if (u_clamp_at_border || (prev_loc[i] >= 0.0 && prev_loc[i] <= 1.0)) { | CODE |
| HIGH | src/napari/_vispy/visuals/volume.py | 120 | if (u_clamp_at_border || (next_loc[i] >= 0.0 && next_loc[i] <= 1.0)) { | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 168 | if (is_on_border && (i != 0 && j != 0 && k != 0)) { | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 176 | if (is_in_bounds || u_clamp_at_border) { | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 183 | (1 + float(j == 0 || k == 0) + 2 * float(j == 0 && k == 0)); | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 183 | (1 + float(j == 0 || k == 0) + 2 * float(j == 0 && k == 0)); | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 185 | (1 + float(i == 0 || k == 0) + 2 * float(i == 0 && k == 0)); | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 185 | (1 + float(i == 0 || k == 0) + 2 * float(i == 0 && k == 0)); | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 187 | (1 + float(i == 0 || j == 0) + 2 * float(i == 0 && j == 0)); | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 187 | (1 + float(i == 0 || j == 0) + 2 * float(i == 0 && j == 0)); | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 189 | next.x += int(i == 1 && j == 0 && k == 0) * val; | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 190 | next.y += int(i == 0 && j == 1 && k == 0) * val; | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 191 | next.z += int(i == 0 && j == 0 && k == 1) * val; | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 192 | prev.x += int(i == -1 && j == 0 && k == 0) * val; | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 193 | prev.y += int(i == 0 && j == -1 && k == 0) * val; | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 194 | prev.z += int(i == 0 && j == 0 && k == -1) * val; | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 196 | is_on_border = is_on_border || (!is_in_bounds && (i == 0 || j == 0 || k == 0)); | CODE |
| HIGH⚡ | src/napari/_vispy/visuals/volume.py | 201 | if (is_on_border && u_clamp_at_border) { | CODE |
| HIGH | src/napari/utils/misc.py | 425 | return df1.equals(df2) | CODE |
| HIGH | src/napari/utils/io.py | 283 | console.push(variables) | CODE |
| HIGH | src/napari/utils/events/evented_model.py | 457 | before = self.model_config.get('use_enum_values', null) | CODE |
| HIGH | src/napari/components/_layer_slicer.py | 325 | Attempt to remove task, return false if task not found, return true | STRING |
| HIGH⚡ | src/napari/_qt/qt_viewer.py | 523 | console.push( | CODE |
| HIGH⚡ | src/napari/_qt/qt_viewer.py | 528 | console.push({'np': np}) | CODE |
| HIGH⚡ | src/napari/_qt/qt_viewer.py | 531 | console.push( | CODE |
| HIGH | src/napari/_qt/qt_viewer.py | 1286 | filenames.append(url.toString()) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/theme_sample.py | 154 | def set_color(self, color: str) -> None: | STRING |
| LOW | examples/theme_sample.py | 181 | def set_color(self, color: str) -> None: | STRING |
| LOW | src/napari_builtins/io/__init__.py | 20 | __all__ = [ | CODE |
| LOW | src/napari/window.py | 9 | __all__ = ['Window'] | CODE |
| LOW | src/napari/view_layers.py | 13 | __all__ = ['imshow'] | CODE |
| LOW | src/napari/types.py | 31 | __all__ = [ | CODE |
| LOW | src/napari/settings/__init__.py | 11 | __all__ = ['CURRENT_SCHEMA_VERSION', 'NapariSettings', 'get_settings'] | CODE |
| LOW⚡ | src/napari/settings/_experimental.py | 128 | def _update_triangulation_backend(event: Event) -> None: | CODE |
| LOW⚡ | src/napari/settings/_experimental.py | 134 | def _update_colormap_backend(event: Event) -> None: | CODE |
| LOW | src/napari/experimental/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/napari/layers/__init__.py | 27 | __all__ = [ | CODE |
| LOW | src/napari/layers/labels/__init__.py | 10 | __all__ = ['Labels'] | CODE |
| LOW | src/napari/layers/tracks/tracks.py | 277 | def _set_view_slice(self) -> None: | CODE |
| LOW | src/napari/layers/tracks/tracks.py | 300 | def _update_thumbnail(self) -> None: | CODE |
| LOW | src/napari/layers/tracks/tracks.py | 695 | def _set_view_slice(self) -> None: | CODE |
| LOW | src/napari/layers/tracks/__init__.py | 3 | __all__ = ['Tracks'] | CODE |
| LOW | src/napari/layers/surface/__init__.py | 3 | __all__ = ['Surface'] | CODE |
| LOW | src/napari/layers/surface/surface.py | 644 | def _update_thumbnail(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/shapes.py | 2681 | def _set_highlight(self, force=False) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shape_list.py | 758 | def _update_displayed(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shape_list.py | 1149 | def _update_vertices(self, index: int) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shape_list.py | 1176 | def _update_mesh_triangles(self, index: int) -> None: | CODE |
| LOW | src/napari/layers/shapes/__init__.py | 10 | __all__ = ['Shapes'] | CODE |
| LOW | …ari/layers/shapes/_accelerated_triangulate_dispatch.py | 83 | def _set_numba(value: bool) -> None: | CODE |
| LOW | …ari/layers/shapes/_accelerated_triangulate_dispatch.py | 106 | def _set_warmup(value: bool) -> None: | CODE |
| LOW | …c/napari/layers/shapes/_shapes_models/_polygon_base.py | 95 | def _update_displayed_data(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shapes_models/line.py | 74 | def _update_displayed_data(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shapes_models/__init__.py | 8 | __all__ = ['Ellipse', 'Line', 'Path', 'Polygon', 'Rectangle', 'Shape'] | CODE |
| LOW | src/napari/layers/shapes/_shapes_models/rectangle.py | 80 | def _update_displayed_data(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shapes_models/shape.py | 209 | def _update_displayed_data(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shapes_models/shape.py | 310 | def _set_empty_edge(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shapes_models/shape.py | 315 | def _set_empty_face(self) -> None: | CODE |
| LOW | src/napari/layers/shapes/_shapes_models/ellipse.py | 88 | def _update_displayed_data(self) -> None: | CODE |
| LOW | src/napari/layers/utils/layer_utils.py | 830 | def set_values(self, values, *, num_data=None) -> None: | CODE |
| LOW | src/napari/layers/utils/layer_utils.py | 840 | def set_defaults(self, defaults: dict[str, Any] | pd.DataFrame) -> None: | CODE |
| LOW | src/napari/layers/utils/stack_utils.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/napari/layers/vectors/__init__.py | 3 | __all__ = ['Vectors'] | CODE |
| LOW | src/napari/layers/image/__init__.py | 10 | __all__ = ['Image'] | CODE |
| LOW | src/napari/layers/image/_image_mouse_bindings.py | 91 | def set_plane_position(layer: Image, event: Event) -> None: | CODE |
| LOW | src/napari/layers/image/image.py | 512 | def _update_thumbnail(self) -> None: | CODE |
| LOW | src/napari/layers/points/_points_mouse_bindings.py | 184 | def _update_drag_vectors_from_event(layer: Points, event: Event) -> None: | CODE |
| LOW | src/napari/layers/points/points.py | 623 | def _set_data(self, data: np.ndarray | None) -> None: | CODE |
| LOW | src/napari/layers/points/points.py | 1861 | def _set_highlight(self, force: bool = False) -> None: | CODE |
| LOW | src/napari/layers/points/points.py | 1928 | def _update_thumbnail(self) -> None: | CODE |
| LOW | src/napari/layers/points/points.py | 2490 | def _set_view_slice(self) -> None: | CODE |
| LOW | src/napari/layers/points/points.py | 2522 | def _update_slice_response(self, response: _PointSliceResponse) -> None: | CODE |
| LOW | src/napari/layers/points/__init__.py | 10 | __all__ = ['Points'] | CODE |
| LOW | src/napari/layers/base/_test_util_sample_layer.py | 13 | def _set_view_slice(self) -> None: | CODE |
| LOW | src/napari/layers/base/_test_util_sample_layer.py | 91 | def _set_view_slice(self) -> None: | CODE |
| LOW | src/napari/layers/base/_test_util_sample_layer.py | 94 | def _update_thumbnail(self) -> None: | CODE |
| LOW | src/napari/layers/base/__init__.py | 4 | __all__ = ['ActionType', 'Layer', 'LayerLock', '_LayerSlicingState', 'no_op'] | CODE |
| LOW⚡ | src/napari/layers/base/base.py | 307 | def _set_loaded(self, loaded: bool) -> None: | CODE |
| LOW⚡ | src/napari/layers/base/base.py | 313 | def _set_unloaded_slice_id(self, slice_id: int) -> None: | CODE |
| LOW⚡ | src/napari/layers/base/base.py | 322 | def _update_loaded_slice_id(self, slice_id: int) -> None: | CODE |
| LOW | src/napari/layers/base/base.py | 139 | def set_view_slice(self) -> None: | CODE |
| LOW | src/napari/layers/base/base.py | 881 | def _set_source(self, source: Source) -> None: | CODE |
| LOW | src/napari/layers/base/base.py | 1135 | def _update_dims(self) -> None: | CODE |
| LOW | src/napari/layers/base/base.py | 1447 | def set_view_slice(self) -> None: | CODE |
| LOW | src/napari/layers/base/base.py | 1675 | def _set_highlight(self, force: bool = False) -> None: | CODE |
| LOW | src/napari/resources/__init__.py | 9 | __all__ = [ | CODE |
| 107 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | examples/surface_multi_texture.py | 106 | # Create the napari layers | COMMENT |
| MEDIUM | examples/bbox_annotator.py | 43 | # Create the label selection menu | COMMENT |
| MEDIUM | examples/affine_coffee_cup.py | 39 | # Define an original affine transformation to be position of surface upon being loaded into viewer | COMMENT |
| MEDIUM | examples/affine_coffee_cup.py | 59 | # Define a new affine transform for the creamer surface, where it is moved up and at an angle to be 'poured' into th | COMMENT |
| MEDIUM | examples/screenshot_and_export_figure.py | 25 | # Create a napari viewer with multiple layer types and add a scale bar. | COMMENT |
| MEDIUM | examples/mouse_drag_image_warping.py | 40 | # Define a function to estimate the warping required to transform the destination points | COMMENT |
| MEDIUM | examples/image_border.py | 23 | # Create a napari viewer with a 3D, 2 channel image, with the `add_image` convenience function. | COMMENT |
| MEDIUM⚡ | examples/affine_transforms.py | 14 | # Create a random image | COMMENT |
| MEDIUM⚡ | examples/affine_transforms.py | 17 | # Define an affine transform | COMMENT |
| MEDIUM⚡ | examples/affine_transforms.py | 20 | # Define the corners of the image, including in homogeneous space | COMMENT |
| MEDIUM | examples/export_rois.py | 22 | # Create a napari viewer with multiple layer types and add a scale bar. | COMMENT |
| MEDIUM | examples/dev/triangle_edge.py | 29 | # Create a dummy numba.njit to allow running this script without numba | COMMENT |
| MEDIUM | examples/dev/slicing/random_shapes.py | 63 | # Create the example shapes if they do not exist | COMMENT |
| MEDIUM | src/napari_builtins/io/_write.py | 56 | # The above method generates a lot of extensions that will fail. This list | COMMENT |
| MEDIUM | src/napari/layers/_tests/test_layer_actions.py | 387 | # Create a label based on the shape. | COMMENT |
| MEDIUM | src/napari/layers/labels/labels.py | 1354 | # Create the slice to extract the full working volume/plane | COMMENT |
| MEDIUM | …apari/layers/shapes/_accelerated_triangulate_python.py | 281 | # Create an adjacency list representation from the edges | COMMENT |
| MEDIUM | …napari/layers/shapes/_accelerated_triangulate_numba.py | 826 | # Create a list (indexed by vertex) containing lists of incident edge indices. | COMMENT |
| MEDIUM | src/napari/layers/shapes/_tests/test_shapes.py | 2418 | # Create a layer with the first shape | COMMENT |
| MEDIUM | src/napari/layers/utils/text_manager.py | 359 | # Create a new instance from the input to populate all fields. | COMMENT |
| MEDIUM | src/napari/layers/utils/style_encoding.py | 114 | # The following classes provide generic implementations of common ways | COMMENT |
| MEDIUM | src/napari/layers/points/points.py | 2322 | # Define a minimal set of coordinates where the mask could be present | COMMENT |
| MEDIUM | src/napari/layers/base/base.py | 600 | # Create a transform chain consisting of four transforms: | COMMENT |
| MEDIUM | src/napari/_tests/test_function_widgets.py | 12 | # Define a function. | COMMENT |
| MEDIUM | …ari/_vispy/_tests/test_vispy_labels_polygon_overlay.py | 164 | # Create a labels layer that will be downsampled | COMMENT |
| MEDIUM | src/napari/utils/stubgen.py | 1 | """This module provides helper functions for autogenerating type stubs. | STRING |
| MEDIUM | src/napari/utils/colormaps/colormap_utils.py | 243 | # The following code can be used to reproduce these values. | COMMENT |
| MEDIUM⚡ | src/napari/utils/colormaps/_tests/test_colormap.py | 504 | # Create a DirectLabelColormap with an empty color_dict | COMMENT |
| MEDIUM⚡ | src/napari/utils/colormaps/_tests/test_colormap.py | 510 | # Create a DirectLabelColormap with a simple color_dict | COMMENT |
| MEDIUM | src/napari/utils/colormaps/_tests/test_colormap.py | 437 | # Create a DirectLabelColormap with a simple color_dict | COMMENT |
| MEDIUM | src/napari/utils/colormaps/_tests/test_colormap.py | 455 | # Create a DirectLabelColormap with a simple color_dict and a selection | COMMENT |
| MEDIUM | src/napari/utils/colormaps/_tests/test_colormap.py | 475 | # Create a DirectLabelColormap with a simple color_dict | COMMENT |
| MEDIUM | src/napari/utils/colormaps/_tests/test_colormap.py | 543 | # Create a DirectLabelColormap with a simple color_dict | COMMENT |
| MEDIUM | src/napari/components/experimental/monitor/_monitor.py | 178 | # Create the API first. It will register our callbacks, then | COMMENT |
| MEDIUM | src/napari/_qt/qt_main_window.py | 789 | """This function is only executed once at the startup of napari | STRING |
| MEDIUM⚡ | src/napari/_qt/qt_viewer.py | 212 | # Create the experimental QtPool for the monitor. | COMMENT |
| MEDIUM⚡ | src/napari/_qt/qt_viewer.py | 215 | # Create the experimental RemoteManager for the monitor. | COMMENT |
| MEDIUM | src/napari/_qt/qt_viewer.py | 1519 | # Create the remote manager and have monitor call its process_command() | COMMENT |
| MEDIUM | src/napari/_qt/_qapp_model/_tests/test_qproviders.py | 35 | # Create a viewer | COMMENT |
| MEDIUM | src/napari/_qt/_tests/test_qt_viewer.py | 292 | # Create an image with a defined shape (100x100) and a square in the middle | COMMENT |
| MEDIUM | src/napari/_qt/_tests/test_qt_viewer.py | 300 | # Create a couple of clearly defined rectangular polygons for validation | COMMENT |
| MEDIUM | src/napari/_qt/threads/status_checker.py | 53 | # Create a Signal to establish a lightweight communication mechanism between the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/validate_strings.py | 269 | CODE | |
| LOW | tools/validate_strings.py | 344 | CODE | |
| LOW | tools/validate_strings.py | 435 | CODE | |
| LOW | tools/check_deps_version.py | 75 | CODE | |
| LOW | src/napari_builtins/_measure_shapes.py | 67 | CODE | |
| LOW | src/napari_builtins/io/_read.py | 223 | CODE | |
| LOW | src/napari_builtins/io/_read.py | 341 | CODE | |
| LOW | src/napari_builtins/_qt/features_table.py | 128 | CODE | |
| LOW | src/napari_builtins/_qt/features_table.py | 675 | CODE | |
| LOW | src/napari_builtins/_qt/features_table.py | 909 | CODE | |
| LOW | src/napari_builtins/_qt/features_table.py | 961 | CODE | |
| LOW | src/napari_builtins/_qt/features_table.py | 993 | CODE | |
| LOW | src/napari_builtins/_qt/features_table.py | 1052 | CODE | |
| LOW | src/napari/conftest.py | 654 | CODE | |
| LOW | src/napari/_main.py | 49 | CODE | |
| LOW | src/napari/_pydantic_util.py | 26 | CODE | |
| LOW | src/napari/__main__.py | 211 | CODE | |
| LOW | src/napari/settings/_base.py | 511 | CODE | |
| LOW | src/napari/settings/_fields.py | 171 | CODE | |
| LOW | src/napari/settings/_migrations.py | 29 | CODE | |
| LOW | src/napari/settings/_migrations.py | 141 | CODE | |
| LOW | src/napari/layers/_tests/test_layer_attributes.py | 71 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 1127 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 1466 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 2455 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 2543 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 2590 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 2704 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 2815 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 2991 | CODE | |
| LOW | …apari/layers/shapes/_accelerated_triangulate_python.py | 263 | CODE | |
| LOW | src/napari/layers/shapes/_shapes_mouse_bindings.py | 58 | CODE | |
| LOW | src/napari/layers/shapes/_shapes_mouse_bindings.py | 683 | CODE | |
| LOW | src/napari/layers/shapes/_shapes_mouse_bindings.py | 812 | CODE | |
| LOW | src/napari/layers/shapes/_shapes_mouse_bindings.py | 905 | CODE | |
| LOW | …napari/layers/shapes/_accelerated_triangulate_numba.py | 399 | CODE | |
| LOW | …napari/layers/shapes/_accelerated_triangulate_numba.py | 793 | CODE | |
| LOW | …ari/layers/shapes/_tests/test_shapes_mouse_bindings.py | 1227 | CODE | |
| LOW | src/napari/layers/shapes/_shapes_models/shape.py | 788 | CODE | |
| LOW | src/napari/layers/utils/layer_utils.py | 646 | CODE | |
| LOW | src/napari/layers/utils/color_manager.py | 76 | CODE | |
| LOW | src/napari/layers/utils/color_manager.py | 495 | CODE | |
| LOW | src/napari/layers/utils/stack_utils.py | 60 | CODE | |
| LOW | src/napari/layers/vectors/vectors.py | 594 | CODE | |
| LOW | src/napari/layers/vectors/_vector_utils.py | 48 | CODE | |
| LOW | src/napari/layers/image/_slice.py | 16 | CODE | |
| LOW | src/napari/layers/points/points.py | 1277 | CODE | |
| LOW | src/napari/layers/points/points.py | 1861 | CODE | |
| LOW | src/napari/layers/points/points.py | 1999 | CODE | |
| LOW | …ari/layers/points/_tests/test_points_mouse_bindings.py | 686 | CODE | |
| LOW | src/napari/plugins/_npe2.py | 362 | CODE | |
| LOW | src/napari/_vispy/canvas.py | 402 | CODE | |
| LOW | src/napari/_vispy/canvas.py | 968 | CODE | |
| LOW | src/napari/_vispy/canvas.py | 1117 | CODE | |
| LOW | src/napari/_vispy/canvas.py | 1209 | CODE | |
| LOW | src/napari/_vispy/_tests/test_vispy_vectors_layer.py | 24 | CODE | |
| LOW | src/napari/_vispy/overlays/text.py | 64 | CODE | |
| LOW | src/napari/_vispy/visuals/axes.py | 215 | CODE | |
| LOW | src/napari/utils/action_manager.py | 330 | CODE | |
| LOW | src/napari/utils/_tracebacks.py | 100 | CODE | |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/validate_strings.py | 512 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/validate_strings.py | 525 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | examples/surface_multi_texture.py | 56 | # ------------------ | COMMENT |
| MEDIUM | examples/surface_multi_texture.py | 76 | # -------------- | COMMENT |
| MEDIUM | examples/surface_multi_texture.py | 85 | # ----------------- | COMMENT |
| MEDIUM⚡ | examples/surface_multi_texture.py | 107 | # ------------------------ | COMMENT |
| MEDIUM | examples/surface_multi_texture.py | 126 | # -------------------------- | COMMENT |
| MEDIUM | examples/theme_sample.py | 53 | # ── WCAG 2.1 helpers ─────────── | COMMENT |
| MEDIUM | examples/3D_vectors_through_time.py | 21 | # ----------- | COMMENT |
| MEDIUM | examples/3D_vectors_through_time.py | 52 | #---------------------------------- | COMMENT |
| MEDIUM | src/napari/layers/points/points.py | 2357 | # ---------- | STRING |
| MEDIUM | …apari/layers/_scalar_field/_tests/test_scalar_field.py | 177 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …apari/layers/_scalar_field/_tests/test_scalar_field.py | 179 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/napari/utils/translations.py | 164 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/napari/utils/_tests/test_translations.py | 183 | # ------------------ | STRING |
| MEDIUM | src/napari/utils/_tests/test_translations.py | 360 | # ------------------------------ | STRING |
| MEDIUM | src/napari/utils/_tests/test_translations.py | 374 | # ---------------------- | STRING |
| MEDIUM | src/napari/utils/events/event.py | 6 | # --------------------- | COMMENT |
| MEDIUM | src/napari/utils/events/event.py | 37 | # ---------- | COMMENT |
| MEDIUM | …er_controls/_tests/test_qt_multiscale_level_control.py | 12 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …er_controls/_tests/test_qt_multiscale_level_control.py | 14 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …er_controls/_tests/test_qt_multiscale_level_control.py | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …er_controls/_tests/test_qt_multiscale_level_control.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/napari/_qt/widgets/_tests/test_qt_size_preview.py | 34 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/napari/_qt/widgets/_tests/test_qt_size_preview.py | 50 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …napari/_qt/widgets/_tests/test_qt_highlight_preview.py | 48 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …napari/_qt/widgets/_tests/test_qt_highlight_preview.py | 65 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …napari/_qt/widgets/_tests/test_qt_highlight_preview.py | 115 | # ---------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/clipping_planes_interactive_.py | 110 | # Check if click was on plane by checking if intersection occurs within | COMMENT |
| LOW | examples/live_tiffs_.py | 96 | # Check if the end of acquisition has reached | COMMENT |
| LOW | .github/workflows/label_and_milestone_checker.yml | 65 | # Check if PR_MILESTONE_NAME is defined | COMMENT |
| LOW | .github/workflows/label_and_milestone_checker.yml | 92 | # Check if the PR's milestone is the closest future milestone | COMMENT |
| LOW | src/napari_builtins/io/_write.py | 305 | # Loop through data for each layer | COMMENT |
| LOW | src/napari_builtins/_qt/features_table.py | 163 | # Check if this column is immutable | COMMENT |
| LOW | src/napari_builtins/_qt/features_table.py | 188 | # Check if this column is immutable | COMMENT |
| LOW | src/napari_builtins/_qt/features_table.py | 440 | # Check if this is an immutable structural column (source or index) | COMMENT |
| LOW | src/napari_builtins/_qt/features_table.py | 450 | # Check if the feature column name is in immutable set | COMMENT |
| LOW | src/napari/settings/_appearance.py | 78 | # Check if a font_size change is needed when changing theme: | COMMENT |
| LOW | src/napari/settings/_appearance.py | 90 | # Check if a font_size change is needed when changing theme: | COMMENT |
| LOW⚡ | src/napari/layers/shapes/shapes.py | 3028 | # Check if inside vertex of interaction box or rotation handle | COMMENT |
| LOW⚡ | src/napari/layers/shapes/shapes.py | 3032 | # Check if any matching vertices | COMMENT |
| LOW⚡ | src/napari/layers/shapes/shapes.py | 3041 | # Check if inside vertex of shape | COMMENT |
| LOW⚡ | src/napari/layers/shapes/shapes.py | 3051 | # Check if any matching vertices | COMMENT |
| LOW | src/napari/layers/shapes/shapes.py | 2692 | # Check if any shape or vertex ids have changed since last call | COMMENT |
| LOW | src/napari/layers/shapes/shapes.py | 3068 | # Check if mouse inside shape | COMMENT |
| LOW | src/napari/layers/shapes/_tests/test_shape_list.py | 285 | # Check if the shape has been updated | COMMENT |
| LOW | src/napari/layers/shapes/_tests/test_shape_list.py | 301 | # Check if the shape has been updated | COMMENT |
| LOW | src/napari/layers/shapes/_tests/test_shape_list.py | 323 | # Check if the shape has been updated | COMMENT |
| LOW | src/napari/layers/shapes/_tests/test_shape_list.py | 350 | # Check if the face color has been updated | COMMENT |
| LOW | src/napari/layers/shapes/_tests/test_shape_list.py | 362 | # Check if the edge color remains unchanged | COMMENT |
| LOW | src/napari/layers/shapes/_tests/test_shape_list.py | 383 | # Check if the edge color has been updated | COMMENT |
| LOW | src/napari/layers/shapes/_tests/test_shape_list.py | 395 | # Check if the face color remains unchanged | COMMENT |
| LOW | src/napari/layers/utils/stack_utils.py | 42 | # Check if array is a zarr array and wrap it with dask | COMMENT |
| LOW | src/napari/layers/utils/stack_utils.py | 348 | # Check if input images are either all multiscale or not | COMMENT |
| LOW | src/napari/layers/image/_image_mouse_bindings.py | 49 | # Check if click was on plane and if not, exit early. | COMMENT |
| LOW | src/napari/layers/image/_image_mouse_bindings.py | 107 | # Check if click was on plane and if not, exit early. | COMMENT |
| LOW | src/napari/layers/points/points.py | 1871 | # Check if any point ids have changed since last call | COMMENT |
| LOW | src/napari/_vispy/layers/scalar_field.py | 137 | # Check if ndisplay has changed current node type needs updating | COMMENT |
| LOW | src/napari/utils/transforms/transform_utils.py | 247 | # Check if an upper-triangular representation of shear or | COMMENT |
| LOW⚡ | src/napari/utils/transforms/_tests/test_transforms.py | 303 | # Set shear to same value | COMMENT |
| LOW⚡ | src/napari/utils/transforms/_tests/test_transforms.py | 308 | # Set shear to same value | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/validate_strings.py | 367 | except Exception: # noqa BLE001 | CODE |
| MEDIUM | tools/check_deps_version.py | 89 | print(f'Error parsing wheel filename {filename}: {e}') | CODE |
| LOW | tools/check_deps_version.py | 285 | except Exception as e: # noqa: BLE001 | CODE |
| MEDIUM | tools/check_deps_version.py | 286 | print(f'Error reading {pyproject_path}: {e}') | CODE |
| MEDIUM | tools/check_deps_version.py | 281 | def main(pyproject_path='pyproject.toml'): | CODE |
| LOW | src/napari_builtins/io/_read.py | 149 | except Exception as e: | CODE |
| LOW | src/napari_builtins/io/_write.py | 320 | except Exception: | CODE |
| LOW | src/napari/_main.py | 69 | except Exception: # noqa: BLE001 | CODE |
| LOW | src/napari/_main.py | 84 | except Exception as e: | CODE |
| LOW | src/napari/_main.py | 92 | except Exception as e: | CODE |
| MEDIUM | src/napari/_main.py | 80 | def main() -> None: | CODE |
| LOW | src/napari/settings/_base.py | 190 | except Exception as err: # noqa: BLE001 | CODE |
| LOW | src/napari/settings/_migrations.py | 38 | except Exception as e: # noqa BLE001 | CODE |
| LOW | src/napari/settings/_migrations.py | 46 | except Exception: # noqa BLE001 | CODE |
| LOW | src/napari/layers/shapes/_shapes_utils.py | 870 | except Exception as e: # pragma: no cover | CODE |
| LOW | src/napari/layers/base/base.py | 2453 | except Exception as exc: | CODE |
| LOW | src/napari/utils/translations.py | 696 | except Exception as err: # noqa BLE001 | CODE |
| LOW | src/napari/utils/notifications.py | 382 | except Exception: | CODE |
| LOW | src/napari/utils/info.py | 217 | except Exception as e: # noqa BLE001 | STRING |
| LOW | src/napari/utils/info.py | 278 | except Exception as e: # noqa BLE001 | STRING |
| LOW | src/napari/utils/events/event.py | 780 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | src/napari/utils/colormaps/vendored/colors.py | 311 | except Exception: | CODE |
| LOW | src/napari/components/viewer_model.py | 1420 | except Exception as e: | CODE |
| LOW | src/napari/components/viewer_model.py | 1655 | except Exception as e: | CODE |
| LOW | src/napari/components/histogram.py | 301 | except Exception: # noqa: BLE001 | CODE |
| LOW | src/napari/_qt/qt_main_window.py | 1551 | except Exception as err: # noqa: BLE001 | CODE |
| LOW | src/napari/_qt/__init__.py | 7 | except Exception as e: | CODE |
| LOW | src/napari/_qt/threads/status_checker.py | 127 | except Exception as e: # pragma: no cover # noqa: BLE001 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/benchmarks.yml | 22 | # All the *_THREADS options is just to make the benchmarks more robust by not using parallelism | COMMENT |
| MEDIUM | src/napari/viewer.py | 75 | """Overload __new__ to facilitate temporary monkey-patching. | STRING |
| LOW | src/napari/__main__.py | 286 | # just set stack to True similar to the previous store_true action | COMMENT |
| LOW | src/napari/layers/tracks/tracks.py | 364 | # if we are visualizing all time, then just set to the maximum | COMMENT |
| LOW | …napari/layers/shapes/_accelerated_triangulate_numba.py | 288 | # otherwise, we just use the miter vector in either direction and add two | COMMENT |
| MEDIUM | …napari/layers/shapes/_accelerated_triangulate_numba.py | 692 | # Without the fix, the code is not robust to orientation. | COMMENT |
| LOW | src/napari/layers/utils/_text_utils.py | 51 | # if the data are a list of coordinates, just return the coord (e.g., points) | COMMENT |
| LOW | src/napari/layers/utils/_text_utils.py | 150 | # if the data are a list of coordinates, just return the coord (e.g., points) | COMMENT |
| LOW | src/napari/layers/utils/_tests/test_text_manager.py | 745 | # Cannot just use `rand(num_points, ndisplay)` because when | COMMENT |
| LOW⚡ | src/napari/layers/image/image.py | 644 | # translucent is special: just return the first value, no matter what | COMMENT |
| LOW⚡ | src/napari/layers/image/image.py | 647 | # iso is weird too: just return None always | COMMENT |
| LOW | src/napari/_tests/test_magicgui.py | 471 | # it works fine to just return `data` | COMMENT |
| LOW | src/napari/utils/interactions.py | 169 | # if not dragging simply call the mouse move callbacks | COMMENT |
| LOW | src/napari/components/experimental/monitor/_service.py | 132 | # Start with our environment and just add in the one variable. | COMMENT |
| MEDIUM | src/napari/_qt/qt_main_window.py | 123 | # To track window instances and facilitate getting the "active" viewer... | COMMENT |
| LOW | src/napari/_qt/_qapp_model/qactions/_plugins.py | 30 | # amended to be a napari plugin and simply add this menu item itself. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/magic_parameter_sweep.py | 25 | # In this example, because we have already imported napari anyway, it doesn't | COMMENT |
| HIGH⚡ | examples/surface_multi_texture.py | 109 | # In this example the texture coordinates happen to be the same for each | COMMENT |
| HIGH | examples/magic_image_arithmetic.py | 31 | # In this example, because we have already imported napari anyway, it doesn't | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/napari/view_layers.py | 79 | CODE | |
| LOW | src/napari/view_layers.py | 120 | CODE | |
| LOW | src/napari/view_layers.py | 160 | CODE | |
| LOW | src/napari/settings/_base.py | 344 | CODE | |
| LOW | src/napari/layers/labels/labels.py | 359 | CODE | |
| LOW | src/napari/layers/tracks/tracks.py | 116 | CODE | |
| LOW | src/napari/layers/surface/surface.py | 217 | CODE | |
| LOW | src/napari/layers/shapes/shapes.py | 442 | CODE | |
| LOW | …c/napari/layers/shapes/_shapes_models/_polygon_base.py | 37 | CODE | |
| LOW | src/napari/layers/vectors/vectors.py | 204 | CODE | |
| LOW | src/napari/layers/image/image.py | 247 | CODE | |
| LOW | src/napari/layers/points/points.py | 372 | CODE | |
| LOW | src/napari/layers/_scalar_field/scalar_field.py | 212 | CODE | |
| LOW | src/napari/layers/base/_test_util_sample_layer.py | 18 | CODE | |
| LOW | src/napari/layers/base/base.py | 533 | CODE | |
| LOW | src/napari/plugins/utils.py | 98 | CODE | |
| LOW | src/napari/utils/transforms/transforms.py | 425 | CODE | |
| LOW | src/napari/utils/transforms/transforms.py | 825 | CODE | |
| LOW | src/napari/utils/colormaps/vendored/colors.py | 1524 | CODE | |
| LOW | src/napari/components/viewer_model.py | 1069 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/napari/_vispy/overlays/colorbar.py | 131 | # we make sure to not update things when invisible | COMMENT |
| MEDIUM | src/napari/utils/tree/_tests/test_tree_model.py | 155 | # If you need to know if an item is an immediate child, you can use parent | COMMENT |
| LOW | src/napari/utils/colormaps/colormap_utils.py | 502 | # make sure to add an alpha channel to the colors | COMMENT |
| LOW | src/napari/_qt/utils.py | 304 | # let's make sure to remove the animation from the widget because | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/theme_sample.py | 101 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, | CODE |
| LOW | examples/theme_sample.py | 101 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, | CODE |
| LOW⚡ | …napari/_qt/_qapp_model/_tests/test_qapp_model_menus.py | 38 | id='dummy_id', | CODE |
| LOW⚡ | …napari/_qt/_qapp_model/_tests/test_qapp_model_menus.py | 46 | dummy_action = viewer.window.file_menu.findAction('dummy_id') | CODE |
| LOW⚡ | …napari/_qt/_qapp_model/_tests/test_qapp_model_menus.py | 48 | assert 'dummy_id' in app.commands | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/napari/_qt/qt_main_window.py | 130 | # provider for dependency injection | COMMENT |
| MEDIUM | src/napari/_qt/qt_viewer.py | 1541 | # in-n-out is used in napari for dependency injection. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/napari/_vispy/canvas.py | 870 | # Step 1: Force immediate garbage collection of OpenGL resources | COMMENT |
| LOW⚡ | src/napari/_vispy/canvas.py | 877 | # Step 2: Synchronize the OpenGL command queue | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/progress_bar_threading_.py | 68 | def my_function(*_): | CODE |
| LOW | examples/magic_viewer.py | 16 | def my_function(viewer: napari.Viewer): | CODE |
| LOW | src/napari/utils/events/_tests/test_evented_model.py | 394 | def my_function(): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/napari/_vispy/canvas.py | 870 | # Step 1: Force immediate garbage collection of OpenGL resources | COMMENT |
| LOW⚡ | src/napari/_vispy/canvas.py | 877 | # Step 2: Synchronize the OpenGL command queue | COMMENT |