Coverage report: 91%

Files Functions Classes

coverage.py v7.15.1, created at 2026-07-18 05:24 +0000

File function   statements missing excluded   coverage
src/evutils/__init__.py __getattr__   3 0 0   100%
src/evutils/__init__.py __dir__   1 1 0   0%
src/evutils/__init__.py (no function)   10 2 1   80%
src/evutils/_checker.py EventsChecker.__init__   9 3 0   67%
src/evutils/_checker.py EventsChecker.is_sorted   1 0 0   100%
src/evutils/_checker.py EventsChecker.has_valid_polarity   1 0 0   100%
src/evutils/_checker.py EventsChecker.has_valid_x   1 1 0   0%
src/evutils/_checker.py EventsChecker.has_valid_y   1 1 0   0%
src/evutils/_checker.py EventsChecker.is_valid   6 2 0   67%
src/evutils/_checker.py EventsChecker.__repr__   1 0 0   100%
src/evutils/_checker.py (no function)   10 0 0   100%
src/evutils/chunking.py window_delta_t   13 0 0   100%
src/evutils/chunking.py sliding_window   16 0 0   100%
src/evutils/chunking.py sort_events   1 0 0   100%
src/evutils/chunking.py get_dt_events   6 0 0   100%
src/evutils/chunking.py stream_delta_t   44 2 0   95%
src/evutils/chunking.py stream_n_events   20 0 0   100%
src/evutils/chunking.py stream_skip_to_time   13 0 0   100%
src/evutils/chunking.py stream_skip_to_event   17 17 0   0%
src/evutils/chunking.py stream_async   11 0 0   100%
src/evutils/chunking.py stream_async.worker   10 0 0   100%
src/evutils/chunking.py stream_paced_playback   17 0 0   100%
src/evutils/chunking.py (no function)   17 0 0   100%
src/evutils/dense/__init__.py (no function)   6 0 0   100%
src/evutils/dense/_frame.py _frame_gray_jit   9 0 0   100%
src/evutils/dense/_frame.py frame_gray   4 0 0   100%
src/evutils/dense/_frame.py _frame_rgb_jit   13 0 0   100%
src/evutils/dense/_frame.py frame_rgb   8 0 0   100%
src/evutils/dense/_frame.py _frame_diff_jit   9 0 0   100%
src/evutils/dense/_frame.py frame_diff   4 0 0   100%
src/evutils/dense/_frame.py (no function)   12 0 0   100%
src/evutils/dense/_histogram.py _histogram_jit   9 0 0   100%
src/evutils/dense/_histogram.py histogram   11 2 0   82%
src/evutils/dense/_histogram.py _wedge_histogram_jit   8 0 0   100%
src/evutils/dense/_histogram.py wedge_histogram   9 1 0   89%
src/evutils/dense/_histogram.py (no function)   9 0 0   100%
src/evutils/dense/_timesurface.py _timesurface_jit   12 0 0   100%
src/evutils/dense/_timesurface.py timesurface   6 0 0   100%
src/evutils/dense/_timesurface.py (no function)   6 0 0   100%
src/evutils/dense/_tore.py _tore_jit   12 0 0   100%
src/evutils/dense/_tore.py tore   7 0 0   100%
src/evutils/dense/_tore.py (no function)   6 0 0   100%
src/evutils/dense/_voxel.py voxel_histogram   12 0 0   100%
src/evutils/dense/_voxel.py (no function)   5 0 0   100%
src/evutils/filtering/__init__.py (no function)   2 0 0   100%
src/evutils/filtering/_masking.py mask_events   17 4 0   76%
src/evutils/filtering/_masking.py (no function)   2 0 0   100%
src/evutils/io/__init__.py (no function)   4 0 0   100%
src/evutils/io/_aedat.py _u16   1 0 0   100%
src/evutils/io/_aedat.py _i32   1 0 0   100%
src/evutils/io/_aedat.py _u32   1 0 0   100%
src/evutils/io/_aedat.py _i64   1 0 0   100%
src/evutils/io/_aedat.py _fb_field_pos   7 1 0   86%
src/evutils/io/_aedat.py _parse_io_header   16 0 0   100%
src/evutils/io/_aedat.py _parse_event_packet   12 3 0   75%
src/evutils/io/_aedat.py _np_empty_v4   1 1 0   0%
src/evutils/io/_aedat.py _parse_streams_xml   27 0 0   100%
src/evutils/io/_aedat.py _decompress_lz4   5 2 0   60%
src/evutils/io/_aedat.py _decompress_zstd   10 10 0   0%
src/evutils/io/_aedat.py EventDecoder_Aedat.__init__   13 1 0   92%
src/evutils/io/_aedat.py EventDecoder_Aedat._parse_header   31 2 0   94%
src/evutils/io/_aedat.py EventDecoder_Aedat._parse_v4_header   19 3 0   84%
src/evutils/io/_aedat.py EventDecoder_Aedat.init   8 1 0   88%
src/evutils/io/_aedat.py EventDecoder_Aedat._unwrap_ts   10 1 0   90%
src/evutils/io/_aedat.py EventDecoder_Aedat._batch_v1_v2   29 0 0   100%
src/evutils/io/_aedat.py EventDecoder_Aedat._batch_v3   43 19 0   56%
src/evutils/io/_aedat.py EventDecoder_Aedat._batch_v4   33 15 0   55%
src/evutils/io/_aedat.py EventDecoder_Aedat.read_chunk   17 3 0   82%
src/evutils/io/_aedat.py EventDecoder_Aedat.reset   4 0 0   100%
src/evutils/io/_aedat.py EventDecoder_Aedat.tell   1 1 0   0%
src/evutils/io/_aedat.py EventDecoder_Aedat.close   1 0 0   100%
src/evutils/io/_aedat.py _fb_io_header   11 0 0   100%
src/evutils/io/_aedat.py _fb_event_packet   20 0 0   100%
src/evutils/io/_aedat.py _fb_trigger_packet   19 19 0   0%
src/evutils/io/_aedat.py EventEncoder_Aedat.__init__   2 0 0   100%
src/evutils/io/_aedat.py EventEncoder_Aedat.init   8 1 0   88%
src/evutils/io/_aedat.py EventEncoder_Aedat.write   27 15 0   44%
src/evutils/io/_aedat.py (no function)   52 0 0   100%
src/evutils/io/_aer.py EventDecoder_AER.__init__   21 1 0   95%
src/evutils/io/_aer.py EventDecoder_AER.init   19 1 0   95%
src/evutils/io/_aer.py EventDecoder_AER._apply_custom_ts   3 0 0   100%
src/evutils/io/_aer.py EventDecoder_AER.parse_step   12 1 0   92%
src/evutils/io/_aer.py EventDecoder_AER.read_chunk   15 15 0   0%
src/evutils/io/_aer.py EventDecoder_AER.read_all   12 1 0   92%
src/evutils/io/_aer.py EventDecoder_AER.reset   5 0 0   100%
src/evutils/io/_aer.py EventDecoder_AER.tell   1 1 0   0%
src/evutils/io/_aer.py EventDecoder_AER.close   2 0 0   100%
src/evutils/io/_aer.py EventEncoder_AER.__init__   1 0 0   100%
src/evutils/io/_aer.py EventEncoder_AER.init   1 0 0   100%
src/evutils/io/_aer.py EventEncoder_AER.write   9 1 0   89%
src/evutils/io/_aer.py (no function)   26 0 0   100%
src/evutils/io/_bin.py EventDecoder_Bin.__init__   1 0 0   100%
src/evutils/io/_bin.py EventDecoder_Bin.init   1 1 0   0%
src/evutils/io/_bin.py EventDecoder_Bin.read_chunk   1 1 0   0%
src/evutils/io/_bin.py EventDecoder_Bin.reset   1 1 0   0%
src/evutils/io/_bin.py EventEncoder_Bin.__init__   1 0 0   100%
src/evutils/io/_bin.py EventEncoder_Bin.init   1 1 0   0%
src/evutils/io/_bin.py EventEncoder_Bin.write   1 1 0   0%
src/evutils/io/_bin.py (no function)   13 0 0   100%
src/evutils/io/_compression.py is_compressed_path   1 0 0   100%
src/evutils/io/_compression.py strip_compression_suffix   5 0 0   100%
src/evutils/io/_compression.py _open_zstd   16 8 0   50%
src/evutils/io/_compression.py open_compressed   13 0 0   100%
src/evutils/io/_compression.py (no function)   8 0 0   100%
src/evutils/io/_csv.py EventDecoder_Csv.__init__   9 0 0   100%
src/evutils/io/_csv.py EventDecoder_Csv._check_header   15 1 0   93%
src/evutils/io/_csv.py EventDecoder_Csv.init   12 0 0   100%
src/evutils/io/_csv.py EventDecoder_Csv.read_chunk   50 8 0   84%
src/evutils/io/_csv.py EventDecoder_Csv._file_size   4 0 0   100%
src/evutils/io/_csv.py EventDecoder_Csv._line_start_at_or_after   12 3 0   75%
src/evutils/io/_csv.py EventDecoder_Csv._parse_line_t   20 5 0   75%
src/evutils/io/_csv.py EventDecoder_Csv._seek_line_index   17 3 0   82%
src/evutils/io/_csv.py EventDecoder_Csv.seek   26 1 0   96%
src/evutils/io/_csv.py EventDecoder_Csv.reset   6 0 0   100%
src/evutils/io/_csv.py EventEncoder_Csv.__init__   10 2 0   80%
src/evutils/io/_csv.py EventEncoder_Csv.init   4 0 0   100%
src/evutils/io/_csv.py EventEncoder_Csv.write   40 2 0   95%
src/evutils/io/_csv.py (no function)   26 0 0   100%
src/evutils/io/_dat.py EventDecoder_Dat.__init__   9 0 0   100%
src/evutils/io/_dat.py EventDecoder_Dat._parse_header   11 1 0   91%
src/evutils/io/_dat.py EventDecoder_Dat._consume_header_line   13 4 0   69%
src/evutils/io/_dat.py EventDecoder_Dat.init   24 1 0   96%
src/evutils/io/_dat.py EventDecoder_Dat.parse_step   9 1 0   89%
src/evutils/io/_dat.py EventDecoder_Dat.read_chunk   23 23 0   0%
src/evutils/io/_dat.py EventDecoder_Dat.read_all   8 1 0   88%
src/evutils/io/_dat.py EventDecoder_Dat.seek   30 3 0   90%
src/evutils/io/_dat.py EventDecoder_Dat.reset   4 0 0   100%
src/evutils/io/_dat.py EventDecoder_Dat.tell   1 1 0   0%
src/evutils/io/_dat.py EventDecoder_Dat.close   2 0 0   100%
src/evutils/io/_dat.py EventEncoder_Dat.__init__   2 0 0   100%
src/evutils/io/_dat.py EventEncoder_Dat.init   6 1 0   83%
src/evutils/io/_dat.py EventEncoder_Dat.write   12 1 0   92%
src/evutils/io/_dat.py (no function)   31 0 0   100%
src/evutils/io/_event_reader.py EventReader.__init__   102 8 0   92%
src/evutils/io/_event_reader.py EventReader.init   4 1 0   75%
src/evutils/io/_event_reader.py EventReader._check_no_active_prefetch   2 0 0   100%
src/evutils/io/_event_reader.py EventReader._pull   19 1 0   95%
src/evutils/io/_event_reader.py EventReader.read   10 1 0   90%
src/evutils/io/_event_reader.py EventReader._pace   15 0 0   100%
src/evutils/io/_event_reader.py EventReader._read_n_events_fast   22 2 0   91%
src/evutils/io/_event_reader.py EventReader._read_n_events_readchunk   14 2 0   86%
src/evutils/io/_event_reader.py EventReader._dt_trigger_sink   3 0 0   100%
src/evutils/io/_event_reader.py EventReader._grow_out   3 0 0   100%
src/evutils/io/_event_reader.py EventReader._finalize_delta_t_window   11 2 0   82%
src/evutils/io/_event_reader.py EventReader._read_delta_t_fast   54 4 0   93%
src/evutils/io/_event_reader.py EventReader._peek_first_ts   7 0 0   100%
src/evutils/io/_event_reader.py EventReader._dt_ring_size   5 0 0   100%
src/evutils/io/_event_reader.py EventReader._acquire_window_buffer   13 1 0   92%
src/evutils/io/_event_reader.py EventReader._read_delta_t_c   33 2 0   94%
src/evutils/io/_event_reader.py EventReader._flush_dt_carry   9 0 0   100%
src/evutils/io/_event_reader.py EventReader._attach_sensor_size   9 2 0   78%
src/evutils/io/_event_reader.py EventReader._read   1 0 0   100%
src/evutils/io/_event_reader.py EventReader._read_impl   66 3 0   95%
src/evutils/io/_event_reader.py EventReader.read_all   40 12 0   70%
src/evutils/io/_event_reader.py EventReader.reset   12 0 0   100%
src/evutils/io/_event_reader.py EventReader.last_seek   1 0 0   100%
src/evutils/io/_event_reader.py EventReader.event_index   1 0 0   100%
src/evutils/io/_event_reader.py EventReader.seek   42 5 0   88%
src/evutils/io/_event_reader.py EventReader._peek_stream_first_ts   10 4 0   60%
src/evutils/io/_event_reader.py EventReader._seek_linear   38 11 0   71%
src/evutils/io/_event_reader.py EventReader.__enter__   1 0 0   100%
src/evutils/io/_event_reader.py EventReader.is_eof   3 1 0   67%
src/evutils/io/_event_reader.py EventReader.close   4 0 0   100%
src/evutils/io/_event_reader.py EventReader.__exit__   1 0 0   100%
src/evutils/io/_event_reader.py EventReader.__repr__   5 5 0   0%
src/evutils/io/_event_reader.py EventReader.__len__   1 0 0   100%
src/evutils/io/_event_reader.py EventReader.__iter__   11 0 0   100%
src/evutils/io/_event_reader.py EventReader._paced_iter   6 0 0   100%
src/evutils/io/_event_reader.py EventReader._iter_sync   10 1 0   90%
src/evutils/io/_event_reader.py EventReader.shape   5 1 0   80%
src/evutils/io/_event_reader.py EventReader.tell   3 3 0   0%
src/evutils/io/_event_reader.py (no function)   58 0 1   100%
src/evutils/io/_event_writer.py EventWriter.__init__   23 3 0   87%
src/evutils/io/_event_writer.py EventWriter._ensure_encoder   18 0 0   100%
src/evutils/io/_event_writer.py EventWriter._open_file   3 0 0   100%
src/evutils/io/_event_writer.py EventWriter.init   3 0 0   100%
src/evutils/io/_event_writer.py EventWriter.write   9 0 0   100%
src/evutils/io/_event_writer.py EventWriter.flush   2 2 0   0%
src/evutils/io/_event_writer.py EventWriter.__enter__   1 0 0   100%
src/evutils/io/_event_writer.py EventWriter.__repr__   4 4 0   0%
src/evutils/io/_event_writer.py EventWriter.__len__   1 1 0   0%
src/evutils/io/_event_writer.py EventWriter.close   4 0 0   100%
src/evutils/io/_event_writer.py EventWriter.__exit__   1 0 0   100%
src/evutils/io/_event_writer.py (no function)   18 0 0   100%
src/evutils/io/_evt.py _resolution_from_generation   10 8 0   20%
src/evutils/io/_evt.py EventDecoder_EVT.__init__   17 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT._parse_header   15 1 0   93%
src/evutils/io/_evt.py EventDecoder_EVT._consume_header_line   17 5 0   71%
src/evutils/io/_evt.py EventDecoder_EVT._finalize_header   33 2 0   94%
src/evutils/io/_evt.py EventDecoder_EVT._infer_resolution   23 5 0   78%
src/evutils/io/_evt.py EventDecoder_EVT.init   24 2 0   92%
src/evutils/io/_evt.py EventDecoder_EVT._find_first_time_high   18 1 0   94%
src/evutils/io/_evt.py EventDecoder_EVT._tail_pad   1 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT._exact_window   1 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT.parse_step   12 1 0   92%
src/evutils/io/_evt.py EventDecoder_EVT._has_delta_t_parser   1 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT.parse_step_delta_t   37 8 0   78%
src/evutils/io/_evt.py EventDecoder_EVT._apply_dt_correction   4 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT.read_chunk   26 3 0   88%
src/evutils/io/_evt.py EventDecoder_EVT.read_all   13 2 0   85%
src/evutils/io/_evt.py EventDecoder_EVT.reset   5 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT._ensure_index   24 2 0   92%
src/evutils/io/_evt.py EventDecoder_EVT._decode_step   14 1 0   93%
src/evutils/io/_evt.py EventDecoder_EVT.seek   50 8 0   84%
src/evutils/io/_evt.py EventDecoder_EVT.tell   4 4 0   0%
src/evutils/io/_evt.py EventDecoder_EVT.close   3 0 0   100%
src/evutils/io/_evt.py get_raw_evt3_buffer   31 1 0   97%
src/evutils/io/_evt.py get_raw_evt2_buffer   17 0 0   100%
src/evutils/io/_evt.py get_raw_evt21_buffer   18 0 0   100%
src/evutils/io/_evt.py get_raw_evt4_buffer   17 0 0   100%
src/evutils/io/_evt.py EventEncoder_EVT.__init__   12 1 0   92%
src/evutils/io/_evt.py EventEncoder_EVT.init   5 1 0   80%
src/evutils/io/_evt.py EventEncoder_EVT.write   17 1 0   94%
src/evutils/io/_evt.py (no function)   76 0 0   100%
src/evutils/io/_hdf5.py _fill_ms_to_idx   5 0 0   100%
src/evutils/io/_hdf5.py EventDecoder_HDF5.__init__   9 0 0   100%
src/evutils/io/_hdf5.py EventDecoder_HDF5.init   31 3 0   90%
src/evutils/io/_hdf5.py EventDecoder_HDF5._slice   15 3 0   80%
src/evutils/io/_hdf5.py EventDecoder_HDF5.read_chunk   10 1 0   90%
src/evutils/io/_hdf5.py EventDecoder_HDF5.read_all   6 1 0   83%
src/evutils/io/_hdf5.py EventDecoder_HDF5.read   17 2 0   88%
src/evutils/io/_hdf5.py EventDecoder_HDF5._all_t   9 2 0   78%
src/evutils/io/_hdf5.py EventDecoder_HDF5.seek   12 1 0   92%
src/evutils/io/_hdf5.py EventDecoder_HDF5.reset   2 0 0   100%
src/evutils/io/_hdf5.py EventDecoder_HDF5.tell   1 1 0   0%
src/evutils/io/_hdf5.py EventDecoder_HDF5.close   3 0 0   100%
src/evutils/io/_hdf5.py EventEncoder_HDF5.__init__   7 0 0   100%
src/evutils/io/_hdf5.py EventEncoder_HDF5.init   10 1 0   90%
src/evutils/io/_hdf5.py EventEncoder_HDF5.write   22 0 0   100%
src/evutils/io/_hdf5.py EventEncoder_HDF5.flush   2 2 0   0%
src/evutils/io/_hdf5.py EventEncoder_HDF5.close   12 1 0   92%
src/evutils/io/_hdf5.py (no function)   32 0 0   100%
src/evutils/io/_index.py SeekIndex.n_events   0 0 1   100%
src/evutils/io/_index.py SeekIndex.bookmark_for_time   0 0 1   100%
src/evutils/io/_index.py SeekIndex.bookmark_for_event   0 0 1   100%
src/evutils/io/_index.py StaticSeekIndex.bookmark_for_time   5 1 0   80%
src/evutils/io/_index.py StaticSeekIndex.bookmark_for_event   5 1 0   80%
src/evutils/io/_index.py StaticSeekIndex.__len__   1 1 0   0%
src/evutils/io/_index.py IncrementalSeekIndex.__init__   22 0 0   100%
src/evutils/io/_index.py IncrementalSeekIndex.n_events   1 0 0   100%
src/evutils/io/_index.py IncrementalSeekIndex._update_arrs   5 0 0   100%
src/evutils/io/_index.py IncrementalSeekIndex._next_time_high   16 3 0   81%
src/evutils/io/_index.py IncrementalSeekIndex._build_until   53 5 0   91%
src/evutils/io/_index.py IncrementalSeekIndex.bookmark_for_time   7 1 0   86%
src/evutils/io/_index.py IncrementalSeekIndex.bookmark_for_event   7 0 0   100%
src/evutils/io/_index.py IncrementalSeekIndex.build_all   2 0 0   100%
src/evutils/io/_index.py IncrementalSeekIndex.to_static   2 0 0   100%
src/evutils/io/_index.py metavision_index_path   2 0 0   100%
src/evutils/io/_index.py _parse_mv_header   15 1 0   93%
src/evutils/io/_index.py read_metavision_index   30 8 0   73%
src/evutils/io/_index.py evutils_index_path   2 0 0   100%
src/evutils/io/_index.py save_seek_index   18 2 0   89%
src/evutils/io/_index.py load_seek_index   22 4 0   82%
src/evutils/io/_index.py (no function)   42 0 5   100%
src/evutils/io/_native_aer.py AerInput.__init__   6 0 0   100%
src/evutils/io/_native_aer.py AerInput.consumed   2 0 0   100%
src/evutils/io/_native_aer.py _bind_aer   10 0 0   100%
src/evutils/io/_native_aer.py AerParser.__init__   6 0 0   100%
src/evutils/io/_native_aer.py AerParser.reset   1 0 0   100%
src/evutils/io/_native_aer.py AerParser.parse_chunk_soa   1 0 0   100%
src/evutils/io/_native_aer.py AerParser.__enter__   1 0 0   100%
src/evutils/io/_native_aer.py (no function)   21 0 0   100%
src/evutils/io/_native_core.py _candidate_filenames   4 4 0   0%
src/evutils/io/_native_core.py _search_roots   8 8 0   0%
src/evutils/io/_native_core.py _find_library   11 9 0   18%
src/evutils/io/_native_core.py register_bindings   3 0 0   100%
src/evutils/io/_native_core.py _bind   5 0 0   100%
src/evutils/io/_native_core.py lib   7 2 0   71%
src/evutils/io/_native_core.py EventSoABuffers.__init__   12 0 0   100%
src/evutils/io/_native_core.py EventSoABuffers.size   1 0 0   100%
src/evutils/io/_native_core.py EventSoABuffers.reset   1 0 0   100%
src/evutils/io/_native_core.py EventSoABuffers.grow   10 0 0   100%
src/evutils/io/_native_core.py EventSoABuffers.view   2 2 0   0%
src/evutils/io/_native_core.py TriggerSoABuffers.__init__   10 0 0   100%
src/evutils/io/_native_core.py TriggerSoABuffers.size   1 0 0   100%
src/evutils/io/_native_core.py TriggerSoABuffers.reset   1 0 0   100%
src/evutils/io/_native_core.py TriggerSoABuffers.grow   10 0 0   100%
src/evutils/io/_native_core.py TriggerSoABuffers.view   2 2 0   0%
src/evutils/io/_native_core.py events_view   2 0 0   100%
src/evutils/io/_native_core.py triggers_view   2 0 0   100%
src/evutils/io/_native_core.py _handle_parse_warning   9 2 0   78%
src/evutils/io/_native_core.py parse_step   27 2 0   93%
src/evutils/io/_native_core.py decode_all_soa   43 6 0   86%
src/evutils/io/_native_core.py (no function)   57 0 0   100%
src/evutils/io/_native_csv.py _bind_csv   6 0 0   100%
src/evutils/io/_native_csv.py (no function)   8 0 0   100%
src/evutils/io/_native_dat.py DatInput.__init__   6 0 0   100%
src/evutils/io/_native_dat.py DatInput.consumed   2 0 0   100%
src/evutils/io/_native_dat.py _bind_dat   7 0 0   100%
src/evutils/io/_native_dat.py DatParser.__init__   2 0 0   100%
src/evutils/io/_native_dat.py DatParser.reset   4 0 0   100%
src/evutils/io/_native_dat.py DatParser.parse_chunk_soa   1 0 0   100%
src/evutils/io/_native_dat.py DatParser.__enter__   1 0 0   100%
src/evutils/io/_native_dat.py (no function)   19 0 0   100%
src/evutils/io/_native_evt.py Evt3Input.__init__   6 0 0   100%
src/evutils/io/_native_evt.py Evt3Input.consumed   2 0 0   100%
src/evutils/io/_native_evt.py Evt2Input.__init__   6 0 0   100%
src/evutils/io/_native_evt.py Evt2Input.consumed   2 0 0   100%
src/evutils/io/_native_evt.py Evt21Input.__init__   6 0 0   100%
src/evutils/io/_native_evt.py Evt21Input.consumed   2 0 0   100%
src/evutils/io/_native_evt.py Evt4Input.__init__   6 0 0   100%
src/evutils/io/_native_evt.py Evt4Input.consumed   2 0 0   100%
src/evutils/io/_native_evt.py _bind_evt   28 0 0   100%
src/evutils/io/_native_evt.py Evt3Parser.__init__   2 0 0   100%
src/evutils/io/_native_evt.py Evt3Parser.reset   1 0 0   100%
src/evutils/io/_native_evt.py Evt3Parser.parse_chunk_soa   1 0 0   100%
src/evutils/io/_native_evt.py Evt3Parser.parse_delta_t_soa   1 0 0   100%
src/evutils/io/_native_evt.py Evt3Parser.__enter__   1 0 0   100%
src/evutils/io/_native_evt.py Evt2Parser.__init__   2 0 0   100%
src/evutils/io/_native_evt.py Evt2Parser.reset   1 0 0   100%
src/evutils/io/_native_evt.py Evt2Parser.parse_chunk_soa   1 0 0   100%
src/evutils/io/_native_evt.py Evt2Parser.__enter__   1 0 0   100%
src/evutils/io/_native_evt.py Evt21Parser.__init__   2 0 0   100%
src/evutils/io/_native_evt.py Evt21Parser.reset   1 0 0   100%
src/evutils/io/_native_evt.py Evt21Parser.parse_chunk_soa   1 0 0   100%
src/evutils/io/_native_evt.py Evt21Parser.__enter__   1 0 0   100%
src/evutils/io/_native_evt.py Evt4Parser.__init__   2 0 0   100%
src/evutils/io/_native_evt.py Evt4Parser.reset   1 0 0   100%
src/evutils/io/_native_evt.py Evt4Parser.parse_chunk_soa   1 0 0   100%
src/evutils/io/_native_evt.py Evt4Parser.__enter__   1 0 0   100%
src/evutils/io/_native_evt.py (no function)   49 0 0   100%
src/evutils/io/_npz.py _read_npy_header   8 2 0   75%
src/evutils/io/_npz.py _read_exact   9 1 0   89%
src/evutils/io/_npz.py EventDecoder_Npz.__init__   6 0 0   100%
src/evutils/io/_npz.py EventDecoder_Npz._open_streams   28 2 0   93%
src/evutils/io/_npz.py EventDecoder_Npz.init   12 1 0   92%
src/evutils/io/_npz.py EventDecoder_Npz._read_n   9 0 0   100%
src/evutils/io/_npz.py EventDecoder_Npz.read_chunk   11 1 0   91%
src/evutils/io/_npz.py EventDecoder_Npz._itemsize   4 2 0   50%
src/evutils/io/_npz.py EventDecoder_Npz._load_all_t   6 2 0   67%
src/evutils/io/_npz.py EventDecoder_Npz._ts_at   23 11 0   52%
src/evutils/io/_npz.py EventDecoder_Npz._seek_to_index   10 1 0   90%
src/evutils/io/_npz.py EventDecoder_Npz.seek   15 1 0   93%
src/evutils/io/_npz.py EventDecoder_Npz.reset   4 0 0   100%
src/evutils/io/_npz.py EventDecoder_Npz.tell   1 1 0   0%
src/evutils/io/_npz.py EventDecoder_Npz.close   6 0 0   100%
src/evutils/io/_npz.py EventEncoder_Npz.__init__   4 0 0   100%
src/evutils/io/_npz.py EventEncoder_Npz.init   4 1 0   75%
src/evutils/io/_npz.py EventEncoder_Npz.write   8 0 0   100%
src/evutils/io/_npz.py EventEncoder_Npz.flush   0 0 0   100%
src/evutils/io/_npz.py EventEncoder_Npz.close   25 2 0   92%
src/evutils/io/_npz.py (no function)   37 0 0   100%
src/evutils/io/_prefetch.py PrefetchIterator.__init__   10 1 0   90%
src/evutils/io/_prefetch.py PrefetchIterator._put   7 0 0   100%
src/evutils/io/_prefetch.py PrefetchIterator._work   10 0 0   100%
src/evutils/io/_prefetch.py PrefetchIterator.__iter__   1 0 0   100%
src/evutils/io/_prefetch.py PrefetchIterator.__next__   10 0 0   100%
src/evutils/io/_prefetch.py PrefetchIterator.close   10 0 0   100%
src/evutils/io/_prefetch.py PrefetchIterator._finish   4 0 0   100%
src/evutils/io/_prefetch.py PrefetchIterator.__enter__   1 1 0   0%
src/evutils/io/_prefetch.py PrefetchIterator.__exit__   1 1 0   0%
src/evutils/io/_prefetch.py (no function)   16 0 0   100%
src/evutils/io/_source.py ByteSource.read   0 0 0   100%
src/evutils/io/_source.py ByteSource.peek   0 0 0   100%
src/evutils/io/_source.py ByteSource.readline   9 0 0   100%
src/evutils/io/_source.py ByteSource.mappable   1 0 0   100%
src/evutils/io/_source.py ByteSource.buffer   1 0 0   100%
src/evutils/io/_source.py ByteSource.seekable   1 1 0   0%
src/evutils/io/_source.py ByteSource.seek   1 1 0   0%
src/evutils/io/_source.py ByteSource.tell   1 1 0   0%
src/evutils/io/_source.py ByteSource.reset   1 0 0   100%
src/evutils/io/_source.py ByteSource.close   1 0 0   100%
src/evutils/io/_source.py ByteSource.__enter__   1 0 0   100%
src/evutils/io/_source.py ByteSource.__exit__   1 0 0   100%
src/evutils/io/_source.py _clamp_seek   8 0 0   100%
src/evutils/io/_source.py StreamSource.__init__   6 0 0   100%
src/evutils/io/_source.py StreamSource.read   1 0 0   100%
src/evutils/io/_source.py StreamSource.readline   3 1 0   67%
src/evutils/io/_source.py StreamSource.peek   9 0 0   100%
src/evutils/io/_source.py StreamSource.seekable   1 0 0   100%
src/evutils/io/_source.py StreamSource.seek   1 0 0   100%
src/evutils/io/_source.py StreamSource.tell   1 0 0   100%
src/evutils/io/_source.py StreamSource.close   2 0 0   100%
src/evutils/io/_source.py BufferSource.__init__   3 0 0   100%
src/evutils/io/_source.py BufferSource.read   5 0 0   100%
src/evutils/io/_source.py BufferSource.peek   1 0 0   100%
src/evutils/io/_source.py BufferSource.mappable   1 0 0   100%
src/evutils/io/_source.py BufferSource.buffer   1 0 0   100%
src/evutils/io/_source.py BufferSource.seekable   1 0 0   100%
src/evutils/io/_source.py BufferSource.seek   2 0 0   100%
src/evutils/io/_source.py BufferSource.tell   1 0 0   100%
src/evutils/io/_source.py MmapSource.__init__   9 0 0   100%
src/evutils/io/_source.py MmapSource.read   5 0 0   100%
src/evutils/io/_source.py MmapSource.peek   1 0 0   100%
src/evutils/io/_source.py MmapSource.mappable   1 0 0   100%
src/evutils/io/_source.py MmapSource.buffer   1 0 0   100%
src/evutils/io/_source.py MmapSource.seekable   1 0 0   100%
src/evutils/io/_source.py MmapSource.seek   2 0 0   100%
src/evutils/io/_source.py MmapSource.tell   1 0 0   100%
src/evutils/io/_source.py MmapSource.close   2 0 0   100%
src/evutils/io/_source.py make_source   21 2 0   90%
src/evutils/io/_source.py (no function)   52 0 0   100%
src/evutils/io/buffer.py EventAccumulator.__init__   6 0 0   100%
src/evutils/io/buffer.py EventAccumulator.__len__   1 0 0   100%
src/evutils/io/buffer.py EventAccumulator.t_window   2 0 0   100%
src/evutils/io/buffer.py EventAccumulator.t_window_tr   2 0 0   100%
src/evutils/io/buffer.py EventAccumulator._rotate   23 0 0   100%
src/evutils/io/buffer.py EventAccumulator._ensure_events   7 0 0   100%
src/evutils/io/buffer.py EventAccumulator.prepare   10 3 0   70%
src/evutils/io/buffer.py EventAccumulator.append   22 0 0   100%
src/evutils/io/buffer.py EventAccumulator.slice_copy   9 0 0   100%
src/evutils/io/buffer.py EventAccumulator.reset   4 0 0   100%
src/evutils/io/buffer.py (no function)   14 0 0   100%
src/evutils/io/common.py EventDecoder.__init__   12 2 0   83%
src/evutils/io/common.py EventDecoder.init   1 1 0   0%
src/evutils/io/common.py EventDecoder.read_chunk   1 1 0   0%
src/evutils/io/common.py EventDecoder.reset   1 1 0   0%
src/evutils/io/common.py EventDecoder.read_all   31 3 0   90%
src/evutils/io/common.py EventDecoder.close   1 0 0   100%
src/evutils/io/common.py EventDecoder.tell   1 1 0   0%
src/evutils/io/common.py EventDecoder._seek_axis   5 1 0   80%
src/evutils/io/common.py EventDecoder.seek   1 1 0   0%
src/evutils/io/common.py EventDecoder.set_chunk_size   1 1 0   0%
src/evutils/io/common.py EventDecoder.shape   1 0 0   100%
src/evutils/io/common.py EventDecoder.__repr__   4 4 0   0%
src/evutils/io/common.py EventDecoder.is_eof   1 0 0   100%
src/evutils/io/common.py EventEncoder.__init__   8 1 0   88%
src/evutils/io/common.py EventEncoder.init   1 1 0   0%
src/evutils/io/common.py EventEncoder.write   1 1 0   0%
src/evutils/io/common.py EventEncoder.__len__   1 1 0   0%
src/evutils/io/common.py EventEncoder.__enter__   1 1 0   0%
src/evutils/io/common.py EventEncoder.__repr__   4 4 0   0%
src/evutils/io/common.py EventEncoder.flush   1 0 0   100%
src/evutils/io/common.py EventEncoder.close   1 0 0   100%
src/evutils/io/common.py (no function)   50 0 2   100%
src/evutils/io/decoders.py _lookup   5 3 0   40%
src/evutils/io/decoders.py get_reader_from_filename   1 0 0   100%
src/evutils/io/decoders.py _header_lines   2 0 0   100%
src/evutils/io/decoders.py _sniff_dat   5 1 0   80%
src/evutils/io/decoders.py _sniff_evt   5 0 0   100%
src/evutils/io/decoders.py _sniff_prophesee   4 4 0   0%
src/evutils/io/decoders.py _sniff_aedat   1 0 0   100%
src/evutils/io/decoders.py resolve_decoder_cls   14 3 0   79%
src/evutils/io/decoders.py (no function)   46 4 0   91%
src/evutils/io/encoders.py _evt_encoder_for   5 0 0   100%
src/evutils/io/encoders.py _evt_encoder_for._Encoder.__init__   1 0 0   100%
src/evutils/io/encoders.py get_file_writer   6 3 0   50%
src/evutils/io/encoders.py (no function)   39 4 0   90%
src/evutils/io/stream.py EventStreamer.__init__   6 0 0   100%
src/evutils/io/stream.py EventStreamer.__iter__   15 0 0   100%
src/evutils/io/stream.py (no function)   7 0 0   100%
src/evutils/jit.py lazy_njit   4 0 0   100%
src/evutils/jit.py lazy_njit.wrapper   4 0 0   100%
src/evutils/jit.py lazy_njit_unwrapped_events   4 0 0   100%
src/evutils/jit.py lazy_njit_unwrapped_events.wrapper   17 5 0   71%
src/evutils/jit.py (no function)   6 0 0   100%
src/evutils/random.py random_events   7 0 0   100%
src/evutils/random.py random_events_generator   15 1 0   93%
src/evutils/random.py event_jitter_n   6 0 0   100%
src/evutils/random.py event_jitter   7 0 0   100%
src/evutils/random.py (no function)   7 0 0   100%
src/evutils/transforms/__init__.py (no function)   6 0 0   100%
src/evutils/transforms/compose.py unwrap_events   5 0 0   100%
src/evutils/transforms/compose.py repack_events   10 1 0   90%
src/evutils/transforms/compose.py Compose.__init__   18 2 0   89%
src/evutils/transforms/compose.py Compose.__call__   23 7 0   70%
src/evutils/transforms/compose.py Compose.__repr__   6 6 0   0%
src/evutils/transforms/compose.py (no function)   9 0 0   100%
src/evutils/transforms/functional/__init__.py (no function)   5 0 0   100%
src/evutils/transforms/functional/_common.py apply_kernel   6 0 0   100%
src/evutils/transforms/functional/_common.py sample_range   4 0 0   100%
src/evutils/transforms/functional/_common.py (no function)   5 0 0   100%
src/evutils/transforms/functional/_drop.py _drop_random_events_jit   4 1 0   75%
src/evutils/transforms/functional/_drop.py drop_random_events   9 0 0   100%
src/evutils/transforms/functional/_drop.py drop_event   6 6 0   0%
src/evutils/transforms/functional/_drop.py _drop_by_time_jit   12 2 0   83%
src/evutils/transforms/functional/_drop.py drop_by_time   8 8 0   0%
src/evutils/transforms/functional/_drop.py (no function)   11 0 0   100%
src/evutils/transforms/functional/_refractory.py _refractory_period_jit   14 1 0   93%
src/evutils/transforms/functional/_refractory.py refractory_period   1 1 0   0%
src/evutils/transforms/functional/_refractory.py (no function)   6 0 0   100%
src/evutils/transforms/functional/_spatial.py _flip_lr_jit   2 0 0   100%
src/evutils/transforms/functional/_spatial.py flip_lr   1 1 0   0%
src/evutils/transforms/functional/_spatial.py _spatial_jitter_jit   14 0 0   100%
src/evutils/transforms/functional/_spatial.py spatial_jitter   1 1 0   0%
src/evutils/transforms/functional/_spatial.py (no function)   10 0 0   100%
src/evutils/transforms/functional/_time.py _time_skew_jit   2 0 0   100%
src/evutils/transforms/functional/_time.py time_skew   1 1 0   0%
src/evutils/transforms/functional/_time.py _time_jitter_jit   9 0 0   100%
src/evutils/transforms/functional/_time.py time_jitter   1 1 0   0%
src/evutils/transforms/functional/_time.py _normalize_ts_jit   2 0 0   100%
src/evutils/transforms/functional/_time.py normalize_ts   1 0 0   100%
src/evutils/transforms/functional/_time.py (no function)   12 0 0   100%
src/evutils/transforms/transforms.py Transform.bind_context   1 0 0   100%
src/evutils/transforms/transforms.py Transform._resolve_sensor_size   4 0 0   100%
src/evutils/transforms/transforms.py Transform.__call__   13 3 0   77%
src/evutils/transforms/transforms.py Transform._forward_jit   1 1 0   0%
src/evutils/transforms/transforms.py Transform._transform_target   1 0 0   100%
src/evutils/transforms/transforms.py DropEvent.__init__   5 0 0   100%
src/evutils/transforms/transforms.py DropEvent._forward_jit   5 0 0   100%
src/evutils/transforms/transforms.py DropEvent.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py DropEventByTime.__init__   2 0 0   100%
src/evutils/transforms/transforms.py DropEventByTime._forward_jit   5 0 0   100%
src/evutils/transforms/transforms.py DropEventByTime.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py RandomFlipLR.__init__   4 1 0   75%
src/evutils/transforms/transforms.py RandomFlipLR._forward_jit   5 0 0   100%
src/evutils/transforms/transforms.py RandomFlipLR.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py SpatialJitter.__init__   5 0 0   100%
src/evutils/transforms/transforms.py SpatialJitter._forward_jit   6 1 0   83%
src/evutils/transforms/transforms.py SpatialJitter.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py TimeSkew.__init__   2 0 0   100%
src/evutils/transforms/transforms.py TimeSkew._forward_jit   4 0 0   100%
src/evutils/transforms/transforms.py TimeSkew.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py TimeNormalize.__init__   1 0 0   100%
src/evutils/transforms/transforms.py TimeNormalize._forward_jit   2 0 0   100%
src/evutils/transforms/transforms.py TimeNormalize.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py TimeJitter.__init__   3 0 0   100%
src/evutils/transforms/transforms.py TimeJitter._forward_jit   2 0 0   100%
src/evutils/transforms/transforms.py TimeJitter.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py RefractoryPeriod.__init__   1 0 0   100%
src/evutils/transforms/transforms.py RefractoryPeriod._forward_jit   3 0 0   100%
src/evutils/transforms/transforms.py RefractoryPeriod.__repr__   1 1 0   0%
src/evutils/transforms/transforms.py (no function)   45 0 0   100%
src/evutils/types.py is_monotonically_increasing   1 0 0   100%
src/evutils/types.py SoaArray.metadata   1 0 0   100%
src/evutils/types.py SoaArray.metadata   1 0 0   100%
src/evutils/types.py SoaArray.sensor_size   2 0 0   100%
src/evutils/types.py SoaArray.sensor_size   4 0 0   100%
src/evutils/types.py SoaArray.__getitem__   23 0 0   100%
src/evutils/types.py SoaArray.__getitem__.DynamicSoaArray.__init__   2 0 0   100%
src/evutils/types.py SoaArray.__len__   1 0 0   100%
src/evutils/types.py SoaArray.__repr__   9 1 0   89%
src/evutils/types.py SoaArray.copy   4 0 0   100%
src/evutils/types.py SoaArray.empty   4 0 0   100%
src/evutils/types.py SoaArray.from_aos   4 0 0   100%
src/evutils/types.py SoaArray.to_aos   4 0 0   100%
src/evutils/types.py SoaArray.to_numpy   1 0 0   100%
src/evutils/types.py SoaArray.__array__   4 1 0   75%
src/evutils/types.py EventArray.__init__   13 0 0   100%
src/evutils/types.py TriggerArray.__init__   11 1 0   91%
src/evutils/types.py (no function)   46 0 0   100%
src/evutils/vis/__init__.py __getattr__   3 1 0   67%
src/evutils/vis/__init__.py __dir__   1 1 0   0%
src/evutils/vis/__init__.py (no function)   4 0 0   100%
src/evutils/vis/open3d.py o3d_draw_events   11 7 0   36%
src/evutils/vis/open3d.py (no function)   2 0 0   100%
src/evutils/vis/plot3d.py plot_3d   23 11 0   52%
src/evutils/vis/plot3d.py plot_3d_histogram   28 28 0   0%
src/evutils/vis/plot3d.py plot_3d_timesurface   22 14 0   36%
src/evutils/vis/plot3d.py (no function)   6 0 4   100%
src/evutils/vis/reconstructor/__init__.py (no function)   0 0 0   100%
tests/aedat_synth.py make_aedat1   7 0 0   100%
tests/aedat_synth.py make_aedat2   7 0 0   100%
tests/aedat_synth.py _aedat3_packet   3 0 0   100%
tests/aedat_synth.py make_aedat3   7 0 0   100%
tests/aedat_synth.py _fb_event_packet   19 0 0   100%
tests/aedat_synth.py _fb_io_header   10 0 0   100%
tests/aedat_synth.py make_aedat4   11 0 0   100%
tests/aedat_synth.py (no function)   13 0 0   100%
tests/conftest.py pytest_addoption   1 0 0   100%
tests/conftest.py _load_real_event_files   17 9 0   47%
tests/conftest.py _real_files_skip_reason   1 1 0   0%
tests/conftest.py test_events   9 0 0   100%
tests/conftest.py real_event_files   4 1 0   75%
tests/conftest.py pytest_generate_tests   7 1 0   86%
tests/conftest.py (no function)   19 0 0   100%
tests/conftest_utils.py download_and_extract_github   16 6 0   62%
tests/conftest_utils.py fetch_real_event_files   2 0 0   100%
tests/conftest_utils.py register_dataset_option   4 2 0   50%
tests/conftest_utils.py fetch_real_event_files_for   2 0 0   100%
tests/conftest_utils.py load_event_files   8 0 0   100%
tests/conftest_utils.py (no function)   20 0 0   100%
tests/io/conftest.py dummy_file_factory   2 0 0   100%
tests/io/conftest.py dummy_file_factory._filefactory   4 0 0   100%
tests/io/conftest.py event_files   22 2 0   91%
tests/io/conftest.py (no function)   7 0 0   100%
tests/io/test_aedat.py random_events   6 0 0   100%
tests/io/test_aedat.py check   6 0 0   100%
tests/io/test_aedat.py test_aedat1   6 0 0   100%
tests/io/test_aedat.py test_aedat1_headerless   5 0 0   100%
tests/io/test_aedat.py test_aedat2_davis_skips_aps   6 0 0   100%
tests/io/test_aedat.py test_aedat2_timestamp_wrap   11 0 0   100%
tests/io/test_aedat.py test_aedat3   5 0 0   100%
tests/io/test_aedat.py test_aedat3_ts_overflow   7 0 0   100%
tests/io/test_aedat.py test_aedat4_uncompressed   7 0 0   100%
tests/io/test_aedat.py test_aedat4_no_stream_info   5 0 0   100%
tests/io/test_aedat.py test_aedat4_lz4   6 0 0   100%
tests/io/test_aedat.py test_aedat_chunked_iteration_and_reset   11 0 0   100%
tests/io/test_aedat.py test_aedat_magic_sniffing   5 0 0   100%
tests/io/test_aedat.py test_AEDAT_empty_file   5 0 0   100%
tests/io/test_aedat.py test_AEDAT_truncated_payload   5 0 0   100%
tests/io/test_aedat.py test_aedat4_encoder_roundtrip   14 1 0   93%
tests/io/test_aedat.py (no function)   21 0 0   100%
tests/io/test_aer.py test_AER_writer   20 0 0   100%
tests/io/test_aer.py _write_aer   10 0 0   100%
tests/io/test_aer.py test_AER_timestamps_sequential   13 0 0   100%
tests/io/test_aer.py test_AER_timestamps_custom   10 0 0   100%
tests/io/test_aer.py test_AER_timestamps_validation   7 0 0   100%
tests/io/test_aer.py test_AER_empty_file   5 0 0   100%
tests/io/test_aer.py test_AER_truncated_payload   5 0 0   100%
tests/io/test_aer.py (no function)   10 0 0   100%
tests/io/test_bin.py test_bin_read_raises_not_implemented   4 0 0   100%
tests/io/test_bin.py test_bin_write_raises_not_implemented   4 0 0   100%
tests/io/test_bin.py (no function)   6 0 0   100%
tests/io/test_buffer.py ev   3 0 0   100%
tests/io/test_buffer.py tr   3 0 0   100%
tests/io/test_buffer.py test_accumulator_slice_copy_advances   7 0 0   100%
tests/io/test_buffer.py test_accumulator_slice_copy_is_independent   6 0 0   100%
tests/io/test_buffer.py test_accumulator_rotate_events_and_triggers   9 0 0   100%
tests/io/test_buffer.py test_accumulator_rotate_after_full_consume   6 0 0   100%
tests/io/test_buffer.py test_accumulator_grows_past_capacity   5 0 0   100%
tests/io/test_buffer.py test_accumulator_trigger_buffer_grows   3 0 0   100%
tests/io/test_buffer.py test_accumulator_prepare_rotates_for_headroom   6 0 0   100%
tests/io/test_buffer.py test_accumulator_reset_clears   6 0 0   100%
tests/io/test_buffer.py (no function)   14 0 0   100%
tests/io/test_compression.py _has_zstd   7 2 0   71%
tests/io/test_compression.py make_events   7 0 0   100%
tests/io/test_compression.py assert_events_equal   4 0 0   100%
tests/io/test_compression.py test_is_compressed_path   7 0 0   100%
tests/io/test_compression.py test_strip_compression_suffix   4 0 0   100%
tests/io/test_compression.py test_open_compressed_rejects_unknown_suffix   2 0 0   100%
tests/io/test_compression.py test_evt_roundtrip_compressed   8 0 0   100%
tests/io/test_compression.py test_compressed_matches_uncompressed   12 0 0   100%
tests/io/test_compression.py test_read_open_gzip_fileobj   8 0 0   100%
tests/io/test_compression.py test_read_bytesio_of_gzip   9 0 0   100%
tests/io/test_compression.py test_csv_gzip_with_header   7 0 0   100%
tests/io/test_compression.py test_csv_gzip_no_header   7 0 0   100%
tests/io/test_compression.py test_csv_open_gzip_fileobj   8 0 0   100%
tests/io/test_compression.py test_seek_over_compressed_evt   9 0 0   100%
tests/io/test_compression.py test_chunked_write_compressed   8 0 0   100%
tests/io/test_compression.py (no function)   28 0 0   100%
tests/io/test_corner_cases.py test_trigger_boundary_sync   17 0 0   100%
tests/io/test_corner_cases.py test_extreme_playback_speed   11 0 0   100%
tests/io/test_corner_cases.py (no function)   7 0 0   100%
tests/io/test_csv.py test_CSV_writer   17 0 0   100%
tests/io/test_csv.py test_CSV_reader_nevents   7 0 0   100%
tests/io/test_csv.py test_CSV_reader_gen   7 0 0   100%
tests/io/test_csv.py _small_events   7 0 0   100%
tests/io/test_csv.py test_CSV_headerless_default_order   8 0 0   100%
tests/io/test_csv.py test_CSV_headerless_custom_order   8 0 0   100%
tests/io/test_csv.py test_CSV_header_with_custom_order   8 0 0   100%
tests/io/test_csv.py test_CSV_header_overrides_order_param_with_warning   12 0 0   100%
tests/io/test_csv.py test_CSV_invalid_order_rejected   7 0 0   100%
tests/io/test_csv.py test_CSV_delimiter_roundtrip   8 0 0   100%
tests/io/test_csv.py test_CSV_empty_file   5 0 0   100%
tests/io/test_csv.py test_CSV_header_only_file   5 0 0   100%
tests/io/test_csv.py test_CSV_missing_trailing_newline   7 0 0   100%
tests/io/test_csv.py test_CSV_blank_lines_skipped   6 0 0   100%
tests/io/test_csv.py test_CSV_crlf_line_endings   7 0 0   100%
tests/io/test_csv.py test_CSV_non_numeric_field_parses_as_zero   8 0 0   100%
tests/io/test_csv.py test_CSV_extra_columns_ignored   7 0 0   100%
tests/io/test_csv.py test_CSV_short_line_does_not_crash   8 0 0   100%
tests/io/test_csv.py test_CSV_short_line_warns   10 0 0   100%
tests/io/test_csv.py test_CSV_short_line_strict_raises   6 0 0   100%
tests/io/test_csv.py test_CSV_wellformed_no_warning   8 0 0   100%
tests/io/test_csv.py test_CSV_negative_and_extreme_values   12 0 0   100%
tests/io/test_csv.py test_CSV_whitespace_padding   8 0 0   100%
tests/io/test_csv.py test_CSV_chunked_reads_across_refills   17 0 0   100%
tests/io/test_csv.py (no function)   29 0 0   100%
tests/io/test_dat.py test_DAT_writer   9 0 0   100%
tests/io/test_dat.py test_DAT_matches_expelliarmus   15 14 0   7%
tests/io/test_dat.py test_DAT_timestamp_overflow   15 0 0   100%
tests/io/test_dat.py test_DAT_coordinate_extremes   14 0 0   100%
tests/io/test_dat.py test_DAT_empty_file   5 0 0   100%
tests/io/test_dat.py test_DAT_header_only   5 0 0   100%
tests/io/test_dat.py test_DAT_unsupported_event_size   6 0 0   100%
tests/io/test_dat.py test_DAT_truncated_payload   5 0 0   100%
tests/io/test_dat.py test_DAT_truncated_header_missing_bytes   5 0 0   100%
tests/io/test_dat.py (no function)   12 0 0   100%
tests/io/test_evt.py test_RAW_writer_import   5 0 0   100%
tests/io/test_evt.py test_RAW_reader_import   6 0 0   100%
tests/io/test_evt.py test_RAW_writer   13 0 0   100%
tests/io/test_evt.py test_EVT2_matches_EVT3   14 1 0   93%
tests/io/test_evt.py test_EVT2_matches_EVT3.get_hand_path   4 1 0   75%
tests/io/test_evt.py test_EVT2_matches_EVT3.head   11 0 0   100%
tests/io/test_evt.py test_EVT_matches_expelliarmus   29 28 0   3%
tests/io/test_evt.py test_EVT_matches_evlib   30 29 0   3%
tests/io/test_evt.py test_EVT_matches_evlib.sort_events   2 2 0   0%
tests/io/test_evt.py test_RAW_nevents_read   7 1 0   86%
tests/io/test_evt.py test_RAW_delta_t_read   11 1 0   91%
tests/io/test_evt.py _roundtrip   6 0 0   100%
tests/io/test_evt.py _wrap_events   6 0 0   100%
tests/io/test_evt.py test_EVT3_time_high_wrap   6 0 0   100%
tests/io/test_evt.py test_EVT2_time_high_wrap   5 0 0   100%
tests/io/test_evt.py test_EVT_long_recording_hours   6 0 0   100%
tests/io/test_evt.py test_EVT_truncated_payload   12 0 0   100%
tests/io/test_evt.py test_EVT_header_only_file   8 0 0   100%
tests/io/test_evt.py test_EVT_from_bytes_and_stream   10 0 0   100%
tests/io/test_evt.py test_EVT3_coordinate_extremes   8 0 0   100%
tests/io/test_evt.py test_EVT_empty_file   6 0 0   100%
tests/io/test_evt.py test_EVT_corrupted_header_no_end   6 0 0   100%
tests/io/test_evt.py test_writer_extension_selects_evt_format   17 0 0   100%
tests/io/test_evt.py (no function)   34 0 0   100%
tests/io/test_evt3_edge_cases.py test_incomplete_vector_continuation   10 0 0   100%
tests/io/test_evt3_edge_cases.py test_output_buffer_full_stops_mid_chunk   20 0 0   100%
tests/io/test_evt3_edge_cases.py test_note_target_clone_branch_coverage   0 0 0   100%
tests/io/test_evt3_edge_cases.py (no function)   5 0 0   100%
tests/io/test_evt3_overflow.py test_evt3_71_min_overflow   23 0 0   100%
tests/io/test_evt3_overflow.py (no function)   5 0 0   100%
tests/io/test_evt4.py _time_high   1 0 0   100%
tests/io/test_evt4.py _cd   1 0 0   100%
tests/io/test_evt4.py _cd_vec_base   1 0 0   100%
tests/io/test_evt4.py _header_only   6 0 0   100%
tests/io/test_evt4.py _append   2 0 0   100%
tests/io/test_evt4.py test_evt4_matches_evt2   10 0 0   100%
tests/io/test_evt4.py test_evt4_vector_cd   12 0 0   100%
tests/io/test_evt4.py test_evt4_vector_empty_mask   7 0 0   100%
tests/io/test_evt4.py test_evt4_vector_and_scalar_mixed   9 0 0   100%
tests/io/test_evt4.py test_evt4_vector_full_mask   9 0 0   100%
tests/io/test_evt4.py (no function)   12 0 0   100%
tests/io/test_fuzz_parsers.py _write_valid_file   7 0 0   100%
tests/io/test_fuzz_parsers.py test_fuzz_parser_garbage   12 2 0   83%
tests/io/test_fuzz_parsers.py (no function)   12 0 0   100%
tests/io/test_hdf5.py make_events   7 0 0   100%
tests/io/test_hdf5.py test_geometry_attrs_roundtrip   6 0 0   100%
tests/io/test_hdf5.py test_ms_to_idx_random_access   20 0 0   100%
tests/io/test_hdf5.py test_dsec_t_offset   10 0 0   100%
tests/io/test_hdf5.py _write_prophesee_layout   9 0 0   100%
tests/io/test_hdf5.py test_prophesee_layout   10 0 0   100%
tests/io/test_hdf5.py test_root_level_structured_dataset   7 0 0   100%
tests/io/test_hdf5.py test_missing_events_errors   5 0 0   100%
tests/io/test_hdf5.py test_no_index_read_raises   8 0 0   100%
tests/io/test_hdf5.py test_large_timestamps   16 0 0   100%
tests/io/test_hdf5.py test_HDF5_empty_dataset   6 0 0   100%
tests/io/test_hdf5.py (no function)   17 0 0   100%
tests/io/test_npz.py make_events   7 0 0   100%
tests/io/test_npz.py test_np_load_reads_our_files   9 0 0   100%
tests/io/test_npz.py test_we_read_np_savez_soa   5 0 0   100%
tests/io/test_npz.py test_we_read_np_savez_structured   5 0 0   100%
tests/io/test_npz.py test_compressed_write   10 0 0   100%
tests/io/test_npz.py test_geometry_roundtrip   6 0 0   100%
tests/io/test_npz.py test_missing_event_keys_errors   4 0 0   100%
tests/io/test_npz.py test_mismatched_column_lengths_errors   4 0 0   100%
tests/io/test_npz.py test_large_timestamps   9 0 0   100%
tests/io/test_npz.py test_NPZ_empty_arrays   5 0 0   100%
tests/io/test_npz.py test_NPZ_empty_file   6 0 0   100%
tests/io/test_npz.py (no function)   16 0 0   100%
tests/io/test_phase1_regressions.py _uniform_events   6 0 0   100%
tests/io/test_phase1_regressions.py _write   5 0 0   100%
tests/io/test_phase1_regressions.py test_tiny_chunk_size_rejected   4 0 0   100%
tests/io/test_phase1_regressions.py test_minimal_chunk_size_decodes   8 0 0   100%
tests/io/test_phase1_regressions.py test_mixed_delta_t_then_read_all_loses_nothing   11 0 0   100%
tests/io/test_phase1_regressions.py test_mixed_delta_t_then_n_events_override   15 0 0   100%
tests/io/test_phase1_regressions.py test_delta_t_windows_respect_max_events   9 0 0   100%
tests/io/test_phase1_regressions.py test_writer_warns_on_unsupported_triggers   12 0 0   100%
tests/io/test_phase1_regressions.py test_evt21_non_legacy_endianness_rejected   4 0 0   100%
tests/io/test_phase1_regressions.py test_evt21_legacy_endianness_accepted   6 0 0   100%
tests/io/test_phase1_regressions.py (no function)   15 0 0   100%
tests/io/test_playback.py recording   10 0 0   100%
tests/io/test_playback.py _drain   5 0 0   100%
tests/io/test_playback.py test_playback_paces_iteration_to_recording_speed   6 0 0   100%
tests/io/test_playback.py test_playback_speed_multiplier   6 0 0   100%
tests/io/test_playback.py test_playback_off_is_fast   5 0 0   100%
tests/io/test_playback.py _run_slow_consumer   6 0 0   100%
tests/io/test_playback.py test_playback_absorbs_slow_consumer   17 0 0   100%
tests/io/test_playback.py test_playback_paces_read_calls   8 0 0   100%
tests/io/test_playback.py test_playback_with_async_read   6 0 0   100%
tests/io/test_playback.py test_playback_early_break_releases_prefetch   8 0 0   100%
tests/io/test_playback.py test_playback_reset_rearms_anchor   10 0 0   100%
tests/io/test_playback.py test_playback_invalid_speed_rejected   6 0 0   100%
tests/io/test_playback.py gapped_recording   11 0 0   100%
tests/io/test_playback.py test_max_gap_skips_dead_air   6 0 0   100%
tests/io/test_playback.py test_max_gap_none_is_strict_realtime   6 0 0   100%
tests/io/test_playback.py test_max_gap_invalid_rejected   6 0 0   100%
tests/io/test_playback.py (no function)   25 0 0   100%
tests/io/test_prefetch.py raw_file   11 0 0   100%
tests/io/test_prefetch.py test_async_matches_sync   13 0 0   100%
tests/io/test_prefetch.py test_async_ext_triggers   5 0 0   100%
tests/io/test_prefetch.py test_direct_read_guarded_while_iterating   11 0 0   100%
tests/io/test_prefetch.py test_early_break_and_reset   8 0 0   100%
tests/io/test_prefetch.py test_close_with_active_iterator   6 0 0   100%
tests/io/test_prefetch.py test_only_one_active_iterator   9 0 0   100%
tests/io/test_prefetch.py test_worker_exception_propagates   6 0 0   100%
tests/io/test_prefetch.py test_worker_exception_propagates.broken   3 0 0   100%
tests/io/test_prefetch.py test_prefetch_iterator_bounded   7 0 0   100%
tests/io/test_prefetch.py test_prefetch_iterator_bounded.source   3 0 0   100%
tests/io/test_prefetch.py test_prefetch_iterator_close_idempotent   6 0 0   100%
tests/io/test_prefetch.py (no function)   18 0 0   100%
tests/io/test_reader_modes.py _uniform_events   6 0 0   100%
tests/io/test_reader_modes.py uniform_file   6 0 0   100%
tests/io/test_reader_modes.py test_mixed_mode_n_events_cuts_first   8 0 0   100%
tests/io/test_reader_modes.py test_mixed_mode_delta_t_cuts_first   9 0 0   100%
tests/io/test_reader_modes.py test_mixed_is_default_mode   5 0 0   100%
tests/io/test_reader_modes.py test_mixed_mode_alternating_cutoffs   15 0 0   100%
tests/io/test_reader_modes.py test_all_mode_single_read   6 0 0   100%
tests/io/test_reader_modes.py test_all_mode_iteration_yields_once   6 0 0   100%
tests/io/test_reader_modes.py test_all_mode_matches_read_all   4 0 0   100%
tests/io/test_reader_modes.py test_explicit_mode_requires_parameter   8 0 0   100%
tests/io/test_reader_modes.py test_nonpositive_windows_rejected   8 0 0   100%
tests/io/test_reader_modes.py test_delta_t_mode_respects_n_events_param   4 0 0   100%
tests/io/test_reader_modes.py test_n_events_mode_respects_delta_t_param   4 0 0   100%
tests/io/test_reader_modes.py _windows   7 0 0   100%
tests/io/test_reader_modes.py test_reuse_buffers_matches_default   11 0 0   100%
tests/io/test_reader_modes.py test_reuse_buffers_async_matches_default   10 0 0   100%
tests/io/test_reader_modes.py test_batch_mode   19 0 0   100%
tests/io/test_reader_modes.py (no function)   23 0 0   100%
tests/io/test_real_files.py test_real_file_matches_metadata   43 0 0   100%
tests/io/test_real_files.py test_real_file_matches_metadata.check   1 0 0   100%
tests/io/test_real_files.py (no function)   5 0 0   100%
tests/io/test_review_regressions.py _ramp   6 0 0   100%
tests/io/test_review_regressions.py test_double_seek_across_wrap_then_drain   17 0 0   100%
tests/io/test_review_regressions.py test_dense_kernel_independent_of_field_order   8 0 0   100%
tests/io/test_review_regressions.py _evt3_word   1 0 0   100%
tests/io/test_review_regressions.py _write_evt3_overflow_stream   17 0 0   100%
tests/io/test_review_regressions.py test_evt3_timestamp_past_uint32_ceiling   8 0 0   100%
tests/io/test_review_regressions.py _write_evt3_corrupt_stream   8 0 0   100%
tests/io/test_review_regressions.py test_corrupt_packet_robust_by_default   9 0 0   100%
tests/io/test_review_regressions.py test_corrupt_packet_raises_in_strict_mode   7 0 0   100%
tests/io/test_review_regressions.py _evt3_trigger_words   1 0 0   100%
tests/io/test_review_regressions.py test_seek_preserves_triggers_evt3   29 0 0   100%
tests/io/test_review_regressions.py test_seek_by_event_index_past_eof   8 0 0   100%
tests/io/test_review_regressions.py test_parse_step_delta_t_applies_seek_correction   29 0 0   100%
tests/io/test_review_regressions.py _write_mv_sidecar   26 0 0   100%
tests/io/test_review_regressions.py test_metavision_sidecar_index_is_used   16 0 0   100%
tests/io/test_review_regressions.py test_seek_multi_bookmark_exact   15 0 0   100%
tests/io/test_review_regressions.py test_seek_then_read_normalize_ts_matches_read_then_seek   14 0 0   100%
tests/io/test_review_regressions.py _delta_t_windows   12 0 0   100%
tests/io/test_review_regressions.py test_delta_t_windows_lossless_and_bounded   16 0 0   100%
tests/io/test_review_regressions.py test_delta_t_count_cut_lossless   13 0 0   100%
tests/io/test_review_regressions.py test_delta_t_dedup_real_evt3   6 6 0   0%
tests/io/test_review_regressions.py test_delta_t_dedup_real_dat   6 6 0   0%
tests/io/test_review_regressions.py (no function)   36 0 0   100%
tests/io/test_roundtrip_matrix.py skip_missing_deps   5 0 0   100%
tests/io/test_roundtrip_matrix.py make_events   7 0 0   100%
tests/io/test_roundtrip_matrix.py expected   4 0 0   100%
tests/io/test_roundtrip_matrix.py write_file   6 0 0   100%
tests/io/test_roundtrip_matrix.py assert_events_equal   4 0 0   100%
tests/io/test_roundtrip_matrix.py test_bulk_roundtrip   5 0 0   100%
tests/io/test_roundtrip_matrix.py test_chunked_write_roundtrip   5 0 0   100%
tests/io/test_roundtrip_matrix.py test_windowed_n_events   7 0 0   100%
tests/io/test_roundtrip_matrix.py test_windowed_delta_t   11 0 0   100%
tests/io/test_roundtrip_matrix.py test_reset   8 0 0   100%
tests/io/test_roundtrip_matrix.py test_empty_write_then_read   10 0 0   100%
tests/io/test_roundtrip_matrix.py test_read_after_eof_is_empty   7 0 0   100%
tests/io/test_roundtrip_matrix.py test_normalize_ts   11 0 0   100%
tests/io/test_roundtrip_matrix.py (no function)   29 0 0   100%
tests/io/test_seek.py _ramp   6 0 0   100%
tests/io/test_seek.py _write   9 2 0   78%
tests/io/test_seek.py recording   7 0 0   100%
tests/io/test_seek.py test_seek_by_time   9 0 0   100%
tests/io/test_seek.py test_seek_by_event_index   9 0 0   100%
tests/io/test_seek.py test_seek_backward   6 0 0   100%
tests/io/test_seek.py test_seek_relative   8 0 0   100%
tests/io/test_seek.py test_seek_then_drain_is_contiguous_tail   13 0 0   100%
tests/io/test_seek.py test_seek_in_delta_t_mode   9 0 0   100%
tests/io/test_seek.py test_seek_index_disabled_matches   7 0 0   100%
tests/io/test_seek.py test_seek_out_of_range   4 0 0   100%
tests/io/test_seek.py test_seek_requires_exactly_one_axis   6 0 0   100%
tests/io/test_seek.py _NonSeekable.__init__   2 0 0   100%
tests/io/test_seek.py _NonSeekable.read   5 0 0   100%
tests/io/test_seek.py _NonSeekable.readable   1 1 0   0%
tests/io/test_seek.py _NonSeekable.seekable   1 0 0   100%
tests/io/test_seek.py _NonSeekable.seek   2 2 0   0%
tests/io/test_seek.py _NonSeekable.tell   1 1 0   0%
tests/io/test_seek.py test_seek_linear_fallback_non_seekable   12 0 0   100%
tests/io/test_seek.py test_metavision_index_matches_built_index   22 22 0   0%
tests/io/test_seek.py test_seek_with_normalize_ts   12 0 0   100%
tests/io/test_seek.py test_repeated_seek_past_wrap   12 0 0   100%
tests/io/test_seek.py test_seek_past_eof   8 0 0   100%
tests/io/test_seek.py test_seek_returns_seekresult   15 0 0   100%
tests/io/test_seek.py test_seek_result_index_matches_read   9 0 0   100%
tests/io/test_seek.py test_evidx_persist_roundtrip   27 0 0   100%
tests/io/test_seek.py test_evidx_persist_matches_built_index   12 0 0   100%
tests/io/test_seek.py test_evidx_stale_sidecar_ignored   22 0 0   100%
tests/io/test_seek.py (no function)   41 0 0   100%
tests/io/test_source.py test_buffersource_sequential_read   5 0 0   100%
tests/io/test_source.py test_buffersource_peek_does_not_consume   5 0 0   100%
tests/io/test_source.py test_buffersource_peek_past_end   2 0 0   100%
tests/io/test_source.py test_buffersource_seek_tell   9 0 0   100%
tests/io/test_source.py test_buffersource_seek_clamps   6 0 0   100%
tests/io/test_source.py test_buffersource_mappable_zero_copy   7 0 0   100%
tests/io/test_source.py test_buffersource_accepts_memoryview_and_bytesio_buffer   3 0 0   100%
tests/io/test_source.py test_buffersource_readline_generic   5 0 0   100%
tests/io/test_source.py test_buffersource_reset   5 0 0   100%
tests/io/test_source.py _ReadOnlyStream.__init__   1 0 0   100%
tests/io/test_source.py _ReadOnlyStream.read   1 0 0   100%
tests/io/test_source.py _ReadOnlyStream.seekable   1 0 0   100%
tests/io/test_source.py test_streamsource_requires_read   2 0 0   100%
tests/io/test_source.py test_streamsource_read_and_seek_via_bytesio   9 0 0   100%
tests/io/test_source.py test_streamsource_peek_fallback_via_seek   5 0 0   100%
tests/io/test_source.py test_streamsource_peek_native   7 0 0   100%
tests/io/test_source.py test_streamsource_nonseekable_peek_raises   5 0 0   100%
tests/io/test_source.py test_streamsource_readline_delegates   3 0 0   100%
tests/io/test_source.py test_streamsource_close_ownership   6 0 0   100%
tests/io/test_source.py payload_file   3 0 0   100%
tests/io/test_source.py test_mmapsource_read_peek_seek   8 0 0   100%
tests/io/test_source.py test_mmapsource_buffer_zero_copy   7 0 0   100%
tests/io/test_source.py test_mmapsource_close_with_live_view_raises   6 0 0   100%
tests/io/test_source.py test_mmapsource_empty_file_raises   4 0 0   100%
tests/io/test_source.py test_make_source_path_maps   7 0 0   100%
tests/io/test_source.py test_make_source_path_no_mmap   4 0 0   100%
tests/io/test_source.py test_make_source_empty_file_falls_back_to_stream   6 0 0   100%
tests/io/test_source.py test_make_source_missing_file   2 0 0   100%
tests/io/test_source.py test_make_source_buffers   3 0 0   100%
tests/io/test_source.py test_make_source_bytesio_zero_copy   3 0 0   100%
tests/io/test_source.py test_make_source_readable_object   3 0 0   100%
tests/io/test_source.py test_make_source_passthrough   2 0 0   100%
tests/io/test_source.py test_make_source_rejects_unknown_type   2 0 0   100%
tests/io/test_source.py (no function)   41 0 0   100%
tests/io/test_stream.py ev   3 0 0   100%
tests/io/test_stream.py tr   3 0 0   100%
tests/io/test_stream.py cat_t   5 0 0   100%
tests/io/test_stream.py cat_tr_t   4 0 0   100%
tests/io/test_stream.py test_stream_delta_t_regroups_across_chunk_boundaries   7 0 0   100%
tests/io/test_stream.py test_stream_delta_t_with_triggers   5 0 0   100%
tests/io/test_stream.py test_stream_delta_t_empty_stream   1 0 0   100%
tests/io/test_stream.py test_stream_delta_t_skips_empty_leading_chunks   3 0 0   100%
tests/io/test_stream.py test_stream_n_events_fixed_size_with_remainder   5 0 0   100%
tests/io/test_stream.py test_stream_n_events_with_triggers_exact_boundary   6 0 0   100%
tests/io/test_stream.py test_stream_n_events_with_triggers_searchsorted_branch   4 0 0   100%
tests/io/test_stream.py test_stream_n_events_empty_stream   1 0 0   100%
tests/io/test_stream.py test_stream_skip_to_time_drops_whole_and_partial_chunks   3 0 0   100%
tests/io/test_stream.py test_stream_skip_to_time_partial_slice_within_chunk   3 0 0   100%
tests/io/test_stream.py test_stream_skip_to_time_with_triggers   4 0 0   100%
tests/io/test_stream.py test_stream_skip_to_time_never_reached_yields_nothing   3 0 0   100%
tests/io/test_stream.py test_stream_async_preserves_order   3 0 0   100%
tests/io/test_stream.py test_stream_async_with_triggers_and_none   5 0 0   100%
tests/io/test_stream.py test_stream_async_copies_chunks   4 0 0   100%
tests/io/test_stream.py test_stream_async_propagates_exceptions   3 0 0   100%
tests/io/test_stream.py test_stream_async_propagates_exceptions.boom   2 0 0   100%
tests/io/test_stream.py test_stream_paced_playback_preserves_data_fast   3 0 0   100%
tests/io/test_stream.py test_stream_paced_playback_empty_chunk_passthrough   3 0 0   100%
tests/io/test_stream.py test_stream_paced_playback_actually_waits   6 0 0   100%
tests/io/test_stream.py _make_events   6 0 0   100%
tests/io/test_stream.py test_event_streamer_yields_all_events   13 0 0   100%
tests/io/test_stream.py test_event_streamer_pipes_into_stream_n_events   9 0 0   100%
tests/io/test_stream.py _FakeDecoder.__init__   1 0 0   100%
tests/io/test_stream.py _FakeDecoder.init   1 0 0   100%
tests/io/test_stream.py _FakeDecoder.read_chunk   1 0 0   100%
tests/io/test_stream.py test_event_streamer_explicit_decoder_cls_and_bare_chunk   10 0 0   100%
tests/io/test_stream.py test_event_streamer_with_triggers   14 0 0   100%
tests/io/test_stream.py test_stream_tuple_unwrapping_when_ext_trigger_false   16 0 0   100%
tests/io/test_stream.py test_stream_tuple_unwrapping_when_ext_trigger_false.MockDecoder.__init__   3 0 0   100%
tests/io/test_stream.py test_stream_tuple_unwrapping_when_ext_trigger_false.MockDecoder.init   1 0 0   100%
tests/io/test_stream.py test_stream_tuple_unwrapping_when_ext_trigger_false.MockDecoder.reset   1 1 0   0%
tests/io/test_stream.py test_stream_tuple_unwrapping_when_ext_trigger_false.MockDecoder.read_chunk   6 0 0   100%
tests/io/test_stream.py test_stream_tuple_unwrapping_when_ext_trigger_false.MockDecoder.is_eof   1 1 0   0%
tests/io/test_stream.py (no function)   39 0 0   100%
tests/io/test_triggers.py _evt2_time_high   1 0 0   100%
tests/io/test_triggers.py _evt2_trigger   1 0 0   100%
tests/io/test_triggers.py _evt2_cd   1 0 0   100%
tests/io/test_triggers.py _evt21_trigger_words   3 0 0   100%
tests/io/test_triggers.py _evt4_time_high   1 0 0   100%
tests/io/test_triggers.py _evt4_trigger   1 0 0   100%
tests/io/test_triggers.py _evt3_trigger_words   1 0 0   100%
tests/io/test_triggers.py _events   6 0 0   100%
tests/io/test_triggers.py _write_events_with_triggers   7 0 0   100%
tests/io/test_triggers.py test_evt3_trigger_decode   11 0 0   100%
tests/io/test_triggers.py test_evt21_trigger_decode   9 0 0   100%
tests/io/test_triggers.py test_evt2_trigger_timestamps   7 0 0   100%
tests/io/test_triggers.py test_evt2_trigger_id_and_value   7 0 0   100%
tests/io/test_triggers.py test_evt4_trigger_decode   9 0 0   100%
tests/io/test_triggers.py test_evt4_trigger_5bit_id   8 0 0   100%
tests/io/test_triggers.py test_evt2_trigger_windowing   31 1 0   97%
tests/io/test_triggers.py test_triggers_dropped_when_disabled   7 0 0   100%
tests/io/test_triggers.py test_no_triggers_yields_empty_array   8 0 0   100%
tests/io/test_triggers.py test_ext_trigger_unsupported_decoder_warns   9 0 0   100%
tests/io/test_triggers.py (no function)   23 0 0   100%
tests/test_checker.py test_events_checker_accepts_event_array   3 0 0   100%
tests/test_checker.py test_events_checker_repr_performance   4 0 0   100%
tests/test_checker.py (no function)   6 0 0   100%
tests/test_chunking.py test_window_delta_t   14 0 0   100%
tests/test_chunking.py test_sliding_window   8 0 0   100%
tests/test_chunking.py test_sort_events   8 0 0   100%
tests/test_chunking.py test_get_dt_events   8 0 0   100%
tests/test_chunking.py test_stream_delta_t_shape_mirrors_input   11 0 0   100%
tests/test_chunking.py (no function)   10 0 0   100%
tests/test_dense.py event_format   1 0 0   100%
tests/test_dense.py create_events   9 0 0   100%
tests/test_dense.py test_timesurface   5 0 0   100%
tests/test_dense.py test_timesurface_empty   4 0 0   100%
tests/test_dense.py test_voxel_histogram   3 0 0   100%
tests/test_dense.py test_voxel_histogram_empty   4 0 0   100%
tests/test_dense.py test_voxel_histogram_less_than_3_events   4 0 0   100%
tests/test_dense.py test_voxel_histogram_exceeds_dt   3 0 0   100%
tests/test_dense.py test_histogram   5 0 0   100%
tests/test_dense.py test_histogram_empty   4 0 0   100%
tests/test_dense.py test_histogram_fill   4 0 0   100%
tests/test_dense.py test_wedge_histogram   3 0 0   100%
tests/test_dense.py test_frame_diff   5 0 0   100%
tests/test_dense.py test_frame_diff_empty   4 0 0   100%
tests/test_dense.py test_frame_rgb   6 0 0   100%
tests/test_dense.py test_frame_gray   6 0 0   100%
tests/test_dense.py test_tore   5 0 0   100%
tests/test_dense.py test_tore_empty   4 0 0   100%
tests/test_dense.py test_histogram_saturation   3 0 0   100%
tests/test_dense.py test_wedge_histogram_saturation   3 0 0   100%
tests/test_dense.py test_tore_fifo_overflow   5 0 0   100%
tests/test_dense.py test_voxel_histogram_more_windows_than_bins   3 0 0   100%
tests/test_dense.py test_voxel_histogram_fewer_windows_than_bins   4 0 0   100%
tests/test_dense.py (no function)   28 0 0   100%
tests/test_filtering.py test_mask_events   12 0 0   100%
tests/test_filtering.py (no function)   5 0 0   100%
tests/test_random.py test_random_events   6 0 0   100%
tests/test_random.py test_random_events_generator   6 0 0   100%
tests/test_random.py test_event_jitter   9 0 0   100%
tests/test_random.py test_event_jitter_n   9 0 0   100%
tests/test_random.py test_random_events_empty   2 0 0   100%
tests/test_random.py test_random_events_generator_empty   2 0 0   100%
tests/test_random.py test_event_jitter_empty   3 0 0   100%
tests/test_random.py test_event_jitter_n_empty   3 0 0   100%
tests/test_random.py (no function)   12 0 0   100%
tests/test_robustness_edge_cases.py test_chunking_zero_delta_t_raises   5 0 0   100%
tests/test_robustness_edge_cases.py test_stream_n_events_zero_raises   3 0 0   100%
tests/test_robustness_edge_cases.py test_stream_n_events_zero_raises.dummy_stream   1 1 0   0%
tests/test_robustness_edge_cases.py test_stream_delta_t_trigger_only_stream   4 0 0   100%
tests/test_robustness_edge_cases.py test_stream_delta_t_trigger_only_stream.trigger_stream   4 0 0   100%
tests/test_robustness_edge_cases.py test_vis_empty_arrays   11 0 0   100%
tests/test_robustness_edge_cases.py test_event_array_length_mismatch   2 0 0   100%
tests/test_robustness_edge_cases.py test_trigger_array_length_mismatch   2 0 0   100%
tests/test_robustness_edge_cases.py test_event_array_flattening   3 0 0   100%
tests/test_robustness_edge_cases.py test_events_checker_invalid_type   2 0 0   100%
tests/test_robustness_edge_cases.py test_empty_list_indexing   3 0 0   100%
tests/test_robustness_edge_cases.py test_drop_random_events_nan   3 0 0   100%
tests/test_robustness_edge_cases.py test_mask_events_negative_coordinates   5 0 0   100%
tests/test_robustness_edge_cases.py test_normalize_ts_readonly   6 0 0   100%
tests/test_robustness_edge_cases.py test_normalize_ts_unstructured   3 0 0   100%
tests/test_robustness_edge_cases.py (no function)   22 0 0   100%
tests/test_sensor_size_metadata.py _events   1 0 0   100%
tests/test_sensor_size_metadata.py test_metadata_defaults_none_and_roundtrips   6 0 0   100%
tests/test_sensor_size_metadata.py test_metadata_survives_slice_and_subset   3 0 0   100%
tests/test_sensor_size_metadata.py test_copy_isolates_metadata   5 0 0   100%
tests/test_sensor_size_metadata.py test_from_aos_accepts_metadata   3 0 0   100%
tests/test_sensor_size_metadata.py test_reader_populates_sensor_size   9 0 0   100%
tests/test_sensor_size_metadata.py test_writer_infers_dims_from_metadata   6 0 0   100%
tests/test_sensor_size_metadata.py test_writer_explicit_dims_override_metadata   6 0 0   100%
tests/test_sensor_size_metadata.py test_writer_falls_back_without_metadata   4 0 0   100%
tests/test_sensor_size_metadata.py test_read_write_read_roundtrip_preserves_geometry   9 0 0   100%
tests/test_sensor_size_metadata.py (no function)   14 0 0   100%
tests/test_transforms.py test_normalize_ts_functional   10 0 0   100%
tests/test_transforms.py test_time_normalize_transform   5 0 0   100%
tests/test_transforms.py test_drop_random_events   14 0 0   100%
tests/test_transforms.py test_compose_and_transforms   21 0 0   100%
tests/test_transforms.py test_compose_and_transforms.dummy_transform   1 0 0   100%
tests/test_transforms.py test_target_transformation   12 0 0   100%
tests/test_transforms.py test_target_transformation.DummyTargetCrop._forward_jit   1 0 0   100%
tests/test_transforms.py test_target_transformation.DummyTargetCrop._transform_target   3 0 0   100%
tests/test_transforms.py _make_events   1 0 0   100%
tests/test_transforms.py test_drop_event_rename_and_validation   10 0 0   100%
tests/test_transforms.py test_random_flip_lr   6 0 0   100%
tests/test_transforms.py test_time_skew   4 0 0   100%
tests/test_transforms.py test_time_jitter_clip_and_sort   4 0 0   100%
tests/test_transforms.py test_spatial_jitter_clip_keeps_in_bounds   4 0 0   100%
tests/test_transforms.py test_refractory_period   3 0 0   100%
tests/test_transforms.py test_drop_by_time_removes_a_window   4 0 0   100%
tests/test_transforms.py test_ndarray_and_eventarray_dispatch   6 0 0   100%
tests/test_transforms.py test_metadata_propagates_through_transforms   5 0 0   100%
tests/test_transforms.py test_spatial_transform_uses_events_sensor_size   5 0 0   100%
tests/test_transforms.py test_spatial_transform_without_sensor_size_raises   3 0 0   100%
tests/test_transforms.py test_compose_survives_emptying_midblock   4 0 0   100%
tests/test_transforms.py (no function)   23 0 0   100%
tests/test_types.py test_event_size   2 0 0   100%
tests/test_types.py test_event_dtype   5 0 0   100%
tests/test_types.py test_soa_array_indexing   27 0 0   100%
tests/test_types.py test_event_array_empty   6 0 0   100%
tests/test_types.py test_soa_array_negative_indexing   15 0 0   100%
tests/test_types.py test_soa_array_bool_indexing   11 0 0   100%
tests/test_types.py test_soa_array_repr_long   9 0 0   100%
tests/test_types.py test_trigger_array_empty   5 0 0   100%
tests/test_types.py test_event_array_scalar_init   4 0 0   100%
tests/test_types.py test_soa_array_multi_field_indexing   8 0 0   100%
tests/test_types.py (no function)   12 0 0   100%
tests/test_version.py _native_version   2 0 0   100%
tests/test_version.py test_native_backend_version_matches_package   5 1 0   80%
tests/test_version.py (no function)   5 0 0   100%
tests/test_vis.py test_vis_imports   2 0 0   100%
tests/test_vis.py test_plot3d_importable   4 0 0   100%
tests/test_vis.py (no function)   3 0 0   100%
Total     9369 811 16   91%

No items found using the specified filter.