Coverage report: 30%

Files Functions Classes

coverage.py v7.5.0, created at 2024-05-02 03:16 -0700

File class statements missing excluded branches partial coverage
python/lsst/__init__.py (no class) 2 0 0 0 0 100%
python/lsst/daf/__init__.py (no class) 2 0 0 0 0 100%
python/lsst/daf/butler/__init__.py (no class) 39 0 0 0 0 100%
python/lsst/daf/butler/_butler.py Butler 95 95 25 52 0 0%
python/lsst/daf/butler/_butler.py (no class) 90 0 13 74 0 100%
python/lsst/daf/butler/_butler_collections.py ButlerCollections 0 0 4 0 0 100%
python/lsst/daf/butler/_butler_collections.py (no class) 13 0 0 8 0 100%
python/lsst/daf/butler/_butler_config.py ButlerConfig 61 61 0 40 0 0%
python/lsst/daf/butler/_butler_config.py (no class) 20 0 0 0 0 100%
python/lsst/daf/butler/_butler_instance_options.py ButlerInstanceOptions 0 0 0 0 0 100%
python/lsst/daf/butler/_butler_instance_options.py (no class) 10 0 0 2 0 100%
python/lsst/daf/butler/_butler_repo_index.py ButlerRepoIndex 47 47 0 16 0 0%
python/lsst/daf/butler/_butler_repo_index.py (no class) 30 0 0 12 0 100%
python/lsst/daf/butler/_column_categorization.py ColumnCategorization 15 15 0 18 0 0%
python/lsst/daf/butler/_column_categorization.py (no class) 20 0 0 8 2 93%
python/lsst/daf/butler/_column_tags.py _BaseColumnTag 1 1 0 2 0 0%
python/lsst/daf/butler/_column_tags.py DimensionKeyColumnTag 4 4 0 2 0 0%
python/lsst/daf/butler/_column_tags.py DimensionRecordColumnTag 4 4 0 2 0 0%
python/lsst/daf/butler/_column_tags.py DatasetColumnTag 4 4 0 2 0 0%
python/lsst/daf/butler/_column_tags.py (no class) 51 0 2 35 0 100%
python/lsst/daf/butler/_column_type_info.py ColumnTypeInfo 31 31 0 26 0 0%
python/lsst/daf/butler/_column_type_info.py (no class) 30 0 0 4 0 100%
python/lsst/daf/butler/_config.py Loader 30 26 0 16 1 11%
python/lsst/daf/butler/_config.py Config 278 181 0 164 16 31%
python/lsst/daf/butler/_config.py ConfigSubset 62 20 0 44 14 62%
python/lsst/daf/butler/_config.py (no class) 87 2 2 10 0 98%
python/lsst/daf/butler/_config_support.py LookupKey 59 50 0 44 5 14%
python/lsst/daf/butler/_config_support.py (no class) 27 0 2 6 0 100%
python/lsst/daf/butler/_dataset_association.py DatasetAssociation 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_association.py (no class) 16 0 0 2 0 100%
python/lsst/daf/butler/_dataset_existence.py DatasetExistence 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_existence.py (no class) 19 0 0 0 0 100%
python/lsst/daf/butler/_dataset_ref.py AmbiguousDatasetError 0 0 0 0 0 100%
python/lsst/daf/butler/_dataset_ref.py _DatasetRefGroupedIterable 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetIdGenEnum 0 0 0 0 0 100%
python/lsst/daf/butler/_dataset_ref.py DatasetIdFactory 12 12 0 10 0 0%
python/lsst/daf/butler/_dataset_ref.py SerializedDatasetRef 11 11 0 4 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef 115 115 0 72 0 0%
python/lsst/daf/butler/_dataset_ref.py (no class) 91 0 3 24 0 100%
python/lsst/daf/butler/_dataset_type.py SerializedDatasetType 15 15 0 10 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType 159 159 0 102 0 0%
python/lsst/daf/butler/_dataset_type.py (no class) 66 0 3 18 0 100%
python/lsst/daf/butler/_deferredDatasetHandle.py DeferredDatasetHandle 12 12 0 8 0 0%
python/lsst/daf/butler/_deferredDatasetHandle.py (no class) 18 0 5 4 0 100%
python/lsst/daf/butler/_exceptions.py ButlerUserError 1 1 0 0 0 0%
python/lsst/daf/butler/_exceptions.py CalibrationLookupError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py CollectionCycleError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py CollectionTypeError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py DataIdValueError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py DatasetNotFoundError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py DimensionNameError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py DimensionValueError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py InconsistentDataIdError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py InvalidQueryError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py MissingCollectionError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py MissingDatasetTypeError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py DatasetTypeNotSupportedError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py ValidationError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py EmptyQueryResultError 2 2 0 0 0 0%
python/lsst/daf/butler/_exceptions.py UnknownButlerUserError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions.py (no class) 42 0 0 2 0 100%
python/lsst/daf/butler/_exceptions_legacy.py RegistryError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions_legacy.py DataIdError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions_legacy.py DatasetTypeError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions_legacy.py CollectionError 0 0 0 0 0 100%
python/lsst/daf/butler/_exceptions_legacy.py (no class) 5 0 0 0 0 100%
python/lsst/daf/butler/_file_dataset.py FileDataset 11 11 0 8 0 0%
python/lsst/daf/butler/_file_dataset.py (no class) 15 0 0 2 0 100%
python/lsst/daf/butler/_file_descriptor.py FileDescriptor 18 18 0 10 0 0%
python/lsst/daf/butler/_file_descriptor.py (no class) 10 0 3 2 0 100%
python/lsst/daf/butler/_formatter.py Formatter 74 74 6 38 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory 51 51 0 24 0 0%
python/lsst/daf/butler/_formatter.py (no class) 68 0 6 22 0 100%
python/lsst/daf/butler/_labeled_butler_factory.py LabeledButlerFactory 29 29 0 14 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py (no class) 18 0 0 0 0 100%
python/lsst/daf/butler/_limited_butler.py LimitedButler 14 14 4 2 0 0%
python/lsst/daf/butler/_limited_butler.py (no class) 39 0 0 12 0 100%
python/lsst/daf/butler/_location.py Location 53 53 0 24 0 0%
python/lsst/daf/butler/_location.py LocationFactory 8 8 0 2 0 0%
python/lsst/daf/butler/_location.py (no class) 32 0 0 12 0 100%
python/lsst/daf/butler/_named.py Named 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyMapping 4 2 3 6 2 60%
python/lsst/daf/butler/_named.py NamedKeyMutableMapping 1 1 2 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict 32 32 0 14 0 0%
python/lsst/daf/butler/_named.py NamedValueAbstractSet 7 5 3 6 2 46%
python/lsst/daf/butler/_named.py NameMappingSetView 20 19 0 10 0 3%
python/lsst/daf/butler/_named.py NamedValueMutableSet 0 0 4 0 0 100%
python/lsst/daf/butler/_named.py NamedValueSet 27 26 0 12 0 8%
python/lsst/daf/butler/_named.py (no class) 108 0 0 40 0 100%
python/lsst/daf/butler/_quantum.py SerializedQuantum 9 9 0 12 0 0%
python/lsst/daf/butler/_quantum.py Quantum 124 124 0 80 0 0%
python/lsst/daf/butler/_quantum.py DimensionRecordsAccumulator 9 9 0 2 0 0%
python/lsst/daf/butler/_quantum.py (no class) 54 0 0 20 0 100%
python/lsst/daf/butler/_quantum_backed.py _DatasetRecordStorageManagerDatastoreConstructionMimic 4 4 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler 92 92 0 56 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumProvenanceData 18 18 1 16 0 0%
python/lsst/daf/butler/_quantum_backed.py (no class) 71 0 2 18 0 100%
python/lsst/daf/butler/_registry_shim.py RegistryShim 45 45 0 2 0 0%
python/lsst/daf/butler/_registry_shim.py (no class) 66 0 4 10 0 100%
python/lsst/daf/butler/_storage_class.py StorageClassConfig 0 0 0 0 0 100%
python/lsst/daf/butler/_storage_class.py StorageClass 191 151 0 114 8 20%
python/lsst/daf/butler/_storage_class.py StorageClassFactory 106 38 0 84 8 61%
python/lsst/daf/butler/_storage_class.py (no class) 70 0 0 14 0 100%
python/lsst/daf/butler/_storage_class_delegate.py DatasetComponent 0 0 0 0 0 100%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate 81 81 2 46 0 0%
python/lsst/daf/butler/_storage_class_delegate.py (no class) 29 0 2 6 0 100%
python/lsst/daf/butler/_timespan.py _SpecialTimespanBound 0 0 0 0 0 100%
python/lsst/daf/butler/_timespan.py Timespan 134 134 0 90 0 0%
python/lsst/daf/butler/_timespan.py (no class) 62 2 0 30 0 98%
python/lsst/daf/butler/_topology.py TopologicalSpace 0 0 0 0 0 100%
python/lsst/daf/butler/_topology.py TopologicalFamily 8 8 1 2 0 0%
python/lsst/daf/butler/_topology.py TopologicalRelationshipEndpoint 2 2 2 0 0 0%
python/lsst/daf/butler/_topology.py (no class) 38 0 2 24 0 100%
python/lsst/daf/butler/_utilities/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/_utilities/locked_object.py LockedObject 4 4 0 2 0 0%
python/lsst/daf/butler/_utilities/locked_object.py (no class) 9 0 0 2 0 100%
python/lsst/daf/butler/_utilities/named_locks.py NamedLocks 10 10 0 6 0 0%
python/lsst/daf/butler/_utilities/named_locks.py (no class) 8 0 0 2 0 100%
python/lsst/daf/butler/_utilities/thread_safe_cache.py ThreadSafeCache 6 4 0 4 0 20%
python/lsst/daf/butler/_utilities/thread_safe_cache.py (no class) 8 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py ToArrow 7 7 5 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowPrimitive 8 8 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDictionary 6 6 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowUUID 8 8 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowRegion 8 8 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowTimespan 8 8 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDateTime 8 8 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py UUIDArrowType 4 4 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py UUIDArrowScalar 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py RegionArrowType 4 2 0 0 0 50%
python/lsst/daf/butler/arrow_utils.py RegionArrowScalar 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py TimespanArrowType 4 2 0 0 0 50%
python/lsst/daf/butler/arrow_utils.py TimespanArrowScalar 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py DateTimeArrowType 4 2 0 0 0 50%
python/lsst/daf/butler/arrow_utils.py DateTimeArrowScalar 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py (no class) 144 0 0 94 0 100%
python/lsst/daf/butler/cli/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/cli/butler.py LoaderCLI 60 59 1 36 0 1%
python/lsst/daf/butler/cli/butler.py ButlerCLI 6 6 0 4 0 0%
python/lsst/daf/butler/cli/butler.py (no class) 57 0 0 40 0 100%
python/lsst/daf/butler/cli/cliLog.py PrecisionLogFormatter 7 7 0 4 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog 96 92 0 56 1 3%
python/lsst/daf/butler/cli/cliLog.py CliLog.ComponentSettings 6 6 0 2 0 0%
python/lsst/daf/butler/cli/cliLog.py (no class) 50 2 0 18 0 97%
python/lsst/daf/butler/cli/cmd/__init__.py (no class) 4 0 0 0 0 100%
python/lsst/daf/butler/cli/cmd/_remove_collections.py (no class) 19 0 0 12 0 100%
python/lsst/daf/butler/cli/cmd/_remove_runs.py (no class) 31 0 0 16 0 100%
python/lsst/daf/butler/cli/cmd/commands.py (no class) 191 0 0 324 0 100%
python/lsst/daf/butler/cli/opt/__init__.py (no class) 3 0 0 0 0 100%
python/lsst/daf/butler/cli/opt/arguments.py (no class) 11 0 0 0 0 100%
python/lsst/daf/butler/cli/opt/optionGroups.py query_datasets_options 11 1 0 8 1 89%
python/lsst/daf/butler/cli/opt/optionGroups.py (no class) 7 0 0 0 0 100%
python/lsst/daf/butler/cli/opt/options.py CollectionTypeCallback 3 3 0 4 0 0%
python/lsst/daf/butler/cli/opt/options.py (no class) 41 0 0 4 0 100%
python/lsst/daf/butler/cli/progress.py ClickProgressHandler 6 5 0 2 0 12%
python/lsst/daf/butler/cli/progress.py (no class) 15 0 0 4 0 100%
python/lsst/daf/butler/cli/utils.py LogCliRunner 3 3 0 0 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetDict 5 5 0 2 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetTuple 5 5 0 2 0 0%
python/lsst/daf/butler/cli/utils.py option_section 2 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py MWPath 7 3 0 4 1 45%
python/lsst/daf/butler/cli/utils.py MWOption 6 6 0 4 0 0%
python/lsst/daf/butler/cli/utils.py MWArgument 4 4 0 2 0 0%
python/lsst/daf/butler/cli/utils.py OptionSection 5 2 0 0 0 60%
python/lsst/daf/butler/cli/utils.py MWOptionDecorator 8 2 0 0 0 75%
python/lsst/daf/butler/cli/utils.py MWArgumentDecorator 9 0 0 4 0 100%
python/lsst/daf/butler/cli/utils.py MWCommand 37 31 1 18 1 13%
python/lsst/daf/butler/cli/utils.py ButlerCommand 0 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py OptionGroup 3 0 0 2 0 100%
python/lsst/daf/butler/cli/utils.py MWCtxObj 5 5 0 2 0 0%
python/lsst/daf/butler/cli/utils.py (no class) 90 0 3 14 0 100%
python/lsst/daf/butler/column_spec.py _BaseColumnSpec 10 10 1 4 0 0%
python/lsst/daf/butler/column_spec.py IntColumnSpec 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py StringColumnSpec 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py HashColumnSpec 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py FloatColumnSpec 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py BoolColumnSpec 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py UUIDColumnSpec 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py RegionColumnSpec 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py TimespanColumnSpec 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py DateTimeColumnSpec 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py (no class) 81 0 0 20 0 100%
python/lsst/daf/butler/datastore/__init__.py (no class) 1 0 0 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py DatastoreConfig 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py DatastoreValidationError 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Event 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py DatastoreOpaqueTable 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py IngestPrepData 1 1 0 2 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatastoreTransaction 23 23 0 6 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatasetRefURIs 9 9 0 4 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore 58 58 27 20 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore 14 14 14 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py (no class) 170 0 10 72 0 100%
python/lsst/daf/butler/datastore/cache_manager.py CacheEntry 6 6 0 2 0 0%
python/lsst/daf/butler/datastore/cache_manager.py _MarkerEntry 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry 38 38 0 18 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManagerConfig 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager 6 6 6 2 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager 203 203 0 106 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager 7 7 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py (no class) 121 0 5 38 0 100%
python/lsst/daf/butler/datastore/composites.py CompositesConfig 4 4 0 4 0 0%
python/lsst/daf/butler/datastore/composites.py CompositesMap 31 31 0 18 0 0%
python/lsst/daf/butler/datastore/composites.py (no class) 19 0 8 0 0 100%
python/lsst/daf/butler/datastore/constraints.py ConstraintsValidationError 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/constraints.py ConstraintsConfig 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/constraints.py Constraints 32 32 0 26 0 0%
python/lsst/daf/butler/datastore/constraints.py (no class) 20 0 5 0 0 100%
python/lsst/daf/butler/datastore/file_templates.py FileTemplateValidationError 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/file_templates.py FileTemplatesConfig 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/file_templates.py FieldDict 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates 58 58 0 30 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate 186 186 0 118 0 0%
python/lsst/daf/butler/datastore/file_templates.py (no class) 53 0 3 2 0 100%
python/lsst/daf/butler/datastore/generic_base.py GenericBaseDatastore 11 11 0 4 0 0%
python/lsst/daf/butler/datastore/generic_base.py (no class) 16 0 3 0 0 100%
python/lsst/daf/butler/datastore/record_data.py SerializedDatastoreRecordData 2 2 0 2 0 0%
python/lsst/daf/butler/datastore/record_data.py DatastoreRecordData 40 40 0 30 0 0%
python/lsst/daf/butler/datastore/record_data.py (no class) 29 0 2 6 0 100%
python/lsst/daf/butler/datastore/stored_file_info.py StoredDatastoreItemInfo 14 14 4 12 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo 41 41 0 16 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py SerializedStoredFileInfo 0 0 0 0 0 100%
python/lsst/daf/butler/datastore/stored_file_info.py (no class) 64 0 2 12 0 100%
python/lsst/daf/butler/datastores/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/datastores/fileDatastore.py _IngestPrepData 2 2 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore 793 793 2 497 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py (no class) 126 0 3 26 0 100%
python/lsst/daf/butler/datastores/fileDatastoreClient.py FileDatastoreGetPayloadFileInfo 0 0 0 0 0 100%
python/lsst/daf/butler/datastores/fileDatastoreClient.py FileDatastoreGetPayload 0 0 0 0 0 100%
python/lsst/daf/butler/datastores/fileDatastoreClient.py (no class) 18 0 0 0 0 100%
python/lsst/daf/butler/datastores/file_datastore/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/datastores/file_datastore/get.py DatastoreFileGetInformation 0 0 0 0 0 100%
python/lsst/daf/butler/datastores/file_datastore/get.py (no class) 32 0 0 2 0 100%
python/lsst/daf/butler/datastores/file_datastore/retrieve_artifacts.py (no class) 4 0 0 0 0 100%
python/lsst/daf/butler/ddl.py SchemaValidationError 8 4 0 0 0 50%
python/lsst/daf/butler/ddl.py Base64Bytes 12 12 0 6 0 0%
python/lsst/daf/butler/ddl.py Base64Region 8 8 0 6 0 0%
python/lsst/daf/butler/ddl.py AstropyTimeNsecTai 10 10 0 6 0 0%
python/lsst/daf/butler/ddl.py GUID 19 19 0 16 0 0%
python/lsst/daf/butler/ddl.py FieldSpec 36 34 0 20 0 7%
python/lsst/daf/butler/ddl.py ForeignKeySpec 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py IndexSpec 3 3 0 0 0 0%
python/lsst/daf/butler/ddl.py TableSpec 8 1 0 2 0 70%
python/lsst/daf/butler/ddl.py (no class) 128 0 2 36 0 100%
python/lsst/daf/butler/delegates/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/delegates/arrowastropy.py ArrowAstropyDelegate 10 10 0 6 0 0%
python/lsst/daf/butler/delegates/arrowastropy.py (no class) 13 0 0 0 0 100%
python/lsst/daf/butler/delegates/arrownumpy.py ArrowNumpyDelegate 10 10 0 6 0 0%
python/lsst/daf/butler/delegates/arrownumpy.py (no class) 13 0 0 0 0 100%
python/lsst/daf/butler/delegates/arrowtable.py ArrowTableDelegate 20 20 1 14 0 0%
python/lsst/daf/butler/delegates/arrowtable.py (no class) 15 0 0 0 0 100%
python/lsst/daf/butler/delegates/dataframe.py DataFrameDelegate 30 30 2 24 0 0%
python/lsst/daf/butler/delegates/dataframe.py (no class) 16 0 0 0 0 100%
python/lsst/daf/butler/dimensions/__init__.py (no class) 17 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_config.py DimensionConfig 29 29 0 16 0 0%
python/lsst/daf/butler/dimensions/_config.py _SkyPixSystemConfig 15 15 0 6 0 0%
python/lsst/daf/butler/dimensions/_config.py _SkyPixSectionConfig 6 6 0 4 0 0%
python/lsst/daf/butler/dimensions/_config.py _TopologySectionConfig 0 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_config.py _LegacyGovernorDimensionStorage 0 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_config.py _LegacyTableDimensionStorage 0 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_config.py _LegacyImpliedUnionDimensionStorage 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py _LegacyCachingDimensionStorage 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig 55 55 0 38 0 0%
python/lsst/daf/butler/dimensions/_config.py _UniverseConfig 0 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_config.py (no class) 115 0 0 36 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py SerializedDataCoordinate 11 11 0 8 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate 121 121 11 86 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView 7 7 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView 12 12 0 6 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate 17 17 1 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRequiredMappingView 7 7 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullMappingView 5 5 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate 20 20 1 14 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate 21 21 0 10 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate 23 23 0 8 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py (no class) 205 0 3 134 0 100%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable 5 5 4 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable 11 11 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase 45 45 0 38 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet 56 56 0 36 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence 17 17 0 8 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py (no class) 94 0 0 30 0 100%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamily 14 14 0 8 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamilyConstructionVisitor 11 11 0 6 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement 14 14 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimension 8 8 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionCombination 8 8 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py (no class) 58 0 3 36 0 100%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement 62 59 5 12 0 4%
python/lsst/daf/butler/dimensions/_elements.py Dimension 15 15 1 6 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionCombination 0 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py (no class) 111 0 8 128 0 100%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension 17 17 0 4 0 0%
python/lsst/daf/butler/dimensions/_governor.py (no class) 26 0 0 16 0 100%
python/lsst/daf/butler/dimensions/_graph.py SerializedDimensionGraph 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet 15 15 0 4 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph 55 55 0 22 0 0%
python/lsst/daf/butler/dimensions/_graph.py (no class) 97 0 6 71 0 100%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet 12 12 0 4 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup 99 96 0 50 0 2%
python/lsst/daf/butler/dimensions/_group.py (no class) 85 0 4 26 0 100%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker 11 11 3 4 0 0%
python/lsst/daf/butler/dimensions/_packer.py (no class) 22 0 2 14 0 100%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordFactory 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet 77 77 0 52 0 0%
python/lsst/daf/butler/dimensions/_record_set.py (no class) 34 0 3 4 0 100%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable 45 43 0 40 2 7%
python/lsst/daf/butler/dimensions/_record_table.py (no class) 24 0 4 6 0 100%
python/lsst/daf/butler/dimensions/_records.py SpecificSerializedDimensionRecord 0 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_records.py SerializedDimensionRecord 9 9 0 6 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord 75 75 0 58 0 0%
python/lsst/daf/butler/dimensions/_records.py (no class) 47 0 5 6 0 100%
python/lsst/daf/butler/dimensions/_schema.py DimensionRecordSchema 45 45 0 22 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionElementFields 62 62 0 34 0 0%
python/lsst/daf/butler/dimensions/_schema.py (no class) 53 0 4 10 0 100%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixSystem 20 20 0 10 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension 12 12 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py (no class) 41 0 2 16 0 100%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse 105 104 0 61 1 2%
python/lsst/daf/butler/dimensions/_universe.py (no class) 90 0 2 45 1 99%
python/lsst/daf/butler/dimensions/construction.py DimensionConstructionVisitor 0 0 2 0 0 100%
python/lsst/daf/butler/dimensions/construction.py DimensionConstructionBuilder 16 16 0 10 0 0%
python/lsst/daf/butler/dimensions/construction.py (no class) 27 0 3 4 0 100%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache 19 19 0 8 0 0%
python/lsst/daf/butler/dimensions/record_cache.py (no class) 15 0 0 0 0 100%
python/lsst/daf/butler/direct_butler/__init__.py (no class) 1 0 0 0 0 100%
python/lsst/daf/butler/direct_butler/_direct_butler.py ButlerValidationError 0 0 0 0 0 100%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler 653 653 0 474 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py (no class) 110 0 8 26 0 100%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py DirectButlerCollections 5 5 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py (no class) 12 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/__init__.py (no class) 3 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver 293 289 1 198 4 2%
python/lsst/daf/butler/direct_query_driver/_driver.py _MaterializationState 0 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_driver.py _Cursor 50 50 1 20 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py (no class) 73 0 2 16 4 96%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing 40 40 0 33 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py (no class) 27 0 2 4 0 100%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder 51 51 0 38 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryJoiner 56 56 0 40 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py (no class) 60 0 3 10 2 97%
python/lsst/daf/butler/direct_query_driver/_query_plan.py ResolvedDatasetSearch 0 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryJoinsPlan 14 14 0 15 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryProjectionPlan 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryFindFirstPlan 2 2 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryPlan 0 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor 28 28 1 14 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py (no class) 81 0 0 12 0 100%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor 96 96 4 48 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py (no class) 27 0 3 0 0 100%
python/lsst/daf/butler/formatters/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/formatters/file.py FileFormatter 47 47 2 18 0 0%
python/lsst/daf/butler/formatters/file.py (no class) 21 0 2 4 0 100%
python/lsst/daf/butler/formatters/parquet.py ParquetFormatter 59 59 0 40 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema 12 12 0 2 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema 25 25 0 12 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema 17 17 0 4 0 0%
python/lsst/daf/butler/formatters/parquet.py (no class) 80 0 4 12 0 100%
python/lsst/daf/butler/formatters/yaml.py YamlFormatter 30 30 0 20 0 0%
python/lsst/daf/butler/formatters/yaml.py (no class) 17 0 0 0 0 100%
python/lsst/daf/butler/json.py SupportsSimple 1 0 0 2 1 67%
python/lsst/daf/butler/json.py (no class) 13 0 3 3 1 94%
python/lsst/daf/butler/logging.py MDCDict 4 4 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerMDC 23 23 0 8 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecord 19 19 0 6 0 0%
python/lsst/daf/butler/logging.py _ButlerLogRecords 0 0 0 0 0 100%
python/lsst/daf/butler/logging.py ButlerLogRecords 74 72 0 48 2 5%
python/lsst/daf/butler/logging.py ButlerLogRecordHandler 3 3 0 0 0 0%
python/lsst/daf/butler/logging.py JsonLogFormatter 2 2 0 0 0 0%
python/lsst/daf/butler/logging.py (no class) 94 0 0 30 0 100%
python/lsst/daf/butler/mapping_factory.py MappingFactory 48 48 0 22 0 0%
python/lsst/daf/butler/mapping_factory.py (no class) 18 0 0 2 0 100%
python/lsst/daf/butler/name_shrinker.py NameShrinker 21 21 0 4 0 0%
python/lsst/daf/butler/name_shrinker.py (no class) 11 0 0 0 0 100%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping 16 14 0 16 2 19%
python/lsst/daf/butler/nonempty_mapping.py (no class) 16 0 0 0 0 100%
python/lsst/daf/butler/persistence_context.py PersistenceContextVars 22 22 0 8 0 0%
python/lsst/daf/butler/persistence_context.py (no class) 32 0 6 2 0 100%
python/lsst/daf/butler/progress.py ProgressBar 1 1 0 0 0 0%
python/lsst/daf/butler/progress.py Progress 82 82 0 66 0 0%
python/lsst/daf/butler/progress.py ProgressHandler 0 0 1 0 0 100%
python/lsst/daf/butler/progress.py _NullProgressBar 5 5 0 0 0 0%
python/lsst/daf/butler/progress.py (no class) 34 0 0 10 0 100%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation 26 21 0 8 0 15%
python/lsst/daf/butler/pydantic_utils.py (no class) 33 0 2 12 2 96%
python/lsst/daf/butler/queries/__init__.py (no class) 5 0 0 0 0 100%
python/lsst/daf/butler/queries/_base.py ValidityRangeMatchError 0 0 0 0 0 100%
python/lsst/daf/butler/queries/_base.py QueryBase 4 4 1 0 0 0%
python/lsst/daf/butler/queries/_base.py QueryResultsBase 3 3 4 0 0 0%
python/lsst/daf/butler/queries/_base.py (no class) 30 0 0 14 0 100%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults 16 16 0 4 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py (no class) 20 0 2 6 0 100%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults 19 19 0 4 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py (no class) 27 0 2 10 0 100%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults 23 23 0 6 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py (no class) 22 0 0 6 0 100%
python/lsst/daf/butler/queries/_query.py Query 89 89 0 50 0 0%
python/lsst/daf/butler/queries/_query.py (no class) 37 0 0 8 0 100%
python/lsst/daf/butler/queries/convert_args.py (no class) 12 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py DataCoordinateResultPage 0 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py DimensionRecordResultPage 6 6 0 4 0 0%
python/lsst/daf/butler/queries/driver.py DatasetRefResultPage 0 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py GeneralResultPage 0 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver 5 0 10 15 5 75%
python/lsst/daf/butler/queries/driver.py (no class) 70 0 0 41 3 97%
python/lsst/daf/butler/queries/expression_factory.py ExpressionProxy 6 6 1 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy 21 21 0 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py ResolvedScalarExpressionProxy 2 2 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py TimespanProxy 5 5 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py RegionProxy 3 3 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy 27 27 0 8 0 0%
python/lsst/daf/butler/queries/expression_factory.py DatasetTypeProxy 14 14 0 4 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory 20 20 1 4 0 0%
python/lsst/daf/butler/queries/expression_factory.py (no class) 89 0 3 34 0 100%
python/lsst/daf/butler/queries/overlaps.py _NaiveDisjointSet 19 19 0 12 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor 65 65 3 38 0 0%
python/lsst/daf/butler/queries/overlaps.py (no class) 31 0 0 2 0 100%
python/lsst/daf/butler/queries/result_specs.py ResultSpecBase 17 17 1 14 0 0%
python/lsst/daf/butler/queries/result_specs.py DataCoordinateResultSpec 7 7 0 6 0 0%
python/lsst/daf/butler/queries/result_specs.py DimensionRecordResultSpec 6 6 0 2 0 0%
python/lsst/daf/butler/queries/result_specs.py DatasetRefResultSpec 9 9 0 6 0 0%
python/lsst/daf/butler/queries/result_specs.py GeneralResultSpec 23 23 0 20 0 0%
python/lsst/daf/butler/queries/result_specs.py SerializedResultSpec 1 1 0 0 0 0%
python/lsst/daf/butler/queries/result_specs.py (no class) 69 0 0 12 0 100%
python/lsst/daf/butler/queries/tree/__init__.py (no class) 11 0 0 0 0 100%
python/lsst/daf/butler/queries/tree/_base.py QueryTreeBase 0 0 0 0 0 100%
python/lsst/daf/butler/queries/tree/_base.py ColumnExpressionBase 1 1 3 0 0 0%
python/lsst/daf/butler/queries/tree/_base.py ColumnLiteralBase 4 4 0 0 0 0%
python/lsst/daf/butler/queries/tree/_base.py (no class) 37 0 4 12 0 100%
python/lsst/daf/butler/queries/tree/_column_expression.py UnaryExpression 25 25 1 14 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py BinaryExpression 21 21 0 10 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py Reversed 4 4 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py (no class) 57 0 2 16 0 100%
python/lsst/daf/butler/queries/tree/_column_literal.py IntColumnLiteral 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py StringColumnLiteral 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py FloatColumnLiteral 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py HashColumnLiteral 3 3 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py UUIDColumnLiteral 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py DateTimeColumnLiteral 5 5 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py TimespanColumnLiteral 3 3 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py RegionColumnLiteral 3 3 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py (no class) 90 0 0 40 0 100%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionKeyReference 4 4 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionFieldReference 8 8 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DatasetFieldReference 14 14 1 8 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py (no class) 49 0 3 14 0 100%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet 68 68 1 50 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py (no class) 32 0 0 8 0 100%
python/lsst/daf/butler/queries/tree/_predicate.py PredicateLeafBase 1 1 2 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate 47 46 0 28 0 1%
python/lsst/daf/butler/queries/tree/_predicate.py LogicalNot 4 4 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py IsNull 3 3 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Comparison 16 16 0 8 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InContainer 10 10 0 9 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InRange 13 13 0 8 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InQuery 15 15 0 8 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py (no class) 128 0 4 48 0 100%
python/lsst/daf/butler/queries/tree/_query_tree.py DatasetSearch 0 0 0 0 0 100%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree 39 39 0 16 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py SerializedQueryTree 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py (no class) 45 0 0 8 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitFlags 0 0 0 0 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor 0 0 7 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor 9 9 8 8 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor 17 17 0 12 0 0%
python/lsst/daf/butler/queries/visitors.py (no class) 61 0 0 36 0 100%
python/lsst/daf/butler/registry/__init__.py (no class) 10 0 0 0 0 100%
python/lsst/daf/butler/registry/_caching_context.py CachingContext 18 18 1 4 0 0%
python/lsst/daf/butler/registry/_caching_context.py (no class) 18 0 2 8 0 100%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache 25 25 0 8 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py (no class) 15 0 2 2 0 100%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary 40 40 0 30 0 0%
python/lsst/daf/butler/registry/_collection_summary.py SerializedCollectionSummary 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_collection_summary.py (no class) 31 0 0 4 0 100%
python/lsst/daf/butler/registry/_collection_summary_cache.py CollectionSummaryCache 9 9 0 4 0 0%
python/lsst/daf/butler/registry/_collection_summary_cache.py (no class) 9 0 0 0 0 100%
python/lsst/daf/butler/registry/_collection_type.py CollectionType 9 8 0 4 0 8%
python/lsst/daf/butler/registry/_collection_type.py (no class) 19 0 0 6 0 100%
python/lsst/daf/butler/registry/_config.py RegistryConfig 14 14 0 4 0 0%
python/lsst/daf/butler/registry/_config.py (no class) 18 0 3 2 0 100%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache 24 24 0 10 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py (no class) 17 0 0 2 0 100%
python/lsst/daf/butler/registry/_defaults.py RegistryDefaults 38 38 0 26 0 0%
python/lsst/daf/butler/registry/_defaults.py (no class) 23 0 3 4 0 100%
python/lsst/daf/butler/registry/_exceptions.py ArgumentError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py DatasetTypeExpressionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py CollectionExpressionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py NoDefaultCollectionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py UserExpressionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py UserExpressionSyntaxError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py ConflictingDefinitionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py OrphanedRecordError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py UnsupportedIdGeneratorError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py MissingSpatialOverlapError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py RegistryConsistencyError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/_exceptions.py (no class) 13 0 0 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry 2 2 40 0 0 0%
python/lsst/daf/butler/registry/_registry.py (no class) 113 0 2 98 0 100%
python/lsst/daf/butler/registry/_registry_factory.py _RegistryFactory 11 11 0 6 0 0%
python/lsst/daf/butler/registry/_registry_factory.py (no class) 13 0 2 0 0 100%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager 32 32 0 14 0 0%
python/lsst/daf/butler/registry/attributes.py (no class) 23 0 0 4 0 100%
python/lsst/daf/butler/registry/bridge/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge 26 26 0 28 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py (no class) 18 0 3 2 0 100%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge 42 42 0 32 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager 20 20 0 10 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py (no class) 37 0 4 6 0 100%
python/lsst/daf/butler/registry/connectionString.py ConnectionStringFactory 17 17 0 8 0 0%
python/lsst/daf/butler/registry/connectionString.py (no class) 13 0 2 2 0 100%
python/lsst/daf/butler/registry/databases/__init__.py (no class) 0 0 0 0 0 100%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase 79 79 0 40 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanType 20 20 0 10 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation 44 44 0 24 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py (no class) 79 0 0 28 0 100%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase 101 101 3 52 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py (no class) 44 0 0 10 0 100%
python/lsst/daf/butler/registry/interfaces/__init__.py (no class) 9 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeExistsError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager 1 1 7 0 0 0%
python/lsst/daf/butler/registry/interfaces/_attributes.py (no class) 24 0 2 18 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef 10 10 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge 1 1 6 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridgeManager 4 4 5 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py (no class) 58 0 9 32 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionRecord 11 11 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py RunRecord 6 6 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py ChainedCollectionRecord 3 3 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager 1 1 20 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py (no class) 83 0 3 58 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py DatabaseInsertMode 0 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py ReadOnlyDatabaseError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py DatabaseConflictError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py SchemaAlreadyDefinedError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py StaticTablesContext 14 14 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database 296 296 12 210 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py (no class) 111 0 0 70 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage 1 1 9 0 0 0%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager 5 5 14 2 0 0%
python/lsst/daf/butler/registry/interfaces/_datasets.py (no class) 70 0 8 62 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager 2 2 12 0 0 0%
python/lsst/daf/butler/registry/interfaces/_dimensions.py (no class) 37 0 5 26 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager 1 1 8 0 0 0%
python/lsst/daf/butler/registry/interfaces/_obscore.py (no class) 29 0 9 24 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorage 1 1 5 0 0 0%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorageManager 5 5 4 2 0 0%
python/lsst/daf/butler/registry/interfaces/_opaque.py (no class) 35 0 2 22 0 100%
python/lsst/daf/butler/registry/interfaces/_versioning.py IncompatibleVersionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionTuple 13 13 0 8 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension 22 22 2 18 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py (no class) 30 0 0 18 0 100%
python/lsst/daf/butler/registry/managers.py _GenericRegistryManagers 0 0 0 0 0 100%
python/lsst/daf/butler/registry/managers.py RegistryManagerTypes 71 71 0 46 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerInstances 35 35 0 10 0 0%
python/lsst/daf/butler/registry/managers.py (no class) 67 0 0 12 0 100%
python/lsst/daf/butler/registry/obscore/__init__.py (no class) 5 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py ExtraColumnType 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py ExtraColumnConfig 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py DatasetTypeConfig 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py SpatialPluginConfig 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py ObsCoreConfig 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py ConfigCollectionType 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py ObsCoreManagerConfig 5 5 0 4 0 0%
python/lsst/daf/butler/registry/obscore/_config.py (no class) 75 0 0 2 0 100%
python/lsst/daf/butler/registry/obscore/_manager.py _ExposureRegionFactory 24 24 0 10 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager 108 108 0 62 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py (no class) 39 0 3 6 0 100%
python/lsst/daf/butler/registry/obscore/_records.py ExposureRegionFactory 0 0 1 0 0 100%
python/lsst/daf/butler/registry/obscore/_records.py RecordFactory 95 95 0 46 0 0%
python/lsst/daf/butler/registry/obscore/_records.py (no class) 25 0 6 4 1 97%
python/lsst/daf/butler/registry/obscore/_schema.py ObsCoreSchema 39 39 0 26 0 0%
python/lsst/daf/butler/registry/obscore/_schema.py (no class) 20 0 2 4 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py MissingDatabaseError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py RegionTypeError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py RegionTypeWarning 0 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py SpatialObsCorePlugin 15 15 3 8 0 0%
python/lsst/daf/butler/registry/obscore/_spatial.py (no class) 20 0 5 12 0 100%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage 30 30 0 16 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorageManager 20 20 0 4 0 0%
python/lsst/daf/butler/registry/opaque.py (no class) 29 0 2 4 0 100%
python/lsst/daf/butler/registry/queries/__init__.py (no class) 9 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/_builder.py QueryBuilder 50 50 0 30 0 0%
python/lsst/daf/butler/registry/queries/_builder.py (no class) 18 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/_query.py Query 211 211 0 143 0 0%
python/lsst/daf/butler/registry/queries/_query.py (no class) 47 0 0 12 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend 65 65 13 45 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py (no class) 48 0 2 24 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext 33 33 7 14 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py (no class) 40 0 0 18 0 100%
python/lsst/daf/butler/registry/queries/_readers.py DataCoordinateReader 15 15 2 12 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _BasicDataCoordinateReader 4 4 0 4 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _FullDataCoordinateReader 4 4 0 4 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _ExpandedDataCoordinateReader 14 14 0 6 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DatasetRefReader 17 17 0 6 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DimensionRecordReader 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/_readers.py (no class) 51 0 2 28 0 100%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults 37 37 0 12 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults 8 8 6 8 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults 16 16 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults 14 14 0 12 0 0%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults 0 0 7 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults 15 15 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py (no class) 111 0 0 58 0 100%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend 80 80 1 54 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py (no class) 30 0 2 2 0 100%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext 166 166 1 100 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py _SqlRowIterable 12 12 0 10 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py _SqlRowTransformer 17 17 0 14 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py (no class) 43 0 2 6 0 100%
python/lsst/daf/butler/registry/queries/_structs.py QueryWhereClause 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/_structs.py OrderByClauseColumn 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/_structs.py OrderByClause 38 38 0 18 0 0%
python/lsst/daf/butler/registry/queries/_structs.py ElementOrderByClause 10 10 0 6 0 0%
python/lsst/daf/butler/registry/queries/_structs.py QuerySummary 42 42 0 28 0 0%
python/lsst/daf/butler/registry/queries/_structs.py (no class) 76 0 0 26 0 100%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine 51 51 0 26 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py (no class) 31 0 0 2 0 100%
python/lsst/daf/butler/registry/queries/expressions/__init__.py (no class) 1 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py ExpressionTypeError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor 128 128 2 80 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py (no class) 42 2 0 0 0 95%
python/lsst/daf/butler/registry/queries/expressions/categorize.py ExpressionConstant 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/categorize.py (no class) 12 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionSummary 13 13 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py TreeSummary 10 10 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor 35 35 0 16 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InnerSummary 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/check.py OuterSummary 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/check.py CheckVisitor 53 53 0 36 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py (no class) 62 0 3 10 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperator 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalForm 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormVisitor 0 0 3 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormExpression 16 16 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py PrecedenceTier 7 7 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper 11 11 4 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py Opaque 6 6 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalNot 8 8 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation 44 44 0 18 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor 15 15 1 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TreeReconstructionVisitor 15 15 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py (no class) 127 0 0 34 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/__init__.py (no class) 4 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Node 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py BinaryOp 8 8 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py UnaryOp 6 6 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py StringLiteral 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TimeLiteral 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py NumericLiteral 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Identifier 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py RangeLiteral 6 6 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py IsIn 12 12 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Parens 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TupleNode 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py FunctionCall 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py PointNode 7 7 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py (no class) 58 0 3 2 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLexError 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex 27 27 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py (no class) 37 0 0 4 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYaccError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParseError 13 13 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserEOFError 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc 58 58 0 24 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py (no class) 48 2 0 0 0 96%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/__init__.py (no class) 2 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexError 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexToken 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py PlyLogger 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py NullLogger 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer 198 198 0 72 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect 218 218 0 120 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py (no class) 65 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py PlyLogger 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py NullLogger 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccSymbol 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction 23 23 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser 540 540 0 202 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production 37 37 0 10 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py MiniProduction 11 11 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRItem 14 14 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py GrammarError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar 228 228 0 156 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py VersionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRTable 39 39 0 14 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LALRError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable 402 402 0 246 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect 178 178 0 98 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py (no class) 155 1 0 2 1 99%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py (no class) 29 0 3 22 0 100%
python/lsst/daf/butler/registry/queries/find_first_dataset.py FindFirstDataset 12 12 0 4 0 0%
python/lsst/daf/butler/registry/queries/find_first_dataset.py (no class) 25 0 0 15 0 100%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry 461 461 0 274 0 0%
python/lsst/daf/butler/registry/sql_registry.py (no class) 119 0 6 38 0 100%
python/lsst/daf/butler/registry/tests/__init__.py (no class) 2 0 0 0 0 100%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests 452 452 4 300 0 0%
python/lsst/daf/butler/registry/tests/_database.py (no class) 52 0 0 8 0 100%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests 1437 1437 2 543 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCalibrationCollections.Ambiguous 0 0 0 0 0 100%
python/lsst/daf/butler/registry/tests/_registry.py (no class) 108 2 0 10 0 98%
python/lsst/daf/butler/registry/versions.py IncompatibleVersionError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/versions.py MissingManagerError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/versions.py ManagerMismatchError 0 0 0 0 0 100%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager 62 62 0 34 0 0%
python/lsst/daf/butler/registry/versions.py (no class) 28 0 2 10 0 100%
python/lsst/daf/butler/registry/wildcards.py CategorizedWildcard 82 82 0 54 0 0%
python/lsst/daf/butler/registry/wildcards.py CollectionWildcard 23 23 0 16 0 0%
python/lsst/daf/butler/registry/wildcards.py DatasetTypeWildcard 21 21 0 16 0 0%
python/lsst/daf/butler/registry/wildcards.py (no class) 45 0 0 14 0 100%
python/lsst/daf/butler/remote_butler/__init__.py (no class) 3 2 0 0 0 33%
python/lsst/daf/butler/remote_butler/_factory.py RemoteButlerFactory 18 18 0 8 0 0%
python/lsst/daf/butler/remote_butler/_factory.py (no class) 18 15 0 4 0 14%
python/lsst/daf/butler/repo_relocation.py (no class) 8 0 0 0 0 100%
python/lsst/daf/butler/script/__init__.py (no class) 21 0 0 0 0 100%
python/lsst/daf/butler/script/_associate.py (no class) 6 0 0 0 0 100%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult 14 14 0 2 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.State 0 0 0 0 0 100%
python/lsst/daf/butler/script/_pruneDatasets.py (no class) 35 0 2 14 0 100%
python/lsst/daf/butler/script/butlerImport.py (no class) 5 0 0 0 0 100%
python/lsst/daf/butler/script/certifyCalibrations.py (no class) 6 0 0 0 0 100%
python/lsst/daf/butler/script/collectionChain.py (no class) 8 0 0 0 0 100%
python/lsst/daf/butler/script/configDump.py (no class) 4 0 0 0 0 100%
python/lsst/daf/butler/script/configValidate.py (no class) 4 0 0 0 0 100%
python/lsst/daf/butler/script/createRepo.py (no class) 4 0 0 0 0 100%
python/lsst/daf/butler/script/exportCalibs.py (no class) 11 0 2 0 0 100%
python/lsst/daf/butler/script/ingest_files.py (no class) 15 0 3 0 0 100%
python/lsst/daf/butler/script/queryCollections.py (no class) 9 0 0 0 0 100%
python/lsst/daf/butler/script/queryDataIds.py _Table 13 13 0 12 0 0%
python/lsst/daf/butler/script/queryDataIds.py (no class) 15 0 2 0 0 100%
python/lsst/daf/butler/script/queryDatasetTypes.py (no class) 6 0 0 0 0 100%
python/lsst/daf/butler/script/queryDatasets.py _RefInfo 0 0 0 0 0 100%
python/lsst/daf/butler/script/queryDatasets.py _Table 21 21 0 14 0 0%
python/lsst/daf/butler/script/queryDatasets.py QueryDatasets 22 22 0 14 0 0%
python/lsst/daf/butler/script/queryDatasets.py (no class) 24 0 4 2 0 100%
python/lsst/daf/butler/script/queryDimensionRecords.py (no class) 9 0 0 0 0 100%
python/lsst/daf/butler/script/register_dataset_type.py (no class) 5 0 0 0 0 100%
python/lsst/daf/butler/script/removeCollections.py RemoveCollectionResult 0 0 0 0 0 100%
python/lsst/daf/butler/script/removeCollections.py CollectionInfo 0 0 0 0 0 100%
python/lsst/daf/butler/script/removeCollections.py (no class) 18 0 0 4 0 100%
python/lsst/daf/butler/script/removeDatasetType.py (no class) 4 0 0 0 0 100%
python/lsst/daf/butler/script/removeRuns.py RemoveRun 0 0 0 0 0 100%
python/lsst/daf/butler/script/removeRuns.py RemoveRunsResult 0 0 0 0 0 100%
python/lsst/daf/butler/script/removeRuns.py (no class) 19 0 0 4 0 100%
python/lsst/daf/butler/script/retrieveArtifacts.py (no class) 8 0 2 0 0 100%
python/lsst/daf/butler/script/transferDatasets.py (no class) 8 0 0 0 0 100%
python/lsst/daf/butler/tests/__init__.py (no class) 6 0 0 0 0 100%
python/lsst/daf/butler/tests/_datasetsHelper.py DatasetTestHelper 9 9 0 4 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py DatastoreTestHelper 12 12 0 6 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py BadWriteFormatter 3 3 1 2 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py BadNoWriteFormatter 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py MultiDetectorFormatter 10 10 1 6 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py (no class) 26 0 2 0 0 100%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage 51 51 0 44 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorageManager 7 7 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager 10 10 0 4 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyRegistry 4 4 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py (no class) 39 0 0 8 0 100%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample 21 21 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExampleModel 5 5 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExampleDataclass 0 0 0 0 0 100%
python/lsst/daf/butler/tests/_examplePythonTypes.py ListDelegate 5 5 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsDelegate 13 13 0 6 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py (no class) 40 0 2 8 0 100%
python/lsst/daf/butler/tests/_testRepo.py DatastoreMock 6 6 0 2 0 0%
python/lsst/daf/butler/tests/_testRepo.py (no class) 25 0 2 6 0 100%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests 151 151 1 78 0 0%
python/lsst/daf/butler/tests/butler_queries.py (no class) 39 0 0 2 0 100%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase 27 27 0 10 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py (no class) 30 0 8 24 0 100%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase 74 74 0 38 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.PythonLogger 2 2 0 0 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.LsstLogger 2 2 0 0 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py (no class) 51 5 10 16 0 93%
python/lsst/daf/butler/tests/dict_convertible_model.py DictConvertibleModel 2 2 0 0 0 0%
python/lsst/daf/butler/tests/dict_convertible_model.py (no class) 12 0 0 2 0 100%
python/lsst/daf/butler/tests/server.py TestServerInstance 0 0 0 0 0 100%
python/lsst/daf/butler/tests/server.py UnhandledServerError 0 0 0 0 0 100%
python/lsst/daf/butler/tests/server.py (no class) 41 35 0 4 0 13%
python/lsst/daf/butler/tests/testFormatters.py DoNothingFormatter 0 0 2 0 0 100%
python/lsst/daf/butler/tests/testFormatters.py FormatterTest 6 6 2 6 0 0%
python/lsst/daf/butler/tests/testFormatters.py SingleExtensionFormatter 0 0 0 0 0 100%
python/lsst/daf/butler/tests/testFormatters.py MultipleExtensionsFormatter 0 0 0 0 0 100%
python/lsst/daf/butler/tests/testFormatters.py LenientYamlFormatter 1 1 0 0 0 0%
python/lsst/daf/butler/tests/testFormatters.py MetricsExampleFormatter 28 28 0 20 0 0%
python/lsst/daf/butler/tests/testFormatters.py MetricsExampleDataFormatter 16 16 0 10 0 0%
python/lsst/daf/butler/tests/testFormatters.py (no class) 38 0 2 6 0 100%
python/lsst/daf/butler/tests/utils.py TestCaseMixin 0 0 0 0 0 100%
python/lsst/daf/butler/tests/utils.py TestCaseMixin 0 0 0 0 0 100%
python/lsst/daf/butler/tests/utils.py ButlerTestHelper 23 23 0 10 0 0%
python/lsst/daf/butler/tests/utils.py MetricTestRepo 30 30 0 2 0 0%
python/lsst/daf/butler/tests/utils.py (no class) 40 0 6 8 0 100%
python/lsst/daf/butler/time_utils.py TimeConverter 32 32 0 12 0 0%
python/lsst/daf/butler/time_utils.py _AstropyTimeToYAML 6 6 0 4 0 0%
python/lsst/daf/butler/time_utils.py (no class) 36 2 0 4 0 95%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation 1 1 17 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation 58 58 0 32 0 0%
python/lsst/daf/butler/timespan_database_representation.py (no class) 90 2 2 78 0 99%
python/lsst/daf/butler/transfers/__init__.py (no class) 3 0 0 0 0 100%
python/lsst/daf/butler/transfers/_context.py RepoExportContext 94 94 0 74 0 0%
python/lsst/daf/butler/transfers/_context.py (no class) 22 0 4 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoTransferFormatConfig 0 0 0 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoExportBackend 0 0 5 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoImportBackend 0 0 1 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py (no class) 32 0 2 14 0 100%
python/lsst/daf/butler/transfers/_yaml.py _RefMapper 3 3 0 0 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoExportBackend 26 26 0 20 0 0%
python/lsst/daf/butler/transfers/_yaml.py _DayObsOffsetCalculator 19 19 0 4 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoImportBackend 191 191 0 160 0 0%
python/lsst/daf/butler/transfers/_yaml.py (no class) 56 0 2 0 0 100%
python/lsst/daf/butler/utils.py _Marker 0 0 0 0 0 100%
python/lsst/daf/butler/utils.py (no class) 19 0 0 0 0 100%
python/lsst/daf/butler/version.py (no class) 5 0 0 0 0 100%
tests/test_astropyTableFormatter.py AstropyTableFormatterTestCase 16 16 0 0 0 0%
tests/test_astropyTableFormatter.py (no class) 12 0 2 0 0 100%
tests/test_authentication.py TestButlerClientAuthentication 14 14 0 8 0 0%
tests/test_authentication.py (no class) 14 1 0 2 0 94%
tests/test_butler.py TransactionTestError 0 0 0 0 0 100%
tests/test_butler.py ButlerConfigTests 11 11 0 4 0 0%
tests/test_butler.py ButlerPutGetTests 201 201 0 68 0 0%
tests/test_butler.py ButlerTests 451 451 0 142 0 0%
tests/test_butler.py FileDatastoreButlerTests 218 218 0 66 0 0%
tests/test_butler.py PosixDatastoreButlerTestCase 53 53 0 18 0 0%
tests/test_butler.py PostgresPosixDatastoreButlerTestCase 22 22 0 6 0 0%
tests/test_butler.py ClonedPostgresPosixDatastoreButlerTestCase 2 2 0 0 0 0%
tests/test_butler.py InMemoryDatastoreButlerTestCase 1 1 0 0 0 0%
tests/test_butler.py ClonedSqliteButlerTestCase 2 2 0 0 0 0%
tests/test_butler.py ChainedDatastoreButlerTestCase 1 1 0 0 0 0%
tests/test_butler.py ButlerExplicitRootTestCase 16 16 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileTestCase 14 14 0 2 0 0%
tests/test_butler.py ButlerMakeRepoOutfileDirTestCase 6 6 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileUriTestCase 4 4 0 0 0 0%
tests/test_butler.py S3DatastoreButlerTestCase 35 35 0 10 0 0%
tests/test_butler.py PosixDatastoreTransfers 150 150 0 70 0 0%
tests/test_butler.py ChainedDatastoreTransfers 0 0 0 0 0 100%
tests/test_butler.py NullDatastoreTestCase 28 28 0 8 0 0%
tests/test_butler.py ButlerServerTests 14 14 0 0 0 0%
tests/test_butler.py (no class) 252 3 6 26 0 99%
tests/test_butler_factory.py ButlerFactoryTestCase 17 17 0 6 0 0%
tests/test_butler_factory.py (no class) 12 0 2 2 0 100%
tests/test_cliCmdAssociate.py AssociateTestCase 7 7 0 0 0 0%
tests/test_cliCmdAssociate.py (no class) 11 0 2 4 0 100%
tests/test_cliCmdConfigDump.py ConfigDumpTest 2 2 0 0 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest 85 85 0 28 0 0%
tests/test_cliCmdConfigDump.py (no class) 26 0 2 4 0 100%
tests/test_cliCmdConfigValidate.py ValidateTest 2 2 0 0 0 0%
tests/test_cliCmdConfigValidate.py ConfigValidateUseTest 13 13 0 4 0 0%
tests/test_cliCmdConfigValidate.py (no class) 16 0 2 4 0 100%
tests/test_cliCmdCreate.py CreateTest 5 5 0 0 0 0%
tests/test_cliCmdCreate.py (no class) 12 0 2 4 0 100%
tests/test_cliCmdImport.py ImportTestCase 5 5 0 0 0 0%
tests/test_cliCmdImport.py (no class) 14 0 2 4 0 100%
tests/test_cliCmdIngestFiles.py CliIngestFilesTest 38 38 0 10 0 0%
tests/test_cliCmdIngestFiles.py (no class) 18 0 2 0 0 100%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase 54 54 0 14 0 0%
tests/test_cliCmdPruneDatasets.py (no class) 47 0 2 26 3 96%
tests/test_cliCmdQueryCollections.py QueryCollectionsCmdTest 4 4 0 0 0 0%
tests/test_cliCmdQueryCollections.py QueryCollectionsScriptTest 19 19 0 2 0 0%
tests/test_cliCmdQueryCollections.py ChainedCollectionsTest 48 48 0 2 0 0%
tests/test_cliCmdQueryCollections.py (no class) 28 0 2 4 0 100%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest 51 51 0 6 0 0%
tests/test_cliCmdQueryDataIds.py (no class) 23 0 2 2 0 100%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest 6 6 0 0 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest 62 62 0 6 0 0%
tests/test_cliCmdQueryDatasetTypes.py (no class) 22 0 2 4 0 100%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest 40 40 0 0 0 0%
tests/test_cliCmdQueryDatasets.py (no class) 24 0 2 2 0 100%
tests/test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest 38 38 0 0 0 0%
tests/test_cliCmdQueryDimensionRecords.py (no class) 21 0 2 0 0 100%
tests/test_cliCmdRemoveCollections.py RemoveCollectionTest 60 60 0 8 0 0%
tests/test_cliCmdRemoveCollections.py (no class) 21 0 2 0 0 100%
tests/test_cliCmdRemoveRuns.py RemoveCollectionTest 67 67 0 2 0 0%
tests/test_cliCmdRemoveRuns.py (no class) 12 0 2 0 0 100%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest 39 39 0 12 0 0%
tests/test_cliCmdRetrieveArtifacts.py (no class) 20 0 2 2 0 100%
tests/test_cliLog.py CliLogTestCase 0 0 0 0 0 100%
tests/test_cliLog.py ConvertPyLogLevelTestCase 5 5 0 0 0 0%
tests/test_cliLog.py (no class) 13 2 2 0 0 85%
tests/test_cliPluginLoader.py FailedLoadTest 17 17 0 8 0 0%
tests/test_cliPluginLoader.py FailedLoadTest.test_unimportableLocalPackage.FailCLI 0 0 0 0 0 100%
tests/test_cliPluginLoader.py PluginLoaderTest 26 26 0 8 0 0%
tests/test_cliPluginLoader.py (no class) 26 0 2 4 0 100%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase 27 27 0 6 0 0%
tests/test_cliUtilSplitCommas.py (no class) 18 0 2 6 0 100%
tests/test_cliUtilSplitKv.py SplitKvTestCase 18 18 0 8 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase 86 86 0 48 0 0%
tests/test_cliUtilSplitKv.py (no class) 36 4 2 8 0 73%
tests/test_cliUtilToUpper.py ToUpperTestCase 13 13 0 0 0 0%
tests/test_cliUtilToUpper.py (no class) 13 0 2 6 0 100%
tests/test_cliUtils.py ArgumentHelpGeneratorTestCase 10 10 0 4 0 0%
tests/test_cliUtils.py UnwrapStringTestCase 14 14 0 0 0 0%
tests/test_cliUtils.py MWOptionTest 18 18 0 14 0 0%
tests/test_cliUtils.py MWArgumentDecoratorTest 24 24 0 18 0 0%
tests/test_cliUtils.py MWOptionDecoratorTest 20 20 0 12 0 0%
tests/test_cliUtils.py SectionOptionTest 7 7 0 0 0 0%
tests/test_cliUtils.py MWPathTest 24 24 0 6 0 0%
tests/test_cliUtils.py MWCommandTest 22 22 0 22 0 0%
tests/test_cliUtils.py (no class) 60 8 2 28 0 73%
tests/test_composites.py TestCompositesConfig 36 36 0 8 0 0%
tests/test_composites.py (no class) 11 0 2 2 0 100%
tests/test_config.py ExampleWithConfigFileReference 0 0 0 0 0 100%
tests/test_config.py ExampleWithConfigFileReference2 0 0 0 0 0 100%
tests/test_config.py ConfigTest 0 0 0 0 0 100%
tests/test_config.py ConfigTestPathlib 0 0 0 0 0 100%
tests/test_config.py ConfigTestEmpty 0 0 0 0 0 100%
tests/test_config.py ConfigTestButlerDir 0 0 0 0 0 100%
tests/test_config.py ConfigTestNoDefaults 0 0 0 0 0 100%
tests/test_config.py ConfigTestAbsPath 0 0 0 0 0 100%
tests/test_config.py ConfigTestCls 0 0 0 0 0 100%
tests/test_config.py ConfigTestCase 204 204 0 58 0 0%
tests/test_config.py ConfigSubsetTestCase 129 129 0 14 0 0%
tests/test_config.py FileWriteConfigTestCase 11 11 0 4 0 0%
tests/test_config.py (no class) 65 0 2 2 0 100%
tests/test_connectionString.py ConnectionStringBuilderTestCase 24 24 0 10 0 0%
tests/test_connectionString.py (no class) 21 0 2 0 0 100%
tests/test_constraints.py ConstraintsTestCase 81 81 0 2 0 0%
tests/test_constraints.py (no class) 13 0 2 0 0 100%
tests/test_datasets.py DatasetTypeTestCase 198 198 0 32 0 0%
tests/test_datasets.py DatasetRefTestCase 103 103 0 20 0 0%
tests/test_datasets.py (no class) 31 0 2 0 0 100%
tests/test_datastore.py TransactionTestError 0 0 0 0 0 100%
tests/test_datastore.py DatastoreTestsBase 9 9 0 2 0 0%
tests/test_datastore.py DatastoreTests 472 472 0 168 0 0%
tests/test_datastore.py PosixDatastoreTestCase 40 40 0 14 0 0%
tests/test_datastore.py PosixDatastoreNoChecksumsTestCase 25 25 0 6 0 0%
tests/test_datastore.py TrashDatastoreTestCase 24 24 0 2 0 0%
tests/test_datastore.py CleanupPosixDatastoreTestCase 24 24 0 6 0 0%
tests/test_datastore.py InMemoryDatastoreTestCase 0 0 0 0 0 100%
tests/test_datastore.py ChainedDatastoreTestCase 0 0 0 0 0 100%
tests/test_datastore.py ChainedDatastoreMemoryTestCase 0 0 0 0 0 100%
tests/test_datastore.py DatastoreConstraintsTests 27 27 0 14 0 0%
tests/test_datastore.py PosixDatastoreConstraintsTestCase 2 2 0 0 0 0%
tests/test_datastore.py InMemoryDatastoreConstraintsTestCase 0 0 0 0 0 100%
tests/test_datastore.py ChainedDatastoreConstraintsNativeTestCase 0 0 0 0 0 100%
tests/test_datastore.py ChainedDatastoreConstraintsTestCase 0 0 0 0 0 100%
tests/test_datastore.py ChainedDatastoreMemoryConstraintsTestCase 0 0 0 0 0 100%
tests/test_datastore.py ChainedDatastorePerStoreConstraintsTests 37 37 0 20 0 0%
tests/test_datastore.py DatastoreCacheTestCase 183 183 0 66 0 0%
tests/test_datastore.py NullDatastoreTestCase 42 42 0 34 0 0%
tests/test_datastore.py DatasetRefURIsTestCase 19 19 0 4 0 0%
tests/test_datastore.py StoredFileInfoTestCase 15 15 0 4 0 0%
tests/test_datastore.py (no class) 161 0 2 4 0 100%
tests/test_ddl.py AstropyTimeNsecTaiTestCase 21 21 0 2 0 0%
tests/test_ddl.py (no class) 10 0 2 0 0 100%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase 194 194 0 54 0 0%
tests/test_dimension_record_containers.py (no class) 27 0 2 2 0 100%
tests/test_dimensions.py ConcreteTestDimensionPacker 6 6 0 0 0 0%
tests/test_dimensions.py DimensionTestCase 137 137 0 48 0 0%
tests/test_dimensions.py SplitByStateFlags 9 9 0 8 0 0%
tests/test_dimensions.py DataCoordinateTestCase 234 234 0 136 0 0%
tests/test_dimensions.py (no class) 67 0 2 6 0 100%
tests/test_exprParserLex.py ParserLexTestCase 162 162 0 30 0 0%
tests/test_exprParserLex.py (no class) 18 0 2 0 0 100%
tests/test_exprParserYacc.py _Visitor 14 14 0 6 0 0%
tests/test_exprParserYacc.py ParserLexTestCase 329 329 0 24 0 0%
tests/test_exprParserYacc.py (no class) 37 0 2 0 0 100%
tests/test_expressions.py FakeDatasetRecordStorageManager 0 0 0 0 0 100%
tests/test_expressions.py ConvertExpressionToPredicateTestCase 10 10 0 0 0 0%
tests/test_expressions.py ConvertExpressionToPredicateTestCaseAstropy 0 0 0 0 0 100%
tests/test_expressions.py InspectionVisitorTestCase 87 87 0 0 0 0%
tests/test_expressions.py CheckVisitorTestCase 20 20 0 0 0 0%
tests/test_expressions.py (no class) 34 0 2 0 0 100%
tests/test_formatter.py FormatterFactoryTestCase 105 105 0 32 0 0%
tests/test_formatter.py (no class) 16 0 2 0 0 100%
tests/test_location.py LocationTestCase 74 74 0 12 0 0%
tests/test_location.py (no class) 14 0 2 0 0 100%
tests/test_logFormatter.py ButlerLogRecordsFormatterTestCase 33 33 0 0 0 0%
tests/test_logFormatter.py (no class) 15 0 2 0 0 100%
tests/test_logging.py LoggingTestCase 138 138 0 30 0 0%
tests/test_logging.py TestJsonLogging 39 39 0 6 0 0%
tests/test_logging.py (no class) 18 0 2 0 0 100%
tests/test_matplotlibFormatter.py MatplotlibFormatterTestCase 18 18 0 4 0 0%
tests/test_matplotlibFormatter.py (no class) 21 2 2 2 0 91%
tests/test_nonempty_mapping.py NonemptyMappingTestCase 11 11 0 0 0 0%
tests/test_nonempty_mapping.py (no class) 4 0 2 0 0 100%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor 10 10 7 2 0 0%
tests/test_normalFormExpression.py NormalFormExpressionTestCase 30 30 0 18 0 0%
tests/test_normalFormExpression.py (no class) 20 0 2 0 0 100%
tests/test_obscore.py ObsCoreTests 193 193 1 94 0 0%
tests/test_obscore.py SQLiteObsCoreTest 7 7 0 0 0 0%
tests/test_obscore.py ClonedSqliteObscoreTest 2 2 0 0 0 0%
tests/test_obscore.py PostgresObsCoreTest 19 19 0 2 0 0%
tests/test_obscore.py PostgresPgSphereObsCoreTest 33 33 0 12 0 0%
tests/test_obscore.py (no class) 61 0 2 16 0 100%
tests/test_packages.py PackagesFormatterTestCase 10 10 0 0 0 0%
tests/test_packages.py (no class) 11 0 2 0 0 100%
tests/test_parquet.py ParquetFormatterDataFrameTestCase 190 190 0 30 0 0%
tests/test_parquet.py InMemoryDataFrameDelegateTestCase 20 20 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase 169 169 0 26 0 0%
tests/test_parquet.py InMemoryArrowAstropyDelegateTestCase 9 9 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase 97 97 0 8 0 0%
tests/test_parquet.py InMemoryArrowNumpyDelegateTestCase 17 17 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase 161 161 0 24 0 0%
tests/test_parquet.py InMemoryArrowTableDelegateTestCase 17 17 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase 75 75 0 24 0 0%
tests/test_parquet.py InMemoryNumpyDictDelegateTestCase 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase 36 36 0 8 0 0%
tests/test_parquet.py InMemoryArrowSchemaDelegateTestCase 0 0 0 0 0 100%
tests/test_parquet.py ComputeRowGroupSizeTestCase 21 21 0 0 0 0%
tests/test_parquet.py (no class) 216 23 2 108 0 93%
tests/test_postgresql.py PostgresqlDatabaseTestCase 44 44 0 28 0 0%
tests/test_postgresql.py PostgresqlRegistryTests 15 15 0 4 0 0%
tests/test_postgresql.py PostgresqlRegistryNameKeyCollMgrUUIDTestCase 0 0 0 0 0 100%
tests/test_postgresql.py PostgresqlRegistrySynthIntKeyCollMgrUUIDTestCase 0 0 0 0 0 100%
tests/test_postgresql.py (no class) 52 2 2 16 0 97%
tests/test_progress.py MockProgressBar 11 11 0 2 0 0%
tests/test_progress.py MockProgressHandler 1 1 0 0 0 0%
tests/test_progress.py ClickProgressHandlerTestCase 25 25 0 8 0 0%
tests/test_progress.py MockedProgressHandlerTestCase 72 72 0 22 0 0%
tests/test_progress.py (no class) 37 0 2 2 0 100%
tests/test_pydantic_utils.py Inner 3 3 0 2 0 0%
tests/test_pydantic_utils.py SerializedInner 0 0 0 0 0 100%
tests/test_pydantic_utils.py OuterWithWrapper 0 0 0 0 0 100%
tests/test_pydantic_utils.py OuterWithoutWrapper 0 0 0 0 0 100%
tests/test_pydantic_utils.py DeferredValidationTestCase 24 24 0 0 0 0%
tests/test_pydantic_utils.py SerializableExtensionsTestCase 31 31 0 12 0 0%
tests/test_pydantic_utils.py (no class) 22 0 2 2 0 100%
tests/test_quantum.py MockTask 0 0 0 0 0 100%
tests/test_quantum.py QuantumTestCase 66 66 0 2 0 0%
tests/test_quantum.py (no class) 12 0 2 0 0 100%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase 211 211 0 116 0 0%
tests/test_quantumBackedButler.py (no class) 26 0 2 0 0 100%
tests/test_query_direct_postgresql.py DirectButlerPostgreSQLTests 14 14 0 2 0 0%
tests/test_query_direct_postgresql.py (no class) 31 0 2 10 0 100%
tests/test_query_direct_sqlite.py DirectButlerSQLiteTests 6 6 0 2 0 0%
tests/test_query_direct_sqlite.py (no class) 13 0 2 0 0 100%
tests/test_query_interface.py _TestVisitor 53 53 0 36 0 0%
tests/test_query_interface.py _TestReversed 0 0 0 0 0 100%
tests/test_query_interface.py _TestQueryExecution 3 3 0 0 0 0%
tests/test_query_interface.py _TestQueryCount 5 5 0 0 0 0%
tests/test_query_interface.py _TestQueryAny 4 4 0 0 0 0%
tests/test_query_interface.py _TestQueryExplainNoResults 3 3 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver 48 48 2 12 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase 403 403 0 68 0 0%
tests/test_query_interface.py QueryTestCase 307 307 0 116 0 0%
tests/test_query_interface.py (no class) 110 0 2 4 0 100%
tests/test_query_relations.py TestQueryRelationsTests 38 38 1 8 0 0%
tests/test_query_relations.py (no class) 14 0 2 2 0 100%
tests/test_query_remote.py RemoteButlerQueryTests 5 5 0 2 0 0%
tests/test_query_remote.py (no class) 15 0 2 2 0 100%
tests/test_query_utilities.py ColumnSetTestCase 80 80 0 2 0 0%
tests/test_query_utilities.py _RecordingOverlapsVisitor 10 10 0 0 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase 116 116 0 10 0 0%
tests/test_query_utilities.py NaiveDisjointSetTestCase 8 8 0 2 0 0%
tests/test_query_utilities.py (no class) 33 0 2 0 0 100%
tests/test_remote_butler.py RemoteButlerConfigTests 2 2 0 2 0 0%
tests/test_remote_butler.py RemoteButlerErrorHandlingTests 16 16 0 8 0 0%
tests/test_remote_butler.py RemoteButlerMiscTests 3 3 0 2 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests 11 11 0 2 0 0%
tests/test_remote_butler.py (no class) 45 1 2 8 0 98%
tests/test_server.py ButlerClientServerTestCase 154 154 0 22 0 0%
tests/test_server.py (no class) 39 6 2 4 0 86%
tests/test_simpleButler.py SimpleButlerTests 252 252 1 70 0 0%
tests/test_simpleButler.py DirectSimpleButlerTestCase 13 13 0 0 0 0%
tests/test_simpleButler.py NameKeyCollectionManagerDirectSimpleButlerTestCase 0 0 0 0 0 100%
tests/test_simpleButler.py RemoteSimpleButlerTestCase 5 5 0 0 0 0%
tests/test_simpleButler.py (no class) 54 2 2 2 0 96%
tests/test_sqlite.py SqliteFileDatabaseTestCase 34 34 0 6 0 0%
tests/test_sqlite.py SqliteMemoryDatabaseTestCase 19 19 0 4 0 0%
tests/test_sqlite.py SqliteFileRegistryTests 11 11 0 4 0 0%
tests/test_sqlite.py SqliteFileRegistryNameKeyCollMgrUUIDTestCase 0 0 0 0 0 100%
tests/test_sqlite.py ClonedSqliteFileRegistryNameKeyCollMgrUUIDTestCase 2 2 0 0 0 0%
tests/test_sqlite.py SqliteFileRegistrySynthIntKeyCollMgrUUIDTestCase 0 0 0 0 0 100%
tests/test_sqlite.py SqliteMemoryRegistryTests 10 10 0 4 0 0%
tests/test_sqlite.py SqliteMemoryRegistryNameKeyCollMgrUUIDTestCase 0 0 0 0 0 100%
tests/test_sqlite.py SqliteMemoryRegistrySynthIntKeyCollMgrUUIDTestCase 0 0 0 0 0 100%
tests/test_sqlite.py SqliteMemoryRegistryAstropyIngestDateTestCase 0 0 0 0 0 100%
tests/test_sqlite.py (no class) 61 0 2 10 0 100%
tests/test_storageClass.py PythonType 0 0 0 0 0 100%
tests/test_storageClass.py PythonType2 0 0 0 0 0 100%
tests/test_storageClass.py PythonType3 0 0 0 0 0 100%
tests/test_storageClass.py NotCopyable 1 1 0 0 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase 188 188 0 24 0 0%
tests/test_storageClass.py (no class) 29 0 2 2 0 100%
tests/test_templates.py TestFileTemplates 163 163 0 36 0 0%
tests/test_templates.py (no class) 22 0 2 0 0 100%
tests/test_testRepo.py ButlerTestRepoTestCase 6 6 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite 83 83 0 22 0 0%
tests/test_testRepo.py (no class) 28 0 2 4 0 100%
tests/test_thread_utils.py ThreadSafeCacheTestCase 7 7 0 0 0 0%
tests/test_thread_utils.py NamedLocksTestCase 13 13 0 2 0 0%
tests/test_thread_utils.py LockedObjectTestCase 7 7 0 2 0 0%
tests/test_thread_utils.py (no class) 10 0 2 0 0 100%
tests/test_time_utils.py TimeTestCase 60 60 0 12 0 0%
tests/test_time_utils.py (no class) 15 2 2 0 0 87%
tests/test_timespan.py TimespanTestCase 139 139 0 76 0 0%
tests/test_timespan.py (no class) 24 2 2 0 0 92%
tests/test_utils.py NamedKeyDictTest 50 50 0 12 0 0%
tests/test_utils.py NamedValueSetTest 47 47 0 10 0 0%
tests/test_utils.py GlobToRegexTestCase 10 10 0 6 0 0%
tests/test_utils.py (no class) 31 0 2 0 0 100%
tests/test_versioning.py Manager0 1 1 0 0 0 0%
tests/test_versioning.py Manager1 1 1 0 0 0 0%
tests/test_versioning.py Manager1_1 1 1 0 0 0 0%
tests/test_versioning.py Manager2 2 2 0 0 0 0%
tests/test_versioning.py SchemaVersioningTestCase 67 67 0 32 0 0%
tests/test_versioning.py (no class) 36 0 2 10 0 100%
Total   38311 26098 953 15429 97 30%

No items found using the specified filter.