Coverage report: 93%

Files Functions Classes

coverage.py v7.15.1, created at 2026-07-15 09:33 +0000

File function   statements missing excluded   coverage
src/evutils/__init__.py (no function)   6 2 1   67%
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 (no function)   5 0 0   100%
src/evutils/augment/__init__.py (no function)   2 0 0   100%
src/evutils/augment/_drop.py drop_random_events   8 0 0   100%
src/evutils/augment/_drop.py (no function)   2 0 0   100%
src/evutils/chunking.py window_delta_t   11 0 0   100%
src/evutils/chunking.py sliding_window   14 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   29 3 0   90%
src/evutils/chunking.py stream_n_events   16 2 0   88%
src/evutils/chunking.py stream_skip_to_time   13 0 0   100%
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)   15 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   19 0 0   100%
src/evutils/io/_aedat.py EventDecoder_Aedat._batch_v3   28 6 0   79%
src/evutils/io/_aedat.py EventDecoder_Aedat._batch_v4   21 4 0   81%
src/evutils/io/_aedat.py EventDecoder_Aedat.read_chunk   11 1 0   91%
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 EventEncoder_Aedat.__init__   1 1 0   0%
src/evutils/io/_aedat.py EventEncoder_Aedat.init   1 1 0   0%
src/evutils/io/_aedat.py EventEncoder_Aedat.write   1 1 0   0%
src/evutils/io/_aedat.py (no function)   46 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)   25 0 0   100%
src/evutils/io/_bin.py EventDecoder_Bin.__init__   1 1 0   0%
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 1 0   0%
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)   14 0 0   100%
src/evutils/io/_csv.py EventDecoder_Csv.__init__   10 0 0   100%
src/evutils/io/_csv.py EventDecoder_Csv._check_header   14 1 0   93%
src/evutils/io/_csv.py EventDecoder_Csv.init   9 0 0   100%
src/evutils/io/_csv.py EventDecoder_Csv.read_chunk   45 8 0   82%
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)   19 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.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)   28 0 0   100%
src/evutils/io/_event_reader.py EventReader.__init__   81 7 0   91%
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   5 0 0   100%
src/evutils/io/_event_reader.py EventReader._pace   15 0 0   100%
src/evutils/io/_event_reader.py EventReader._read   52 5 0   90%
src/evutils/io/_event_reader.py EventReader.read_all   33 15 0   55%
src/evutils/io/_event_reader.py EventReader.reset   8 0 0   100%
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__   8 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   4 0 0   100%
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)   34 0 1   100%
src/evutils/io/_event_writer.py EventWriter.__init__   21 4 0   81%
src/evutils/io/_event_writer.py EventWriter._open_file   1 0 0   100%
src/evutils/io/_event_writer.py EventWriter.init   2 0 0   100%
src/evutils/io/_event_writer.py EventWriter.write   3 0 0   100%
src/evutils/io/_event_writer.py EventWriter.write_external_triggers   3 3 0   0%
src/evutils/io/_event_writer.py EventWriter.flush   1 1 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   2 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__   8 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   29 2 0   93%
src/evutils/io/_evt.py EventDecoder_EVT._infer_resolution   23 5 0   78%
src/evutils/io/_evt.py EventDecoder_EVT.init   23 2 0   91%
src/evutils/io/_evt.py EventDecoder_EVT._tail_pad   1 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT.parse_step   9 1 0   89%
src/evutils/io/_evt.py EventDecoder_EVT.read_chunk   21 1 0   95%
src/evutils/io/_evt.py EventDecoder_EVT.read_all   11 1 0   91%
src/evutils/io/_evt.py EventDecoder_EVT.reset   4 0 0   100%
src/evutils/io/_evt.py EventDecoder_EVT.tell   4 4 0   0%
src/evutils/io/_evt.py EventDecoder_EVT.close   2 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 2 0   88%
src/evutils/io/_evt.py (no function)   61 0 2   100%
src/evutils/io/_hdf5.py _fill_ms_to_idx   5 0 0   100%
src/evutils/io/_hdf5.py EventDecoder_HDF5.__init__   8 0 0   100%
src/evutils/io/_hdf5.py EventDecoder_HDF5.init   28 2 0   93%
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.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)   30 0 0   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 10 0   0%
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 parse_step   16 0 0   100%
src/evutils/io/_native_core.py decode_all_soa   29 0 0   100%
src/evutils/io/_native_core.py (no function)   54 0 0   100%
src/evutils/io/_native_csv.py _bind_csv   6 0 0   100%
src/evutils/io/_native_csv.py (no function)   6 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   1 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   25 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.__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)   48 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.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)   30 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   19 2 0   89%
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   21 0 0   100%
src/evutils/io/buffer.py EventAccumulator.prepare   7 0 0   100%
src/evutils/io/buffer.py EventAccumulator.append   25 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)   13 0 0   100%
src/evutils/io/common.py EventDecoder.__init__   11 2 0   82%
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   36 6 0   83%
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.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)   32 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   1 1 0   0%
src/evutils/io/decoders.py _sniff_aedat   1 0 0   100%
src/evutils/io/decoders.py resolve_decoder_cls   13 3 0   77%
src/evutils/io/decoders.py (no function)   45 4 0   91%
src/evutils/io/encoders.py get_file_writer   6 3 0   50%
src/evutils/io/encoders.py (no function)   33 4 0   88%
src/evutils/io/stream.py EventStreamer.__init__   5 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/processing/__init__.py (no function)   3 0 0   100%
src/evutils/processing/_masking.py mask_events   12 1 0   92%
src/evutils/processing/_masking.py (no function)   2 0 0   100%
src/evutils/processing/_utils.py normalize_ts   5 0 0   100%
src/evutils/processing/_utils.py (no function)   2 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   4 0 0   100%
src/evutils/random.py event_jitter   5 0 0   100%
src/evutils/random.py (no function)   7 0 0   100%
src/evutils/repr/__init__.py (no function)   6 0 0   100%
src/evutils/repr/_frame.py frame_gray   10 0 0   100%
src/evutils/repr/_frame.py frame_rgb   10 0 0   100%
src/evutils/repr/_frame.py frame_diff   9 0 0   100%
src/evutils/repr/_frame.py (no function)   9 0 0   100%
src/evutils/repr/_histogram.py histogram   18 0 0   100%
src/evutils/repr/_histogram.py wedge_histogram   14 0 0   100%
src/evutils/repr/_histogram.py (no function)   7 0 0   100%
src/evutils/repr/_timesurface.py timesurface   14 0 0   100%
src/evutils/repr/_timesurface.py (no function)   5 0 0   100%
src/evutils/repr/_tore.py tore   15 0 0   100%
src/evutils/repr/_tore.py (no function)   5 0 0   100%
src/evutils/repr/_voxel.py voxel_histogram   11 0 0   100%
src/evutils/repr/_voxel.py (no function)   5 0 0   100%
src/evutils/types.py is_monotonically_increasing   1 0 0   100%
src/evutils/types.py SoaArray.__getitem__   9 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   2 0 0   100%
src/evutils/types.py SoaArray.empty   2 0 0   100%
src/evutils/types.py SoaArray.from_aos   2 0 0   100%
src/evutils/types.py SoaArray.to_aos   4 0 0   100%
src/evutils/types.py SoaArray.to_numpy   1 1 0   0%
src/evutils/types.py SoaArray.__array__   4 1 0   75%
src/evutils/types.py EventArray.__init__   4 0 0   100%
src/evutils/types.py TriggerArray.__init__   3 0 0   100%
src/evutils/types.py (no function)   35 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 (no function)   20 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 (no function)   0 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_overflow_raises   4 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_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_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)   25 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 (no function)   32 0 0   100%
tests/io/test_evt3_edge_cases.py test_incomplete_vector_continuation   0 0 0   100%
tests/io/test_evt3_edge_cases.py test_output_buffer_full_stops_mid_chunk   0 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)   7 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_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_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   8 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 (no function)   15 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_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_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   4 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 (no function)   37 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_augment.py test_drop_random_events   13 0 0   100%
tests/test_augment.py (no function)   5 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 (no function)   9 0 0   100%
tests/test_processing.py test_mask_events   12 0 0   100%
tests/test_processing.py test_normalize_ts   7 0 0   100%
tests/test_processing.py (no function)   6 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_repr.py create_events   7 0 0   100%
tests/test_repr.py test_timesurface   5 0 0   100%
tests/test_repr.py test_timesurface_empty   4 0 0   100%
tests/test_repr.py test_voxel_histogram   3 0 0   100%
tests/test_repr.py test_voxel_histogram_empty   4 0 0   100%
tests/test_repr.py test_voxel_histogram_less_than_3_events   4 0 0   100%
tests/test_repr.py test_voxel_histogram_exceeds_dt   3 0 0   100%
tests/test_repr.py test_histogram   5 0 0   100%
tests/test_repr.py test_histogram_empty   4 0 0   100%
tests/test_repr.py test_histogram_fill   4 0 0   100%
tests/test_repr.py test_wedge_histogram   3 0 0   100%
tests/test_repr.py test_frame_diff   5 0 0   100%
tests/test_repr.py test_frame_diff_empty   4 0 0   100%
tests/test_repr.py test_frame_rgb   6 0 0   100%
tests/test_repr.py test_frame_gray   6 0 0   100%
tests/test_repr.py test_tore   5 0 0   100%
tests/test_repr.py test_tore_empty   4 0 0   100%
tests/test_repr.py test_histogram_saturation   3 0 0   100%
tests/test_repr.py test_wedge_histogram_saturation   3 0 0   100%
tests/test_repr.py test_tore_fifo_overflow   5 0 0   100%
tests/test_repr.py test_voxel_histogram_more_windows_than_bins   3 0 0   100%
tests/test_repr.py test_voxel_histogram_fewer_windows_than_bins   4 0 0   100%
tests/test_repr.py (no function)   26 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 (no function)   10 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_rpg_reconstructor   1 0 0   100%
tests/test_vis.py (no function)   1 0 0   100%
Total     5988 431 6   93%

No items found using the specified filter.