Coverage report: 21%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-28 08:36 +0000

      Statements   Branches   Total
File class   coverage statements missing excluded   coverage branches partial   coverage
python / lsst / __init__.py (no class)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / __init__.py (no class)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / __init__.py (no class)   100% 38 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler.py ParsedButlerDatasetURI   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler.py SpecificButlerDataset   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler.py _DeprecatedDefault   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler   0% 194 194 31   0% 98 0   0%
python / lsst / daf / butler / _butler.py (no class)   100% 131 0 15   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py CollectionInfo   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _butler_collections.py ButlerCollections   9% 22 20 9   14% 14 2   11%
python / lsst / daf / butler / _butler_collections.py (no class)   100% 53 0 2   100% 0 0   100%
python / lsst / daf / butler / _butler_config.py ButlerConfig   0% 61 61 0   0% 38 0   0%
python / lsst / daf / butler / _butler_config.py (no class)   100% 19 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler_instance_options.py ButlerInstanceOptions   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler_instance_options.py (no class)   100% 12 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics   0% 21 21 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py (no class)   100% 34 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler_repo_index.py ButlerRepoIndex   0% 47 47 0   0% 14 0   0%
python / lsst / daf / butler / _butler_repo_index.py (no class)   100% 30 0 0   100% 0 0   100%
python / lsst / daf / butler / _collection_type.py CollectionType   11% 9 8 0   0% 2 0   9%
python / lsst / daf / butler / _collection_type.py (no class)   100% 19 0 0   100% 0 0   100%
python / lsst / daf / butler / _config.py Loader   13% 30 26 0   6% 16 1   11%
python / lsst / daf / butler / _config.py Config   35% 278 180 0   26% 156 15   32%
python / lsst / daf / butler / _config.py ConfigSubset   68% 62 20 0   55% 40 14   63%
python / lsst / daf / butler / _config.py (no class)   87% 116 15 2   69% 16 5   85%
python / lsst / daf / butler / _config_support.py LookupKey   15% 59 50 0   13% 38 5   14%
python / lsst / daf / butler / _config_support.py (no class)   43% 60 34 2   0% 24 0   31%
python / lsst / daf / butler / _dataset_association.py DatasetAssociation   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / _dataset_association.py (no class)   100% 21 0 3   100% 0 0   100%
python / lsst / daf / butler / _dataset_existence.py DatasetExistence   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_existence.py (no class)   100% 19 0 0   100% 0 0   100%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance   0% 152 152 0   0% 110 0   0%
python / lsst / daf / butler / _dataset_provenance.py (no class)   100% 32 0 3   100% 0 0   100%
python / lsst / daf / butler / _dataset_ref.py AmbiguousDatasetError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _dataset_ref.py _DatasetRefGroupedIterable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetIdGenEnum   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _dataset_ref.py DatasetIdFactory   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRef   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef   0% 115 115 0   0% 70 0   0%
python / lsst / daf / butler / _dataset_ref.py MinimalistSerializableDatasetRef   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRefContainer   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRefContainerV1   0% 42 42 0   0% 22 0   0%
python / lsst / daf / butler / _dataset_ref.py (no class)   100% 125 0 3   100% 0 0   100%
python / lsst / daf / butler / _dataset_type.py SerializedDatasetType   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType   0% 158 158 0   0% 100 0   0%
python / lsst / daf / butler / _dataset_type.py (no class)   88% 77 9 3   0% 6 0   82%
python / lsst / daf / butler / _deferredDatasetHandle.py DeferredDatasetHandle   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / _deferredDatasetHandle.py (no class)   100% 17 0 5   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py ButlerUserError   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _exceptions.py CalibrationLookupError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py CollectionCycleError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py CollectionTypeError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py DataIdValueError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py DatasetNotFoundError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py DimensionNameError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py DimensionValueError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py InconsistentDataIdError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py InvalidQueryError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py MissingCollectionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py UnimplementedQueryError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py MissingDatasetTypeError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py UnknownComponentError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py DatasetTypeNotSupportedError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py ValidationError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py EmptyQueryResultError   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _exceptions.py UnknownButlerUserError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py (no class)   92% 49 4 0   0% 2 0   88%
python / lsst / daf / butler / _exceptions_legacy.py RegistryError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions_legacy.py DataIdError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions_legacy.py DatasetTypeError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions_legacy.py CollectionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions_legacy.py (no class)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / _file_dataset.py FileDataset   0% 20 20 0   0% 10 0   0%
python / lsst / daf / butler / _file_dataset.py SerializedFileDataset   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _file_dataset.py (no class)   100% 29 0 0   100% 0 0   100%
python / lsst / daf / butler / _file_descriptor.py FileDescriptor   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / _file_descriptor.py (no class)   100% 10 0 3   100% 0 0   100%
python / lsst / daf / butler / _formatter.py FileIntegrityError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _formatter.py FormatterNotImplementedError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _formatter.py FormatterV2   0% 200 200 0   0% 90 0   0%
python / lsst / daf / butler / _formatter.py Formatter   0% 91 91 2   0% 42 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory   0% 51 51 0   0% 24 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2   0% 29 29 0   0% 4 0   0%
python / lsst / daf / butler / _formatter.py (no class)   100% 160 0 7   100% 0 0   100%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactoryProtocol   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory   0% 42 42 0   0% 14 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _ButlerFactory   100% 2 0 0   50% 4 2   67%
python / lsst / daf / butler / _labeled_butler_factory.py _DirectButlerFactory   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _RemoteButlerFactory   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py (no class)   100% 33 0 0   100% 0 0   100%
python / lsst / daf / butler / _limited_butler.py LimitedButler   0% 29 29 4   0% 2 0   0%
python / lsst / daf / butler / _limited_butler.py (no class)   100% 51 0 0   100% 0 0   100%
python / lsst / daf / butler / _location.py Location   0% 54 54 0   0% 24 0   0%
python / lsst / daf / butler / _location.py LocationFactory   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / _location.py (no class)   100% 33 0 0   100% 0 0   100%
python / lsst / daf / butler / _named.py Named   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyMapping   50% 4 2 3   50% 4 2   50%
python / lsst / daf / butler / _named.py NamedKeyMutableMapping   0% 1 1 2   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict   0% 32 32 0   0% 8 0   0%
python / lsst / daf / butler / _named.py NamedValueAbstractSet   29% 7 5 3   50% 4 2   36%
python / lsst / daf / butler / _named.py NameMappingSetView   5% 20 19 0   0% 8 0   4%
python / lsst / daf / butler / _named.py NamedValueMutableSet   100% 0 0 4   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueSet   4% 27 26 0   0% 6 0   3%
python / lsst / daf / butler / _named.py (no class)   100% 108 0 0   100% 0 0   100%
python / lsst / daf / butler / _quantum.py SerializedQuantum   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum   0% 124 124 0   0% 70 0   0%
python / lsst / daf / butler / _quantum.py DimensionRecordsAccumulator   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / _quantum.py (no class)   84% 64 10 0   0% 6 0   77%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler   0% 100 100 0   0% 48 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumProvenanceData   0% 18 18 1   0% 10 0   0%
python / lsst / daf / butler / _quantum_backed.py (no class)   100% 70 0 2   100% 0 0   100%
python / lsst / daf / butler / _query_all_datasets.py DatasetsPage   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _query_all_datasets.py QueryAllDatasetsParameters   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _query_all_datasets.py (no class)   48% 60 31 2   0% 18 0   37%
python / lsst / daf / butler / _registry_shim.py RegistryShim   0% 76 76 0   0% 20 0   0%
python / lsst / daf / butler / _registry_shim.py (no class)   100% 66 0 4   100% 0 0   100%
python / lsst / daf / butler / _rubin / __init__.py (no class)   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _rubin / file_datasets.py (no class)   43% 23 13 0   0% 4 0   37%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest   0% 26 26 0   0% 6 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py (no class)   100% 31 0 7   100% 0 0   100%
python / lsst / daf / butler / _rubin / transfer_datasets_in_place.py (no class)   43% 21 12 1   100% 0 0   43%
python / lsst / daf / butler / _standalone_datastore.py _DatasetRecordStorageManagerDatastoreConstructionMimic   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _standalone_datastore.py (no class)   57% 30 13 0   0% 6 0   47%
python / lsst / daf / butler / _storage_class.py StorageClassConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py _StorageClassModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py StorageClass   19% 179 145 0   14% 96 1   17%
python / lsst / daf / butler / _storage_class.py StorageClassFactory   55% 85 38 0   42% 36 3   51%
python / lsst / daf / butler / _storage_class.py (no class)   100% 69 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class_delegate.py DatasetComponent   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate   0% 83 83 2   0% 46 0   0%
python / lsst / daf / butler / _storage_class_delegate.py (no class)   100% 30 0 3   100% 0 0   100%
python / lsst / daf / butler / _timespan.py _SpecialTimespanBound   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _timespan.py Timespan   0% 138 138 0   0% 86 0   0%
python / lsst / daf / butler / _timespan.py (no class)   97% 63 2 0   100% 0 0   97%
python / lsst / daf / butler / _topology.py TopologicalSpace   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _topology.py TopologicalFamily   0% 8 8 2   0% 2 0   0%
python / lsst / daf / butler / _topology.py TopologicalRelationshipEndpoint   0% 2 2 2   100% 0 0   0%
python / lsst / daf / butler / _topology.py (no class)   100% 40 0 3   100% 0 0   100%
python / lsst / daf / butler / _utilities / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _utilities / locked_object.py LockedObject   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / locked_object.py (no class)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / _utilities / named_locks.py NamedLocks   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / _utilities / named_locks.py (no class)   100% 8 0 0   100% 0 0   100%
python / lsst / daf / butler / _utilities / thread_safe_cache.py ThreadSafeCache   20% 10 8 0   100% 0 0   20%
python / lsst / daf / butler / _utilities / thread_safe_cache.py (no class)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / _uuid.py (no class)   42% 12 7 0   100% 0 0   42%
python / lsst / daf / butler / arrow_utils.py ToArrow   0% 7 7 5   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowPrimitive   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDictionary   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowUUID   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowRegion   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowTimespan   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDateTime   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py UUIDArrowType   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py UUIDArrowScalar   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py RegionArrowType   50% 4 2 0   100% 0 0   50%
python / lsst / daf / butler / arrow_utils.py RegionArrowScalar   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py TimespanArrowType   50% 4 2 0   100% 0 0   50%
python / lsst / daf / butler / arrow_utils.py TimespanArrowScalar   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / arrow_utils.py DateTimeArrowType   50% 4 2 0   100% 0 0   50%
python / lsst / daf / butler / arrow_utils.py DateTimeArrowScalar   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py (no class)   100% 144 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / butler.py PluginCommand   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / butler.py LoaderCLI   1% 81 80 1   0% 38 0   1%
python / lsst / daf / butler / cli / butler.py ButlerCLI   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / cli / butler.py UncachedButlerCLI   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py (no class)   90% 81 8 0   100% 0 0   90%
python / lsst / daf / butler / cli / cliLog.py PrecisionLogFormatter   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog   4% 96 92 0   2% 56 1   3%
python / lsst / daf / butler / cli / cliLog.py CliLog.ComponentSettings   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / cli / cliLog.py (no class)   96% 50 2 0   100% 0 0   96%
python / lsst / daf / butler / cli / cmd / __init__.py (no class)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / cmd / _remove_collections.py (no class)   39% 57 35 0   0% 20 0   29%
python / lsst / daf / butler / cli / cmd / _remove_runs.py (no class)   49% 63 32 0   0% 16 0   39%
python / lsst / daf / butler / cli / cmd / commands.py (no class)   67% 308 103 0   0% 60 0   56%
python / lsst / daf / butler / cli / opt / __init__.py (no class)   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / opt / arguments.py (no class)   100% 11 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / opt / optionGroups.py query_datasets_options   92% 13 1 0   90% 10 1   91%
python / lsst / daf / butler / cli / opt / optionGroups.py (no class)   100% 7 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / opt / options.py CollectionTypeCallback   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / opt / options.py (no class)   93% 45 3 0   100% 0 0   93%
python / lsst / daf / butler / cli / progress.py ClickProgressHandler   17% 6 5 0   0% 2 0   12%
python / lsst / daf / butler / cli / progress.py (no class)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py ClickExitFailedNicely   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / cli / utils.py LogCliRunner   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetDict   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetTuple   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py option_section   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py MWPath   57% 7 3 0   25% 4 1   45%
python / lsst / daf / butler / cli / utils.py MWOption   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / cli / utils.py MWArgument   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / cli / utils.py OptionSection   60% 5 2 0   100% 0 0   60%
python / lsst / daf / butler / cli / utils.py MWOptionDecorator   75% 8 2 0   100% 0 0   75%
python / lsst / daf / butler / cli / utils.py MWArgumentDecorator   100% 9 0 0   100% 4 0   100%
python / lsst / daf / butler / cli / utils.py MWCommand   16% 38 32 1   6% 18 1   12%
python / lsst / daf / butler / cli / utils.py ButlerCommand   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py OptionGroup   100% 3 0 0   100% 2 0   100%
python / lsst / daf / butler / cli / utils.py MWCtxObj   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py (no class)   47% 268 142 3   8% 78 4   38%
python / lsst / daf / butler / column_spec.py ColumnValueSerializer   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / column_spec.py _TypeAdapterColumnValueSerializer   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec   0% 15 15 2   0% 6 0   0%
python / lsst / daf / butler / column_spec.py IntColumnSpec   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py StringColumnSpec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py HashColumnSpec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py FloatColumnSpec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py BoolColumnSpec   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py UUIDColumnSpec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py RegionColumnSpec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py TimespanColumnSpec   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py DateTimeColumnSpec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py (no class)   99% 108 1 2   100% 0 0   99%
python / lsst / daf / butler / datastore / __init__.py (no class)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py DatastoreConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py DatastoreValidationError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Event   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py DatastoreOpaqueTable   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py IngestPrepData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatastoreTransaction   0% 23 23 0   0% 4 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatasetRefURIs   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore   0% 57 57 30   0% 14 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore   0% 15 15 15   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py (no class)   100% 177 0 13   100% 0 0   100%
python / lsst / daf / butler / datastore / _transfer.py FileTransferSource   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _transfer.py FileTransferRecord   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _transfer.py (no class)   100% 17 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py CacheEntry   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py _MarkerEntry   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry   0% 38 38 0   0% 18 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManagerConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager   0% 6 6 6   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager   0% 234 234 0   0% 118 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py InvalidCacheFilenameError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py (no class)   89% 138 15 5   100% 0 0   89%
python / lsst / daf / butler / datastore / composites.py CompositesConfig   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / datastore / composites.py CompositesMap   0% 31 31 0   0% 18 0   0%
python / lsst / daf / butler / datastore / composites.py (no class)   100% 18 0 8   100% 0 0   100%
python / lsst / daf / butler / datastore / constraints.py ConstraintsValidationError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / constraints.py ConstraintsConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / constraints.py Constraints   0% 32 32 0   0% 18 0   0%
python / lsst / daf / butler / datastore / constraints.py (no class)   100% 19 0 5   100% 0 0   100%
python / lsst / daf / butler / datastore / file_templates.py FileTemplateValidationError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / file_templates.py FileTemplatesConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / file_templates.py FieldDict   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates   0% 58 58 0   0% 28 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate   0% 207 207 0   0% 134 0   0%
python / lsst / daf / butler / datastore / file_templates.py (no class)   100% 52 0 3   100% 0 0   100%
python / lsst / daf / butler / datastore / generic_base.py GenericBaseDatastore   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / datastore / generic_base.py (no class)   54% 24 11 3   0% 8 0   41%
python / lsst / daf / butler / datastore / record_data.py SerializedDatastoreRecordData   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / record_data.py DatastoreRecordData   0% 47 47 0   0% 34 0   0%
python / lsst / daf / butler / datastore / record_data.py (no class)   100% 30 0 2   100% 0 0   100%
python / lsst / daf / butler / datastore / stored_file_info.py StoredDatastoreItemInfo   0% 14 14 4   0% 6 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo   0% 48 48 0   0% 22 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py SerializedStoredFileInfo   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / stored_file_info.py (no class)   91% 75 7 2   0% 4 0   86%
python / lsst / daf / butler / datastores / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / chainedDatastore.py _IngestPrepData   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore   0% 459 459 1   0% 242 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py (no class)   0% 80 80 4   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py _IngestPrepData   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore   0% 930 930 2   0% 488 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py (no class)   100% 131 0 3   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / get.py DatastoreFileGetInformation   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / get.py (no class)   26% 117 86 0   0% 36 0   20%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ArtifactIndexInfo   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex   0% 27 27 0   0% 6 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py RetrievalCallable   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py (no class)   47% 103 55 0   3% 30 1   37%
python / lsst / daf / butler / datastores / file_datastore / transfer.py (no class)   32% 25 17 0   0% 8 0   24%
python / lsst / daf / butler / datastores / inMemoryDatastore.py StoredMemoryItemInfo   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore   0% 146 146 3   0% 46 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py (no class)   0% 66 66 5   100% 0 0   0%
python / lsst / daf / butler / ddl.py SchemaValidationError   50% 8 4 0   100% 0 0   50%
python / lsst / daf / butler / ddl.py Base64Bytes   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / ddl.py Base64Region   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / ddl.py AstropyTimeNsecTai   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / ddl.py GUID   0% 19 19 0   0% 16 0   0%
python / lsst / daf / butler / ddl.py FieldSpec   6% 36 34 0   10% 20 0   7%
python / lsst / daf / butler / ddl.py ForeignKeySpec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py IndexSpec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py TableSpec   88% 8 1 0   100% 0 0   88%
python / lsst / daf / butler / ddl.py (no class)   100% 126 0 2   100% 0 0   100%
python / lsst / daf / butler / delegates / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / delegates / arrowtable.py ArrowTableDelegate   0% 90 90 1   0% 72 0   0%
python / lsst / daf / butler / delegates / arrowtable.py (no class)   38% 45 28 3   0% 18 0   27%
python / lsst / daf / butler / dimensions / __init__.py (no class)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _config.py DimensionConfig   0% 31 31 0   0% 16 0   0%
python / lsst / daf / butler / dimensions / _config.py _SkyPixSystemConfig   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _config.py _SkyPixSectionConfig   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _config.py _TopologySectionConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _config.py _LegacyGovernorDimensionStorage   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _config.py _LegacyTableDimensionStorage   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _config.py _LegacyImpliedUnionDimensionStorage   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py _LegacyCachingDimensionStorage   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig   0% 55 55 0   0% 38 0   0%
python / lsst / daf / butler / dimensions / _config.py SerializedDimensionConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _config.py (no class)   100% 118 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py SerializedDataCoordinate   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate   3% 120 116 11   5% 78 4   4%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRecordsView   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate   0% 13 13 1   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRequiredMappingView   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateFullMappingView   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate   0% 18 18 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate   0% 22 22 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate   0% 21 21 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py (no class)   96% 165 6 3   0% 4 0   94%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable   0% 4 4 4   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase   0% 39 39 0   0% 24 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet   0% 56 56 0   0% 34 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py (no class)   100% 87 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamily   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamilyConstructionVisitor   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement   0% 14 14 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimension   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionCombination   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py (no class)   100% 59 0 4   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement   5% 61 58 5   0% 10 0   4%
python / lsst / daf / butler / dimensions / _elements.py Dimension   0% 15 15 1   0% 4 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionCombination   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py (no class)   100% 110 0 7   100% 0 0   100%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension   0% 17 17 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _governor.py (no class)   100% 26 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup   3% 106 103 0   0% 36 0   2%
python / lsst / daf / butler / dimensions / _group.py (no class)   100% 93 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker   0% 11 11 3   0% 4 0   0%
python / lsst / daf / butler / dimensions / _packer.py (no class)   100% 22 0 2   100% 0 0   100%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordFactory   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet   0% 80 80 0   0% 48 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSetDeserializer   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataExtractor   0% 12 12 0   0% 10 0   0%
python / lsst / daf / butler / dimensions / _record_set.py SerializableDimensionData   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataAttacher   0% 46 46 0   0% 38 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _InProgressRecordDicts   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper   0% 40 40 0   0% 24 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DeserializingDimensionRecordLookupHelper   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _SkyPixDimensionRecordLookupHelper   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py (no class)   99% 90 1 7   100% 0 0   99%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable   4% 45 43 0   8% 24 2   6%
python / lsst / daf / butler / dimensions / _record_table.py (no class)   100% 24 0 4   100% 0 0   100%
python / lsst / daf / butler / dimensions / _records.py SpecificSerializedDimensionRecord   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _records.py SerializedDimensionRecord   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord   0% 94 94 0   0% 52 0   0%
python / lsst / daf / butler / dimensions / _records.py (no class)   66% 97 33 5   0% 14 0   58%
python / lsst / daf / butler / dimensions / _schema.py DimensionRecordSchema   0% 45 45 0   0% 22 0   0%
python / lsst / daf / butler / dimensions / _schema.py DimensionElementFields   0% 52 52 0   0% 24 0   0%
python / lsst / daf / butler / dimensions / _schema.py (no class)   75% 65 16 3   0% 6 0   69%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixSystem   0% 22 22 0   0% 10 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py (no class)   100% 42 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse   1% 92 91 0   2% 40 1   2%
python / lsst / daf / butler / dimensions / _universe.py (no class)   100% 83 0 2   50% 2 1   99%
python / lsst / daf / butler / dimensions / construction.py DimensionConstructionVisitor   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / dimensions / construction.py DimensionConstructionBuilder   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / construction.py (no class)   100% 27 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache   0% 19 19 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / record_cache.py (no class)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_butler / __init__.py (no class)   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_butler / _direct_butler.py ButlerValidationError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler   0% 807 807 1   0% 478 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py _RefGroup   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_butler / _direct_butler.py _ImportDatasetsInfo   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_butler / _direct_butler.py _ButlerClosed   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py (no class)   95% 148 7 8   0% 2 0   94%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections   0% 54 54 0   0% 24 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py (no class)   100% 25 0 3   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / __init__.py (no class)   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver   1% 348 347 2   1% 192 1   1%
python / lsst / daf / butler / direct_query_driver / _driver.py _MaterializationState   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py _Cursor   0% 26 26 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py (no class)   100% 83 0 2   50% 10 5   95%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing   0% 42 42 0   0% 28 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py (no class)   100% 29 0 2   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py ResolvedDatasetSearch   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryJoinsAnalysis   0% 15 15 0   0% 14 0   0%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryFindFirstAnalysis   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryCollectionAnalysis   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryTreeAnalysis   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py (no class)   100% 63 0 3   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder   0% 13 13 6   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder   0% 32 32 0   0% 14 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilderTerm   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder   0% 71 71 1   0% 54 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py (no class)   100% 89 0 3   50% 8 4   96%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py ResultPageConverter   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py ResultPageConverterContext   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DimensionRecordResultPageConverter   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DimensionRecordRowConverter   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _NormalDimensionRecordRowConverter   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _SkypixDimensionRecordRowConverter   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _CachedDimensionRecordRowConverter   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DataCoordinateResultPageConverter   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DatasetRefResultPageConverter   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DataCoordinateRowConverter   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DimensionGroupRecordRowConverter   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py GeneralResultPageConverter   0% 31 31 0   0% 22 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _GeneralColumnConverter   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DefaultGeneralColumnConverter   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _TimestampGeneralColumnConverter   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _TimespanGeneralColumnConverter   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py (no class)   93% 72 5 2   0% 4 0   88%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder   0% 43 43 0   0% 26 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlColumns   0% 24 24 0   0% 20 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlJoinsBuilder   0% 35 35 0   0% 20 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py (no class)   77% 82 19 3   0% 14 0   66%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor   0% 125 125 6   0% 64 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py (no class)   100% 33 0 3   100% 0 0   100%
python / lsst / daf / butler / formatters / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / formatters / astropyTable.py AstropyTableFormatter   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / formatters / astropyTable.py (no class)   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter   0% 49 49 0   0% 22 0   0%
python / lsst / daf / butler / formatters / file.py (no class)   0% 18 18 2   100% 0 0   0%
python / lsst / daf / butler / formatters / json.py JsonFormatter   0% 20 20 0   0% 6 0   0%
python / lsst / daf / butler / formatters / json.py (no class)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / formatters / logs.py ButlerLogRecordsFormatter   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / formatters / logs.py (no class)   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / formatters / matplotlib.py MatplotlibFormatter   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / formatters / matplotlib.py (no class)   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / formatters / packages.py PackagesFormatter   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / formatters / packages.py (no class)   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ParquetFormatter   0% 66 66 0   0% 38 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema   0% 25 25 0   0% 12 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema   0% 17 17 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py (no class)   22% 433 337 10   0% 184 0   16%
python / lsst / daf / butler / formatters / pickle.py PickleFormatter   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / formatters / pickle.py (no class)   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / formatters / typeless.py TypelessFormatter   0% 31 31 0   0% 16 0   0%
python / lsst / daf / butler / formatters / typeless.py (no class)   100% 10 0 3   100% 0 0   100%
python / lsst / daf / butler / formatters / yaml.py YamlFormatter   0% 27 27 0   0% 12 0   0%
python / lsst / daf / butler / formatters / yaml.py (no class)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / json.py SupportsSimple   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / json.py (no class)   52% 25 12 3   50% 2 1   52%
python / lsst / daf / butler / logging.py MDCDict   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerMDC   0% 32 32 0   0% 12 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecord   0% 19 19 0   0% 4 0   0%
python / lsst / daf / butler / logging.py _ButlerLogRecordsModelV1   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py _ButlerLogRecordsModel   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords   4% 92 88 0   7% 54 4   5%
python / lsst / daf / butler / logging.py ButlerLogRecordHandler   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / logging.py JsonLogFormatter   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / logging.py (no class)   100% 116 0 0   100% 0 0   100%
python / lsst / daf / butler / mapping_factory.py MappingFactory   0% 58 58 0   0% 26 0   0%
python / lsst / daf / butler / mapping_factory.py (no class)   100% 18 0 0   100% 0 0   100%
python / lsst / daf / butler / name_shrinker.py NameShrinker   0% 21 21 0   0% 4 0   0%
python / lsst / daf / butler / name_shrinker.py (no class)   100% 11 0 0   100% 0 0   100%
python / lsst / daf / butler / nonempty_mapping.py Copyable   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping   10% 20 18 0   14% 14 2   12%
python / lsst / daf / butler / nonempty_mapping.py (no class)   100% 18 0 0   100% 0 0   100%
python / lsst / daf / butler / persistence_context.py PersistenceContextVars   0% 22 22 0   0% 8 0   0%
python / lsst / daf / butler / persistence_context.py (no class)   100% 32 0 6   100% 0 0   100%
python / lsst / daf / butler / progress.py ProgressBar   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / progress.py Progress   0% 82 82 0   0% 54 0   0%
python / lsst / daf / butler / progress.py ProgressHandler   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / progress.py _NullProgressBar   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / progress.py (no class)   100% 34 0 0   100% 0 0   100%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation   19% 26 21 0   0% 8 0   15%
python / lsst / daf / butler / pydantic_utils.py (no class)   59% 66 27 2   0% 12 0   50%
python / lsst / daf / butler / queries / __init__.py (no class)   100% 6 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _base.py QueryBase   0% 4 4 1   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py QueryResultsBase   0% 3 3 4   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py (no class)   100% 29 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py (no class)   100% 20 0 2   100% 0 0   100%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults   0% 18 18 0   0% 6 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py (no class)   100% 28 0 2   100% 0 0   100%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py (no class)   100% 22 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _expression_strings.py _ColExpr   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _Null   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _expression_strings.py _RangeLiteral   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _expression_strings.py _Sequence   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor   0% 119 119 0   0% 58 0   0%
python / lsst / daf / butler / queries / _expression_strings.py (no class)   50% 109 54 1   0% 34 0   38%
python / lsst / daf / butler / queries / _general_query_results.py GeneralResultTuple   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults   0% 72 72 0   0% 34 0   0%
python / lsst / daf / butler / queries / _general_query_results.py (no class)   100% 37 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _identifiers.py IdentifierContext   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / _identifiers.py (no class)   23% 74 57 0   0% 46 0   14%
python / lsst / daf / butler / queries / _query.py Query   0% 163 163 0   0% 98 0   0%
python / lsst / daf / butler / queries / _query.py (no class)   100% 48 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / convert_args.py (no class)   24% 49 37 0   0% 24 0   16%
python / lsst / daf / butler / queries / driver.py DataCoordinateResultPage   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py DimensionRecordResultPage   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / driver.py DatasetRefResultPage   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py GeneralResultPage   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver   100% 1 0 9   50% 2 1   67%
python / lsst / daf / butler / queries / driver.py (no class)   100% 59 0 0   50% 6 3   95%
python / lsst / daf / butler / queries / expression_factory.py ExpressionProxy   0% 6 6 1   0% 2 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy   0% 24 24 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ResolvedScalarExpressionProxy   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py BooleanScalarExpressionProxy   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / expression_factory.py TimespanProxy   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py RegionProxy   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy   0% 29 29 0   0% 8 0   0%
python / lsst / daf / butler / queries / expression_factory.py DatasetTypeProxy   0% 14 14 0   0% 2 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory   0% 20 20 1   0% 4 0   0%
python / lsst / daf / butler / queries / expression_factory.py (no class)   100% 99 0 3   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / categorize.py ExpressionConstant   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / categorize.py (no class)   64% 11 4 0   100% 0 0   64%
python / lsst / daf / butler / queries / expressions / parser / __init__.py (no class)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Node   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py LiteralNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BinaryOp   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UnaryOp   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py StringLiteral   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TimeLiteral   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py NumericLiteral   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UuidLiteral   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Identifier   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BindName   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RangeLiteral   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py IsIn   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Parens   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TupleNode   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py FunctionCall   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PointNode   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py CircleNode   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BoxNode   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PolygonNode   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RegionNode   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py GlobNode   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py (no class)   61% 144 56 3   0% 52 0   45%
python / lsst / daf / butler / queries / expressions / parser / parser.py (no class)   67% 6 2 0   100% 0 0   67%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py LexToken   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLexError   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex   0% 31 31 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py (no class)   100% 45 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py YaccProduction   100% 5 0 0   50% 10 5   67%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYaccError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParseError   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserEOFError   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc   0% 59 59 0   0% 22 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py (no class)   64% 122 44 0   0% 32 0   51%
python / lsst / daf / butler / queries / expressions / parser / ply / __init__.py (no class)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexError   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexToken   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py PlyLogger   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py NullLogger   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer   0% 198 198 0   0% 70 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect   0% 218 218 0   0% 114 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py (no class)   26% 266 196 0   1% 118 1   18%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py PlyLogger   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py NullLogger   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccSymbol   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction   0% 23 23 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser   0% 540 540 0   0% 196 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production   0% 37 37 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py MiniProduction   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRItem   0% 14 14 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py GrammarError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar   0% 228 228 0   0% 154 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py VersionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRTable   0% 39 39 0   0% 14 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LALRError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable   0% 402 402 0   0% 236 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect   0% 178 178 0   0% 94 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py (no class)   34% 449 295 0   1% 158 1   26%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py (no class)   100% 44 0 3   100% 0 0   100%
python / lsst / daf / butler / queries / overlaps.py _NaiveDisjointSet   0% 19 19 0   0% 10 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalEndpoint   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalFamily   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor   0% 76 76 3   0% 40 0   0%
python / lsst / daf / butler / queries / overlaps.py (no class)   100% 41 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / predicate_constraints_summary.py PredicateConstraintsSummary   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor   0% 36 36 1   0% 18 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py (no class)   93% 28 2 0   100% 0 0   93%
python / lsst / daf / butler / queries / result_specs.py ResultSpecBase   0% 19 19 1   0% 14 0   0%
python / lsst / daf / butler / queries / result_specs.py DataCoordinateResultSpec   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / result_specs.py DimensionRecordResultSpec   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / result_specs.py DatasetRefResultSpec   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / result_specs.py GeneralResultSpec   0% 27 27 0   0% 24 0   0%
python / lsst / daf / butler / queries / result_specs.py SerializedResultSpec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / result_specs.py (no class)   95% 78 4 0   0% 4 0   90%
python / lsst / daf / butler / queries / tree / __init__.py (no class)   100% 12 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _base.py AnyDatasetType   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py QueryTreeBase   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _base.py ColumnExpressionBase   0% 1 1 4   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py ColumnLiteralBase   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py (no class)   98% 50 1 4   100% 0 0   98%
python / lsst / daf / butler / queries / tree / _column_expression.py UnaryExpression   0% 26 26 1   0% 14 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py BinaryExpression   0% 23 23 0   0% 10 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py Reversed   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py TimespanAndDatetime   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _column_expression.py (no class)   82% 82 15 2   0% 10 0   73%
python / lsst / daf / butler / queries / tree / _column_literal.py IntColumnLiteral   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py StringColumnLiteral   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py FloatColumnLiteral   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py HashColumnLiteral   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py UUIDColumnLiteral   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py DateTimeColumnLiteral   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py TimespanColumnLiteral   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py RegionColumnLiteral   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py (no class)   73% 129 35 0   0% 26 0   61%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionKeyReference   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionFieldReference   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DatasetFieldReference   0% 17 17 1   0% 10 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py (no class)   100% 52 0 3   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet   0% 75 75 1   0% 40 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ResultColumn   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnOrder   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py (no class)   100% 47 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _predicate.py PredicateLeafBase   0% 1 1 3   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate   2% 53 52 0   0% 30 0   1%
python / lsst / daf / butler / queries / tree / _predicate.py LogicalNot   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py BooleanWrapper   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py IsNull   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Comparison   0% 27 27 0   0% 16 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InContainer   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InRange   0% 14 14 0   0% 8 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InQuery   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py (no class)   100% 147 0 4   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _query_tree.py DatasetSearch   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree   0% 51 51 0   0% 24 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py SerializedQueryTree   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py (no class)   98% 52 1 0   100% 0 0   98%
python / lsst / daf / butler / queries / visitors.py PredicateVisitFlags   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor   100% 0 0 7   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor   0% 9 9 9   0% 4 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor   0% 18 18 0   0% 6 0   0%
python / lsst / daf / butler / queries / visitors.py (no class)   100% 64 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / __init__.py (no class)   100% 10 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _caching_context.py CachingContext   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / registry / _caching_context.py _CacheToggle   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / registry / _caching_context.py (no class)   100% 20 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache   0% 25 25 0   0% 8 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py (no class)   100% 15 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary   0% 40 40 0   0% 26 0   0%
python / lsst / daf / butler / registry / _collection_summary.py SerializedCollectionSummary   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _collection_summary.py (no class)   97% 32 1 0   100% 0 0   97%
python / lsst / daf / butler / registry / _collection_summary_cache.py CollectionSummaryCache   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / _collection_summary_cache.py (no class)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _config.py RegistryConfig   0% 21 21 0   0% 8 0   0%
python / lsst / daf / butler / registry / _config.py (no class)   100% 20 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / _defaults.py RegistryDefaults   0% 54 54 0   0% 32 0   0%
python / lsst / daf / butler / registry / _defaults.py (no class)   100% 28 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py ArgumentError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py DatasetTypeExpressionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py CollectionExpressionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py NoDefaultCollectionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py UserExpressionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py UserExpressionSyntaxError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py ConflictingDefinitionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py OrphanedRecordError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py UnsupportedIdGeneratorError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py MissingSpatialOverlapError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py RegistryConsistencyError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py (no class)   100% 13 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry   0% 2 2 43   100% 0 0   0%
python / lsst / daf / butler / registry / _registry.py (no class)   100% 116 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase   0% 52 52 0   0% 28 0   0%
python / lsst / daf / butler / registry / _registry_base.py (no class)   100% 26 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _registry_factory.py _RegistryFactory   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / registry / _registry_factory.py (no class)   100% 13 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager   0% 32 32 0   0% 8 0   0%
python / lsst / daf / butler / registry / attributes.py (no class)   100% 22 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / bridge / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge   0% 31 31 0   0% 14 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py (no class)   100% 18 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge   0% 59 59 0   0% 18 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager   0% 20 20 0   0% 8 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py (no class)   84% 44 7 4   100% 0 0   84%
python / lsst / daf / butler / registry / collections / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / collections / _base.py CollectionTablesTuple   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager   0% 222 222 3   0% 120 0   0%
python / lsst / daf / butler / registry / collections / _base.py _CollectionChainModificationContext   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / collections / _base.py (no class)   0% 71 71 3   0% 2 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager   0% 81 81 0   0% 22 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py (no class)   0% 39 39 3   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager   0% 88 88 0   0% 22 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py (no class)   0% 40 40 3   100% 0 0   0%
python / lsst / daf / butler / registry / connectionString.py ConnectionStringFactory   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / registry / connectionString.py (no class)   100% 9 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / databases / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase   0% 104 104 0   0% 42 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanType   0% 20 20 0   0% 10 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation   0% 44 44 0   0% 24 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py (no class)   94% 84 5 0   0% 2 0   92%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase   0% 128 128 3   0% 56 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py (no class)   72% 64 18 0   0% 10 0   62%
python / lsst / daf / butler / registry / datasets / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / datasets / byDimensions / __init__.py (no class)   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache   0% 33 33 0   0% 8 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py (no class)   0% 19 19 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py _DatasetTypeRecord   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py _DatasetRecordStorage   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID   0% 444 444 1   0% 194 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py (no class)   0% 108 108 2   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryTables   0% 13 13 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager   0% 73 73 0   0% 38 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py (no class)   0% 31 31 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py MissingDatabaseTableError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py StaticDatasetTableSpecTuple   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py StaticDatasetTablesTuple   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables   0% 30 30 0   0% 12 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py (no class)   0% 88 88 0   0% 20 0   0%
python / lsst / daf / butler / registry / dimensions / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager   0% 192 192 0   0% 106 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionRecordDatabaseRows   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionGroupStorage   0% 41 41 0   0% 10 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _CommonSkyPixMediatedOverlapsVisitor   0% 60 60 0   0% 26 0   0%
python / lsst / daf / butler / registry / dimensions / static.py (no class)   0% 68 68 0   100% 0 0   0%
python / lsst / daf / butler / registry / expand_data_ids.py (no class)   33% 21 14 0   0% 10 0   23%
python / lsst / daf / butler / registry / interfaces / __init__.py (no class)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeExistsError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager   0% 1 1 7   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _attributes.py (no class)   100% 24 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef   0% 10 10 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge   0% 1 1 6   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridgeManager   0% 3 3 5   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py (no class)   100% 58 0 9   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionRecord   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py RunRecord   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py ChainedCollectionRecord   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager   0% 1 1 22   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py JoinedCollectionsTable   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py (no class)   100% 94 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseInsertMode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py ReadOnlyDatabaseError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseConflictError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py SchemaAlreadyDefinedError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py StaticTablesContext   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database   0% 302 302 13   0% 136 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseMetadata   0% 19 19 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py (no class)   98% 132 3 0   0% 2 0   96%
python / lsst / daf / butler / registry / interfaces / _database_explain.py _Explain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database_explain.py (no class)   56% 18 8 0   0% 2 0   50%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager   0% 13 13 23   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _datasets.py (no class)   100% 65 0 7   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager   0% 2 2 10   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _dimensions.py (no class)   100% 32 0 4   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager   0% 2 2 8   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _obscore.py (no class)   100% 30 0 9   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorage   0% 1 1 5   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorageManager   0% 5 5 4   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _opaque.py (no class)   100% 34 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _versioning.py IncompatibleVersionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionTuple   0% 13 13 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension   0% 22 22 2   0% 18 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py (no class)   100% 30 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / managers.py _GenericRegistryManagers   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / managers.py RegistryManagerTypes   0% 69 69 0   0% 32 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerInstances   0% 31 31 0   0% 6 0   0%
python / lsst / daf / butler / registry / managers.py (no class)   100% 62 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / nameShrinker.py (no class)   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / __init__.py (no class)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py ExtraColumnType   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py ExtraColumnConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py DatasetTypeConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py SpatialPluginConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py ObsCoreConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py ConfigCollectionType   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py ObsCoreManagerConfig   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / obscore / _config.py (no class)   100% 83 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _manager.py _ExposureRegionFactory   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager   0% 115 115 1   0% 56 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py (no class)   100% 41 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _records.py DerivedRegionFactory   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory   0% 87 87 2   0% 36 0   0%
python / lsst / daf / butler / registry / obscore / _records.py DafButlerRecordFactory   0% 56 56 0   0% 32 0   0%
python / lsst / daf / butler / registry / obscore / _records.py (no class)   100% 39 0 6   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _schema.py ObsCoreSchema   0% 39 39 0   0% 24 0   0%
python / lsst / daf / butler / registry / obscore / _schema.py (no class)   100% 20 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py MissingDatabaseError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py RegionTypeError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py RegionTypeWarning   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py SpatialObsCorePlugin   0% 15 15 3   0% 8 0   0%
python / lsst / daf / butler / registry / obscore / _spatial.py (no class)   100% 20 0 5   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / default_spatial.py DefaultSpatialObsCorePlugin   0% 19 19 0   0% 6 0   0%
python / lsst / daf / butler / registry / obscore / default_spatial.py (no class)   0% 15 15 3   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePoint   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePolygon   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSphereObsCorePlugin   0% 25 25 0   0% 10 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py (no class)   0% 26 26 3   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage   0% 32 32 0   0% 14 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorageManager   0% 20 20 0   0% 4 0   0%
python / lsst / daf / butler / registry / opaque.py (no class)   100% 28 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / queries / __init__.py (no class)   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_common.py CommonQueryArguments   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin   0% 33 33 1   0% 10 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py (no class)   81% 47 9 0   0% 6 0   72%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults   0% 41 41 0   0% 16 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py (no class)   100% 28 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults   0% 29 29 0   0% 8 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py (no class)   100% 21 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py QueryDriverDimensionRecordQueryResults   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py (no class)   100% 14 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py LimitedQueryResultsBase   100% 0 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py QueryResultsBase   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DataCoordinateQueryResults   100% 0 0 5   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DatasetQueryResults   0% 3 3 2   0% 2 0   0%
python / lsst / daf / butler / registry / queries / _results.py ParentDatasetQueryResults   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / registry / queries / _results.py DimensionRecordQueryResults   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py (no class)   100% 62 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry   0% 289 289 0   0% 122 0   0%
python / lsst / daf / butler / registry / sql_registry.py (no class)   100% 119 0 5   100% 0 0   100%
python / lsst / daf / butler / registry / tests / __init__.py (no class)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests   0% 462 462 4   0% 48 0   0%
python / lsst / daf / butler / registry / tests / _database.py (no class)   88% 60 7 0   100% 0 0   88%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests   0% 1583 1583 1   0% 170 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCalibrationCollections.Ambiguous   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _registry.py (no class)   98% 116 2 0   100% 0 0   98%
python / lsst / daf / butler / registry / versions.py IncompatibleVersionError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / versions.py MissingManagerError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / versions.py ManagerMismatchError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager   0% 62 62 0   0% 34 0   0%
python / lsst / daf / butler / registry / versions.py (no class)   100% 28 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / wildcards.py CategorizedWildcard   0% 86 86 0   0% 50 0   0%
python / lsst / daf / butler / registry / wildcards.py CollectionWildcard   0% 23 23 0   0% 14 0   0%
python / lsst / daf / butler / registry / wildcards.py DatasetTypeWildcard   0% 24 24 0   0% 16 0   0%
python / lsst / daf / butler / registry / wildcards.py (no class)   100% 46 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / __init__.py (no class)   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _collection_args.py DatasetTypeSearch   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _collection_args.py (no class)   0% 41 41 0   0% 20 0   0%
python / lsst / daf / butler / remote_butler / _config.py RemoteButlerConfigModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _config.py RemoteButlerOptionsModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _config.py (no class)   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _defaults.py DefaultsHolder   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _defaults.py (no class)   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _errors.py (no class)   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _factory.py RemoteButlerFactory   0% 26 26 0   0% 14 0   0%
python / lsst / daf / butler / remote_butler / _factory.py (no class)   0% 22 22 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _get.py (no class)   0% 29 29 0   0% 8 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection   0% 58 58 0   0% 10 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py _Retry   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _http_connection.py ButlerServerError   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py _Request   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _http_connection.py (no class)   0% 61 61 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver   0% 50 50 0   0% 12 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py (no class)   0% 66 66 1   0% 20 0   0%
python / lsst / daf / butler / remote_butler / _query_results.py (no class)   0% 22 22 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _ref_utils.py (no class)   0% 31 31 0   0% 12 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry   0% 53 53 21   0% 16 0   0%
python / lsst / daf / butler / remote_butler / _registry.py (no class)   0% 72 72 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler   0% 173 173 14   0% 64 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py _RemoteButlerCacheData   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButlerCache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py (no class)   0% 114 114 7   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections   0% 20 20 6   0% 8 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py (no class)   0% 25 25 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py RemoteFileTransferSource   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py (no class)   0% 29 29 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / authentication / cadc.py CadcAuthenticationProvider   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / authentication / cadc.py (no class)   0% 20 20 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / authentication / interface.py RemoteButlerAuthenticationProvider   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / authentication / interface.py (no class)   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py RubinAuthenticationProvider   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py (no class)   0% 24 24 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / registry / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server / __init__.py (no class)   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _config.py RepositoryConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server / _config.py ButlerServerConfig   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _config.py (no class)   0% 40 40 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py (no class)   0% 39 39 0   0% 8 0   0%
python / lsst / daf / butler / remote_butler / server / _factory.py Factory   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _factory.py (no class)   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py GafaelfawrClient   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py _GafaelfawrUserInfo   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py _GafaelfawrGroup   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py GafaelfawrGroupAuthorizer   0% 15 15 0   0% 8 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py MockGafaelfawrGroupAuthorizer   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py (no class)   0% 20 20 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _server.py (no class)   0% 46 46 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py TelemetryContext   0% 1 1 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py NullTelemetryContext   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py SentryTelemetryContext   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py (no class)   0% 31 31 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / server_models.py FindDatasetRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py FindDatasetResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetDatasetTypeResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetUniverseResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetFileByDataIdRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetFileResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py ErrorResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetCollectionInfoResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetCollectionSummaryResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py ExpandDataIdRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py ExpandDataIdResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryCollectionsRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryCollectionsResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryCollectionInfoRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryCollectionInfoResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryDatasetTypesRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryDatasetTypesResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py MaterializedQuery   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py DataCoordinateUpload   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryInputs   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryExecuteRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py DataCoordinateResultModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py DimensionRecordsResultModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py DatasetRefResultModel   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server_models.py GeneralResultModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryErrorResultModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryKeepAliveModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryCountRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryCountResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryAnyRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryAnyResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryExplainRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryExplainResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py QueryAllDatasetsRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetFileTransferInfoRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py FileTransferRecordModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetFileTransferInfoResponseModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py FileInfoRecord   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py FileInfoPayload   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py GetManyDatasetsRequestModel   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server_models.py (no class)   0% 183 183 0   100% 0 0   0%
python / lsst / daf / butler / repo_relocation.py (no class)   37% 19 12 0   0% 6 0   28%
python / lsst / daf / butler / script / __init__.py (no class)   100% 22 0 0   100% 0 0   100%
python / lsst / daf / butler / script / _associate.py (no class)   64% 11 4 0   100% 0 0   64%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult   0% 14 14 0   0% 2 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.State   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / script / _pruneDatasets.py (no class)   51% 73 36 2   0% 20 0   40%
python / lsst / daf / butler / script / butlerImport.py (no class)   56% 9 4 0   0% 2 0   45%
python / lsst / daf / butler / script / certifyCalibrations.py (no class)   30% 20 14 0   0% 6 0   23%
python / lsst / daf / butler / script / collectionChain.py (no class)   15% 52 44 0   0% 28 0   10%
python / lsst / daf / butler / script / configDump.py (no class)   31% 13 9 0   0% 4 0   24%
python / lsst / daf / butler / script / configValidate.py (no class)   31% 13 9 0   100% 0 0   31%
python / lsst / daf / butler / script / createRepo.py (no class)   67% 6 2 0   100% 0 0   67%
python / lsst / daf / butler / script / exportCalibs.py (no class)   23% 57 44 2   0% 14 0   18%
python / lsst / daf / butler / script / ingest_files.py (no class)   28% 54 39 3   0% 8 0   24%
python / lsst / daf / butler / script / ingest_zip.py (no class)   67% 6 2 0   100% 0 0   67%
python / lsst / daf / butler / script / queryCollections.py (no class)   11% 123 110 0   0% 68 0   7%
python / lsst / daf / butler / script / queryDataIds.py _Table   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / script / queryDataIds.py (no class)   24% 68 52 3   0% 34 0   16%
python / lsst / daf / butler / script / queryDatasetTypes.py (no class)   32% 19 13 0   0% 4 0   26%
python / lsst / daf / butler / script / queryDatasets.py _Table   0% 23 23 0   0% 10 0   0%
python / lsst / daf / butler / script / queryDatasets.py QueryDatasets   0% 76 76 1   0% 36 0   0%
python / lsst / daf / butler / script / queryDatasets.py (no class)   100% 29 0 3   100% 0 0   100%
python / lsst / daf / butler / script / queryDimensionRecords.py (no class)   19% 54 44 1   0% 26 0   12%
python / lsst / daf / butler / script / register_dataset_type.py (no class)   45% 11 6 0   0% 2 0   38%
python / lsst / daf / butler / script / removeCollections.py RemoveCollectionResult   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / script / removeCollections.py CollectionInfo   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / script / removeCollections.py (no class)   39% 59 36 0   0% 14 0   32%
python / lsst / daf / butler / script / removeDatasetType.py (no class)   67% 6 2 0   100% 0 0   67%
python / lsst / daf / butler / script / removeRuns.py RemoveRun   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / script / removeRuns.py RemoveRunsResult   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / script / removeRuns.py (no class)   44% 45 25 0   0% 6 0   39%
python / lsst / daf / butler / script / retrieveArtifacts.py (no class)   41% 22 13 2   0% 4 0   35%
python / lsst / daf / butler / script / transferDatasets.py (no class)   53% 15 7 0   100% 0 0   53%
python / lsst / daf / butler / tests / __init__.py (no class)   100% 6 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / _datasetsHelper.py DatasetTestHelper   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py DatastoreTestHelper   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py BadWriteFormatter   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py BadNoWriteFormatter   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py MultiDetectorFormatter   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py (no class)   100% 30 0 3   100% 0 0   100%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage   0% 51 51 0   0% 38 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorageManager   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyRegistry   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py (no class)   100% 38 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample   0% 22 22 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExampleModel   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExampleDataclass   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / _examplePythonTypes.py ListDelegate   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsDelegate   0% 13 13 0   0% 6 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py (no class)   64% 69 25 2   0% 4 0   60%
python / lsst / daf / butler / tests / _testRepo.py DatastoreMock   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / tests / _testRepo.py (no class)   18% 139 114 2   0% 62 0   12%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests   0% 758 758 1   0% 36 0   0%
python / lsst / daf / butler / tests / butler_queries.py (no class)   89% 76 8 0   0% 2 0   87%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase   0% 27 27 0   0% 4 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py (no class)   100% 31 0 8   100% 0 0   100%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase   0% 74 74 0   0% 20 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.PythonLogger   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.LsstLogger   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py (no class)   81% 67 13 10   0% 6 0   74%
python / lsst / daf / butler / tests / deferredFormatter.py DeferredFormatter   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / tests / deferredFormatter.py (no class)   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / tests / dict_convertible_model.py DictConvertibleModel   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / dict_convertible_model.py (no class)   100% 12 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler   0% 52 52 0   0% 2 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py (no class)   0% 78 78 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections   0% 10 10 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py (no class)   0% 18 18 3   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry   0% 50 50 2   0% 2 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py (no class)   0% 67 67 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance   0% 13 13 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py (no class)   71% 35 10 0   0% 2 0   68%
python / lsst / daf / butler / tests / registry_data / __init__.py (no class)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / registry_data / spatial.py (no class)   0% 174 174 2   0% 48 0   0%
python / lsst / daf / butler / tests / server.py TestServerInstance   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / server.py UnhandledServerError   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / server.py (no class)   0% 87 87 0   0% 10 0   0%
python / lsst / daf / butler / tests / server_available.py (no class)   76% 17 4 0   50% 2 1   74%
python / lsst / daf / butler / tests / server_utils.py (no class)   0% 23 23 0   0% 14 0   0%
python / lsst / daf / butler / tests / testFormatters.py DoNothingFormatter   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / tests / testFormatters.py FormatterTest   0% 6 6 2   0% 6 0   0%
python / lsst / daf / butler / tests / testFormatters.py SingleExtensionFormatter   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / testFormatters.py MultipleExtensionsFormatter   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / testFormatters.py LenientYamlFormatter   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleFormatter   0% 23 23 0   0% 16 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleDataFormatter   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleModelProvenanceFormatter   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / testFormatters.py (no class)   100% 41 0 3   100% 0 0   100%
python / lsst / daf / butler / tests / utils.py TestCaseMixin   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / utils.py ButlerTestHelper   0% 23 23 0   0% 10 0   0%
python / lsst / daf / butler / tests / utils.py MetricTestRepo   0% 31 31 0   0% 4 0   0%
python / lsst / daf / butler / tests / utils.py (no class)   70% 67 20 7   0% 6 0   64%
python / lsst / daf / butler / time_utils.py _FastTimeUnixTai   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / time_utils.py TimeConverter   0% 32 32 0   0% 8 0   0%
python / lsst / daf / butler / time_utils.py _AstropyTimeToYAML   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / time_utils.py (no class)   95% 43 2 0   100% 0 0   95%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation   0% 1 1 17   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation   0% 62 62 0   0% 34 0   0%
python / lsst / daf / butler / timespan_database_representation.py (no class)   98% 91 2 2   100% 0 0   98%
python / lsst / daf / butler / transfers / __init__.py (no class)   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / transfers / _context.py RepoExportContext   0% 91 91 0   0% 66 0   0%
python / lsst / daf / butler / transfers / _context.py (no class)   100% 21 0 4   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoTransferFormatConfig   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoExportBackend   100% 0 0 5   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoImportBackend   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py (no class)   100% 32 0 2   100% 0 0   100%
python / lsst / daf / butler / transfers / _yaml.py _RefMapper   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoExportBackend   0% 26 26 0   0% 12 0   0%
python / lsst / daf / butler / transfers / _yaml.py _DayObsOffsetCalculator   0% 19 19 0   0% 4 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoImportBackend   0% 191 191 0   0% 142 0   0%
python / lsst / daf / butler / transfers / _yaml.py (no class)   93% 59 4 3   0% 2 0   90%
python / lsst / daf / butler / utils.py _Marker   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / utils.py (no class)   48% 48 25 0   0% 16 0   36%
python / lsst / daf / butler / version.py (no class)   100% 5 0 0   100% 0 0   100%
tests / test_astropyTableFormatter.py AstropyTableFormatterTestCase   0% 17 17 0   100% 0 0   0%
tests / test_astropyTableFormatter.py (no class)   100% 11 0 2   100% 0 0   100%
tests / test_authentication.py TestButlerClientAuthentication   0% 21 21 0   100% 0 0   0%
tests / test_authentication.py (no class)   86% 14 2 0   50% 2 1   81%
tests / test_butler.py TransactionTestError   100% 0 0 0   100% 0 0   100%
tests / test_butler.py ButlerConfigTests   0% 11 11 0   100% 0 0   0%
tests / test_butler.py ButlerPutGetTests   0% 204 204 0   0% 34 0   0%
tests / test_butler.py ButlerTests   0% 605 605 0   0% 84 0   0%
tests / test_butler.py FileDatastoreButlerTests   0% 248 248 0   0% 26 0   0%
tests / test_butler.py PosixDatastoreButlerTestCase   0% 149 149 0   0% 14 0   0%
tests / test_butler.py PostgresPosixDatastoreButlerTestCase   0% 14 14 0   0% 2 0   0%
tests / test_butler.py ClonedPostgresPosixDatastoreButlerTestCase   0% 2 2 0   100% 0 0   0%
tests / test_butler.py InMemoryDatastoreButlerTestCase   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ClonedSqliteButlerTestCase   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ChainedDatastoreButlerTestCase   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerExplicitRootTestCase   0% 16 16 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileTestCase   0% 14 14 0   0% 2 0   0%
tests / test_butler.py ButlerMakeRepoOutfileDirTestCase   0% 6 6 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileUriTestCase   0% 4 4 0   100% 0 0   0%
tests / test_butler.py S3DatastoreButlerTestCase   0% 35 35 0   0% 8 0   0%
tests / test_butler.py DatastoreTransfers   0% 132 132 0   0% 48 0   0%
tests / test_butler.py PosixDatastoreTransfers   0% 76 76 0   0% 2 0   0%
tests / test_butler.py ChainedDatastoreTransfers   100% 0 0 0   100% 0 0   100%
tests / test_butler.py ButlerServerDatastoreTransfers   0% 9 9 0   100% 0 0   0%
tests / test_butler.py TransferDatasetsInPlace   0% 35 35 0   100% 0 0   0%
tests / test_butler.py NullDatastoreTestCase   0% 29 29 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests   0% 14 14 0   100% 0 0   0%
tests / test_butler.py ButlerServerSqliteTests   100% 0 0 0   100% 0 0   100%
tests / test_butler.py ButlerServerPostgresTests   0% 2 2 0   100% 0 0   0%
tests / test_butler.py (no class)   96% 290 12 6   0% 2 0   95%
tests / test_butler_factory.py ButlerFactoryTestCase   0% 23 23 0   0% 2 0   0%
tests / test_butler_factory.py (no class)   100% 12 0 2   100% 0 0   100%
tests / test_cliCmdAssociate.py AssociateTestCase   0% 7 7 0   100% 0 0   0%
tests / test_cliCmdAssociate.py (no class)   100% 10 0 2   100% 0 0   100%
tests / test_cliCmdConfigDump.py ConfigDumpTest   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest   0% 85 85 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py (no class)   100% 25 0 2   100% 0 0   100%
tests / test_cliCmdConfigValidate.py ValidateTest   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdConfigValidate.py ConfigValidateUseTest   0% 13 13 0   100% 0 0   0%
tests / test_cliCmdConfigValidate.py (no class)   100% 15 0 2   100% 0 0   100%
tests / test_cliCmdCreate.py CreateTest   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdCreate.py (no class)   100% 12 0 2   100% 0 0   100%
tests / test_cliCmdImport.py ImportTestCase   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdImport.py (no class)   100% 13 0 2   100% 0 0   100%
tests / test_cliCmdIngestFiles.py CliIngestFilesTest   0% 40 40 0   0% 4 0   0%
tests / test_cliCmdIngestFiles.py (no class)   100% 17 0 2   100% 0 0   100%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase   0% 53 53 0   0% 12 0   0%
tests / test_cliCmdPruneDatasets.py QueryDatasetsCLITest   0% 15 15 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py (no class)   88% 64 8 2   0% 4 0   82%
tests / test_cliCmdQueryCollections.py QueryCollectionsCmdTest   0% 8 8 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsScriptTest   0% 20 20 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py ChainedCollectionsTest   0% 59 59 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py (no class)   100% 27 0 2   100% 0 0   100%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest   0% 49 49 0   0% 2 0   0%
tests / test_cliCmdQueryDataIds.py (no class)   100% 21 0 2   100% 0 0   100%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest   0% 6 6 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest   0% 62 62 0   0% 2 0   0%
tests / test_cliCmdQueryDatasetTypes.py (no class)   100% 21 0 2   100% 0 0   100%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest   0% 85 85 0   0% 2 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsCLITest   0% 9 9 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py (no class)   97% 32 1 2   100% 0 0   97%
tests / test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest   0% 41 41 0   100% 0 0   0%
tests / test_cliCmdQueryDimensionRecords.py (no class)   100% 20 0 2   100% 0 0   100%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest   0% 79 79 0   0% 8 0   0%
tests / test_cliCmdRemoveCollections.py (no class)   100% 21 0 2   100% 0 0   100%
tests / test_cliCmdRemoveRuns.py RemoveCollectionTest   0% 69 69 0   100% 0 0   0%
tests / test_cliCmdRemoveRuns.py (no class)   100% 11 0 2   100% 0 0   100%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest   0% 50 50 0   0% 4 0   0%
tests / test_cliCmdRetrieveArtifacts.py (no class)   100% 20 0 2   100% 0 0   100%
tests / test_cliLog.py CliLogTestCase   100% 0 0 0   100% 0 0   100%
tests / test_cliLog.py ConvertPyLogLevelTestCase   0% 5 5 0   100% 0 0   0%
tests / test_cliLog.py (no class)   83% 12 2 2   100% 0 0   83%
tests / test_cliPluginLoader.py FailedLoadTest   0% 17 17 0   100% 0 0   0%
tests / test_cliPluginLoader.py FailedLoadTest.test_unimportableLocalPackage.FailCLI   100% 0 0 0   100% 0 0   100%
tests / test_cliPluginLoader.py PluginLoaderTest   0% 26 26 0   100% 0 0   0%
tests / test_cliPluginLoader.py (no class)   80% 35 7 2   100% 0 0   80%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase   0% 27 27 0   0% 4 0   0%
tests / test_cliUtilSplitCommas.py (no class)   94% 18 1 2   100% 0 0   94%
tests / test_cliUtilSplitKv.py SplitKvTestCase   0% 18 18 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase   0% 86 86 0   0% 2 0   0%
tests / test_cliUtilSplitKv.py (no class)   89% 35 4 2   100% 0 0   89%
tests / test_cliUtilToUpper.py ToUpperTestCase   0% 13 13 0   100% 0 0   0%
tests / test_cliUtilToUpper.py (no class)   92% 13 1 2   100% 0 0   92%
tests / test_cliUtils.py ArgumentHelpGeneratorTestCase   0% 10 10 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase   0% 14 14 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionTest   0% 18 18 0   0% 2 0   0%
tests / test_cliUtils.py MWArgumentDecoratorTest   0% 24 24 0   0% 4 0   0%
tests / test_cliUtils.py MWOptionDecoratorTest   0% 20 20 0   100% 0 0   0%
tests / test_cliUtils.py SectionOptionTest   0% 7 7 0   100% 0 0   0%
tests / test_cliUtils.py MWPathTest   0% 24 24 0   100% 0 0   0%
tests / test_cliUtils.py MWCommandTest   0% 22 22 0   0% 2 0   0%
tests / test_cliUtils.py (no class)   86% 59 8 2   100% 0 0   86%
tests / test_column_spec.py ColumnSpecTestCase   0% 8 8 0   100% 0 0   0%
tests / test_column_spec.py (no class)   100% 10 0 0   100% 0 0   100%
tests / test_composites.py TestCompositesConfig   0% 36 36 0   0% 2 0   0%
tests / test_composites.py (no class)   100% 11 0 2   100% 0 0   100%
tests / test_config.py ExampleWithConfigFileReference   100% 0 0 0   100% 0 0   100%
tests / test_config.py ExampleWithConfigFileReference2   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTest   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTestPathlib   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTestEmpty   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTestButlerDir   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTestNoDefaults   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTestAbsPath   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTestCls   100% 0 0 0   100% 0 0   100%
tests / test_config.py ConfigTestCase   0% 204 204 0   0% 34 0   0%
tests / test_config.py ConfigSubsetTestCase   0% 129 129 0   0% 2 0   0%
tests / test_config.py FileWriteConfigTestCase   0% 11 11 0   0% 2 0   0%
tests / test_config.py (no class)   92% 71 6 2   100% 0 0   92%
tests / test_connectionString.py ConnectionStringBuilderTestCase   0% 18 18 0   0% 2 0   0%
tests / test_connectionString.py (no class)   100% 18 0 2   100% 0 0   100%
tests / test_constraints.py ConstraintsTestCase   0% 81 81 0   100% 0 0   0%
tests / test_constraints.py (no class)   100% 12 0 2   100% 0 0   100%
tests / test_datasets.py DatasetTypeTestCase   0% 197 197 0   0% 14 0   0%
tests / test_datasets.py DatasetRefTestCase   0% 230 230 0   0% 4 0   0%
tests / test_datasets.py ZipIndexTestCase   0% 20 20 0   100% 0 0   0%
tests / test_datasets.py (no class)   100% 40 0 2   100% 0 0   100%
tests / test_datastore.py TransactionTestError   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py DatastoreTestsBase   0% 9 9 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests   0% 491 491 0   0% 96 0   0%
tests / test_datastore.py PosixDatastoreTestCase   0% 40 40 0   0% 4 0   0%
tests / test_datastore.py PosixDatastoreNoChecksumsTestCase   0% 25 25 0   100% 0 0   0%
tests / test_datastore.py TrashDatastoreTestCase   0% 47 47 0   0% 4 0   0%
tests / test_datastore.py CleanupPosixDatastoreTestCase   0% 24 24 0   0% 2 0   0%
tests / test_datastore.py InMemoryDatastoreTestCase   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py ChainedDatastoreTestCase   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py ChainedDatastoreMemoryTestCase   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py DatastoreConstraintsTests   0% 27 27 0   0% 8 0   0%
tests / test_datastore.py PosixDatastoreConstraintsTestCase   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py InMemoryDatastoreConstraintsTestCase   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py ChainedDatastoreConstraintsNativeTestCase   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py ChainedDatastoreConstraintsTestCase   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py ChainedDatastoreMemoryConstraintsTestCase   100% 0 0 0   100% 0 0   100%
tests / test_datastore.py ChainedDatastorePerStoreConstraintsTests   0% 37 37 0   0% 12 0   0%
tests / test_datastore.py DatastoreCacheTestCase   0% 237 237 0   0% 30 0   0%
tests / test_datastore.py NullDatastoreTestCase   0% 44 44 0   100% 0 0   0%
tests / test_datastore.py DatasetRefURIsTestCase   0% 19 19 0   100% 0 0   0%
tests / test_datastore.py StoredFileInfoTestCase   0% 27 27 0   100% 0 0   0%
tests / test_datastore.py (no class)   94% 185 11 2   0% 2 0   93%
tests / test_ddl.py AstropyTimeNsecTaiTestCase   0% 21 21 0   0% 2 0   0%
tests / test_ddl.py (no class)   100% 9 0 2   100% 0 0   100%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase   0% 267 267 0   0% 22 0   0%
tests / test_dimension_record_containers.py (no class)   100% 34 0 2   100% 0 0   100%
tests / test_dimensions.py ConcreteTestDimensionPacker   0% 6 6 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase   0% 168 168 0   0% 34 0   0%
tests / test_dimensions.py SplitByStateFlags   0% 9 9 0   0% 8 0   0%
tests / test_dimensions.py DataCoordinateTestCase   0% 237 237 0   0% 98 0   0%
tests / test_dimensions.py (no class)   96% 73 3 2   100% 0 0   96%
tests / test_exprParserLex.py ParserLexTestCase   0% 178 178 0   0% 10 0   0%
tests / test_exprParserLex.py (no class)   100% 18 0 2   100% 0 0   100%
tests / test_exprParserYacc.py _Visitor   0% 24 24 0   0% 4 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase   0% 515 515 0   0% 10 0   0%
tests / test_exprParserYacc.py (no class)   100% 51 0 2   100% 0 0   100%
tests / test_formatter.py FormatterFactoryTestCase   0% 105 105 0   0% 8 0   0%
tests / test_formatter.py ZipFormatterTestCase   0% 28 28 0   100% 0 0   0%
tests / test_formatter.py (no class)   100% 23 0 2   100% 0 0   100%
tests / test_gafaelfawr.py GafaelfawrAuthorizationTestCase   0% 32 32 0   100% 0 0   0%
tests / test_gafaelfawr.py (no class)   64% 11 4 0   50% 2 1   62%
tests / test_location.py LocationTestCase   0% 74 74 0   0% 2 0   0%
tests / test_location.py (no class)   100% 14 0 2   100% 0 0   100%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase   0% 108 108 0   100% 0 0   0%
tests / test_logFormatter.py (no class)   100% 25 0 2   100% 0 0   100%
tests / test_logging.py LoggingTestCase   0% 163 163 0   0% 24 0   0%
tests / test_logging.py TestJsonLogging   0% 39 39 0   0% 2 0   0%
tests / test_logging.py (no class)   100% 19 0 2   100% 0 0   100%
tests / test_matplotlibFormatter.py MatplotlibFormatterTestCase   0% 24 24 0   0% 2 0   0%
tests / test_matplotlibFormatter.py (no class)   91% 22 2 2   100% 0 0   91%
tests / test_nonempty_mapping.py NonemptyMappingTestCase   0% 11 11 0   100% 0 0   0%
tests / test_nonempty_mapping.py (no class)   100% 4 0 2   100% 0 0   100%
tests / test_obscore.py ObsCoreTests   0% 193 193 1   0% 36 0   0%
tests / test_obscore.py SQLiteObsCoreTest   0% 7 7 0   100% 0 0   0%
tests / test_obscore.py ClonedSqliteObscoreTest   0% 4 4 0   100% 0 0   0%
tests / test_obscore.py PostgresObsCoreTest   0% 8 8 0   100% 0 0   0%
tests / test_obscore.py PostgresPgSphereObsCoreTest   0% 32 32 0   100% 0 0   0%
tests / test_obscore.py TestMissingObscoreConfig   0% 14 14 0   100% 0 0   0%
tests / test_obscore.py (no class)   100% 56 0 2   100% 0 0   100%
tests / test_packages.py PackagesFormatterTestCase   0% 11 11 0   100% 0 0   0%
tests / test_packages.py (no class)   100% 10 0 2   100% 0 0   100%
tests / test_parquet.py ParquetFormatterDataFrameTestCase   0% 255 255 0   0% 28 0   0%
tests / test_parquet.py InMemoryDataFrameDelegateTestCase   0% 21 21 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase   0% 181 181 0   0% 12 0   0%
tests / test_parquet.py InMemoryArrowAstropyDelegateTestCase   0% 11 11 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase   0% 113 113 0   0% 2 0   0%
tests / test_parquet.py InMemoryArrowNumpyDelegateTestCase   0% 18 18 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase   0% 145 145 0   0% 12 0   0%
tests / test_parquet.py InMemoryArrowTableDelegateTestCase   0% 17 17 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase   0% 82 82 0   0% 4 0   0%
tests / test_parquet.py InMemoryNumpyDictDelegateTestCase   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase   0% 37 37 0   0% 8 0   0%
tests / test_parquet.py InMemoryArrowSchemaDelegateTestCase   100% 0 0 0   100% 0 0   100%
tests / test_parquet.py ParquetFormatterArrowTableS3TestCase   0% 63 63 0   0% 10 0   0%
tests / test_parquet.py ComputeRowGroupSizeTestCase   0% 21 21 0   100% 0 0   0%
tests / test_parquet.py (no class)   64% 382 138 2   0% 36 0   58%
tests / test_postgresql.py PostgresqlDatabaseTestCase   0% 40 40 0   0% 2 0   0%
tests / test_postgresql.py PostgresqlRegistryTests   0% 13 13 0   0% 4 0   0%
tests / test_postgresql.py PostgresqlRegistryNameKeyCollMgrUUIDTestCase   100% 0 0 0   100% 0 0   100%
tests / test_postgresql.py PostgresqlRegistrySynthIntKeyCollMgrUUIDTestCase   100% 0 0 0   100% 0 0   100%
tests / test_postgresql.py (no class)   95% 43 2 2   100% 0 0   95%
tests / test_progress.py MockProgressBar   0% 11 11 0   0% 2 0   0%
tests / test_progress.py MockProgressHandler   0% 1 1 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase   0% 25 25 0   100% 0 0   0%
tests / test_progress.py MockedProgressHandlerTestCase   0% 72 72 0   0% 18 0   0%
tests / test_progress.py (no class)   100% 37 0 2   100% 0 0   100%
tests / test_pydantic_utils.py Inner   0% 3 3 0   0% 2 0   0%
tests / test_pydantic_utils.py SerializedInner   100% 0 0 0   100% 0 0   100%
tests / test_pydantic_utils.py OuterWithWrapper   100% 0 0 0   100% 0 0   100%
tests / test_pydantic_utils.py OuterWithoutWrapper   100% 0 0 0   100% 0 0   100%
tests / test_pydantic_utils.py DeferredValidationTestCase   0% 24 24 0   100% 0 0   0%
tests / test_pydantic_utils.py SerializableExtensionsTestCase   0% 44 44 0   100% 0 0   0%
tests / test_pydantic_utils.py (no class)   100% 24 0 2   100% 0 0   100%
tests / test_quantum.py MockTask   100% 0 0 0   100% 0 0   100%
tests / test_quantum.py QuantumTestCase   0% 66 66 0   0% 2 0   0%
tests / test_quantum.py (no class)   100% 12 0 2   100% 0 0   100%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase   0% 262 262 0   0% 70 0   0%
tests / test_quantumBackedButler.py (no class)   100% 32 0 2   100% 0 0   100%
tests / test_query_direct_postgresql.py DirectButlerPostgreSQLTests   0% 9 9 0   0% 2 0   0%
tests / test_query_direct_postgresql.py (no class)   100% 15 0 2   100% 0 0   100%
tests / test_query_direct_sqlite.py DirectButlerSQLiteTests   0% 5 5 0   0% 2 0   0%
tests / test_query_direct_sqlite.py (no class)   100% 10 0 2   100% 0 0   100%
tests / test_query_interface.py _TestVisitor   0% 53 53 0   0% 34 0   0%
tests / test_query_interface.py _TestReversed   100% 0 0 0   100% 0 0   100%
tests / test_query_interface.py _TestQueryExecution   0% 3 3 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryCount   0% 5 5 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryAny   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryExplainNoResults   0% 3 3 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver   0% 39 39 1   0% 12 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase   0% 401 401 0   0% 16 0   0%
tests / test_query_interface.py QueryTestCase   0% 335 335 0   0% 16 0   0%
tests / test_query_interface.py (no class)   100% 111 0 2   100% 0 0   100%
tests / test_query_remote.py RemoteButlerQueryTests   0% 5 5 0   0% 2 0   0%
tests / test_query_remote.py (no class)   92% 13 1 2   50% 2 1   87%
tests / test_query_utilities.py ColumnSetTestCase   0% 80 80 0   100% 0 0   0%
tests / test_query_utilities.py _RecordingOverlapsVisitor   0% 16 16 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase   0% 124 124 0   0% 2 0   0%
tests / test_query_utilities.py NaiveDisjointSetTestCase   0% 8 8 0   100% 0 0   0%
tests / test_query_utilities.py (no class)   100% 34 0 2   100% 0 0   100%
tests / test_remote_butler.py RemoteButlerConfigTests   0% 2 2 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerErrorHandlingTests   0% 16 16 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerMiscTests   0% 4 4 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests   0% 10 10 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerSqliteRegistryTests   100% 0 0 0   100% 0 0   100%
tests / test_remote_butler.py RemoteButlerPostgresRegistryTests   0% 5 5 0   0% 2 0   0%
tests / test_remote_butler.py (no class)   94% 51 3 2   50% 2 1   92%
tests / test_server.py ButlerClientServerTestCase   0% 235 235 0   0% 4 0   0%
tests / test_server.py ButlerClientServerAuthorizationTestCase   0% 36 36 0   100% 0 0   0%
tests / test_server.py QueryLimitsTestCase   0% 8 8 0   100% 0 0   0%
tests / test_server.py (no class)   60% 83 33 2   25% 4 1   59%
tests / test_simpleButler.py SimpleButlerTests   0% 320 320 1   0% 28 0   0%
tests / test_simpleButler.py DirectSimpleButlerTestCase   0% 51 51 0   0% 4 0   0%
tests / test_simpleButler.py NameKeyCollectionManagerDirectSimpleButlerTestCase   100% 0 0 0   100% 0 0   100%
tests / test_simpleButler.py RemoteSimpleButlerTestCase   0% 5 5 0   100% 0 0   0%
tests / test_simpleButler.py (no class)   93% 59 4 2   50% 2 1   92%
tests / test_sqlite.py SqliteFileDatabaseTestCase   0% 42 42 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryDatabaseTestCase   0% 25 25 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileRegistryTests   0% 10 10 0   0% 2 0   0%
tests / test_sqlite.py SqliteFileRegistryNameKeyCollMgrUUIDTestCase   100% 0 0 0   100% 0 0   100%
tests / test_sqlite.py ClonedSqliteFileRegistryNameKeyCollMgrUUIDTestCase   0% 2 2 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileRegistrySynthIntKeyCollMgrUUIDTestCase   100% 0 0 0   100% 0 0   100%
tests / test_sqlite.py SqliteMemoryRegistryTests   0% 10 10 0   0% 2 0   0%
tests / test_sqlite.py SqliteMemoryRegistryNameKeyCollMgrUUIDTestCase   100% 0 0 0   100% 0 0   100%
tests / test_sqlite.py SqliteMemoryRegistrySynthIntKeyCollMgrUUIDTestCase   100% 0 0 0   100% 0 0   100%
tests / test_sqlite.py SqliteMemoryRegistryAstropyIngestDateTestCase   100% 0 0 0   100% 0 0   100%
tests / test_sqlite.py (no class)   84% 74 12 2   100% 0 0   84%
tests / test_storageClass.py PythonType   100% 0 0 0   100% 0 0   100%
tests / test_storageClass.py PythonType2   100% 0 0 0   100% 0 0   100%
tests / test_storageClass.py PythonType3   100% 0 0 0   100% 0 0   100%
tests / test_storageClass.py NotCopyable   0% 1 1 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase   0% 183 183 0   0% 4 0   0%
tests / test_storageClass.py (no class)   100% 29 0 2   100% 0 0   100%
tests / test_templates.py TestFileTemplates   0% 166 166 0   0% 6 0   0%
tests / test_templates.py (no class)   100% 21 0 2   100% 0 0   100%
tests / test_testRepo.py ButlerTestRepoTestCase   0% 7 7 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite   0% 85 85 0   100% 0 0   0%
tests / test_testRepo.py (no class)   100% 27 0 2   100% 0 0   100%
tests / test_thread_utils.py ThreadSafeCacheTestCase   0% 7 7 0   100% 0 0   0%
tests / test_thread_utils.py NamedLocksTestCase   0% 13 13 0   100% 0 0   0%
tests / test_thread_utils.py LockedObjectTestCase   0% 7 7 0   100% 0 0   0%
tests / test_thread_utils.py (no class)   100% 10 0 2   100% 0 0   100%
tests / test_time_utils.py TimeTestCase   0% 60 60 0   0% 8 0   0%
tests / test_time_utils.py (no class)   86% 14 2 2   100% 0 0   86%
tests / test_timespan.py TimespanTestCase   0% 141 141 0   0% 38 0   0%
tests / test_timespan.py (no class)   92% 24 2 2   100% 0 0   92%
tests / test_utils.py NamedKeyDictTest   0% 50 50 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest   0% 47 47 0   0% 4 0   0%
tests / test_utils.py GlobToRegexTestCase   0% 17 17 0   0% 8 0   0%
tests / test_utils.py (no class)   100% 31 0 2   100% 0 0   100%
tests / test_uuid.py UUIDv7TestCase   0% 11 11 0   100% 0 0   0%
tests / test_uuid.py (no class)   100% 6 0 0   100% 0 0   100%
tests / test_versioning.py Manager0   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py Manager1   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py Manager1_1   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py Manager2   0% 2 2 0   100% 0 0   0%
tests / test_versioning.py SchemaVersioningTestCase   0% 69 69 0   0% 16 0   0%
tests / test_versioning.py (no class)   100% 36 0 2   100% 0 0   100%
Total     26% 49850 36997 1064   2% 11682 107   21%

No items found using the specified filter.