Coverage report: 28%

Files Functions Classes

coverage.py v7.5.0, created at 2024-04-30 09:54 +0000

File function statements missing excluded branches partial coverage
python/lsst/__init__.py (no function) 2 0 0 0 0 100%
python/lsst/daf/__init__.py (no function) 2 0 0 0 0 100%
python/lsst/daf/butler/__init__.py (no function) 39 0 0 0 0 100%
python/lsst/daf/butler/_butler.py Butler.__new__ 3 3 0 2 0 0%
python/lsst/daf/butler/_butler.py Butler.from_config 20 20 0 10 0 0%
python/lsst/daf/butler/_butler.py Butler.makeRepo 38 38 0 16 0 0%
python/lsst/daf/butler/_butler.py Butler.get_repo_uri 1 1 0 0 0 0%
python/lsst/daf/butler/_butler.py Butler.get_known_repos 1 1 0 0 0 0%
python/lsst/daf/butler/_butler.py Butler._caching_context 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.transaction 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.put 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.getDeferred 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.get 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.getURIs 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.getURI 4 4 0 2 0 0%
python/lsst/daf/butler/_butler.py Butler.get_dataset_type 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.get_dataset 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.find_dataset 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.retrieveArtifacts 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.exists 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler._exists_many 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.removeRuns 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.ingest 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.export 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.import_ 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.transfer_dimension_records_from 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.transfer_from 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.validateConfiguration 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.collection_chains 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.collections 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.run 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler.registry 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler._query 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py Butler._query_data_ids 10 10 0 8 0 0%
python/lsst/daf/butler/_butler.py Butler._query_datasets 10 10 0 8 0 0%
python/lsst/daf/butler/_butler.py Butler._query_dimension_records 8 8 0 6 0 0%
python/lsst/daf/butler/_butler.py Butler._clone 0 0 1 0 0 100%
python/lsst/daf/butler/_butler.py (no function) 90 0 13 74 0 100%
python/lsst/daf/butler/_butler_collections.py ButlerCollections.extend_chain 0 0 1 0 0 100%
python/lsst/daf/butler/_butler_collections.py ButlerCollections.prepend_chain 0 0 1 0 0 100%
python/lsst/daf/butler/_butler_collections.py ButlerCollections.redefine_chain 0 0 1 0 0 100%
python/lsst/daf/butler/_butler_collections.py ButlerCollections.remove_from_chain 0 0 1 0 0 100%
python/lsst/daf/butler/_butler_collections.py (no function) 13 0 0 8 0 100%
python/lsst/daf/butler/_butler_config.py ButlerConfig.__init__ 53 53 0 34 0 0%
python/lsst/daf/butler/_butler_config.py ButlerConfig.get_butler_type 8 8 0 6 0 0%
python/lsst/daf/butler/_butler_config.py (no function) 20 0 0 0 0 100%
python/lsst/daf/butler/_butler_instance_options.py (no function) 10 0 0 2 0 100%
python/lsst/daf/butler/_butler_repo_index.py ButlerRepoIndex._read_repository_index 11 11 0 4 0 0%
python/lsst/daf/butler/_butler_repo_index.py ButlerRepoIndex._read_repository_index_from_environment 14 14 0 6 0 0%
python/lsst/daf/butler/_butler_repo_index.py ButlerRepoIndex.get_known_repos 5 5 0 0 0 0%
python/lsst/daf/butler/_butler_repo_index.py ButlerRepoIndex.get_failure_reason 1 1 0 0 0 0%
python/lsst/daf/butler/_butler_repo_index.py ButlerRepoIndex.get_repo_uri 12 12 0 6 0 0%
python/lsst/daf/butler/_butler_repo_index.py ButlerRepoIndex._validate_configuration 4 4 0 0 0 0%
python/lsst/daf/butler/_butler_repo_index.py (no function) 30 0 0 12 0 100%
python/lsst/daf/butler/_column_categorization.py ColumnCategorization.from_iterable 10 10 0 8 0 0%
python/lsst/daf/butler/_column_categorization.py ColumnCategorization.filter_skypix 1 1 0 2 0 0%
python/lsst/daf/butler/_column_categorization.py ColumnCategorization.filter_governors 1 1 0 2 0 0%
python/lsst/daf/butler/_column_categorization.py ColumnCategorization.filter_timespan_dataset_types 1 1 0 2 0 0%
python/lsst/daf/butler/_column_categorization.py ColumnCategorization.filter_timespan_dimension_elements 1 1 0 2 0 0%
python/lsst/daf/butler/_column_categorization.py ColumnCategorization.filter_spatial_region_dimension_elements 1 1 0 2 0 0%
python/lsst/daf/butler/_column_categorization.py (no function) 20 0 0 8 2 93%
python/lsst/daf/butler/_column_tags.py _BaseColumnTag.filter_from 1 1 0 2 0 0%
python/lsst/daf/butler/_column_tags.py DimensionKeyColumnTag.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DimensionKeyColumnTag.qualified_name 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DimensionKeyColumnTag.is_key 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DimensionKeyColumnTag.generate 1 1 0 2 0 0%
python/lsst/daf/butler/_column_tags.py DimensionRecordColumnTag.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DimensionRecordColumnTag.qualified_name 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DimensionRecordColumnTag.is_key 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DimensionRecordColumnTag.generate 1 1 0 2 0 0%
python/lsst/daf/butler/_column_tags.py DatasetColumnTag.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DatasetColumnTag.qualified_name 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DatasetColumnTag.is_key 1 1 0 0 0 0%
python/lsst/daf/butler/_column_tags.py DatasetColumnTag.generate 1 1 0 2 0 0%
python/lsst/daf/butler/_column_tags.py is_timespan_column 6 6 0 4 0 0%
python/lsst/daf/butler/_column_tags.py (no function) 51 0 2 35 0 100%
python/lsst/daf/butler/_column_type_info.py ColumnTypeInfo.ingest_date_pytype 5 5 0 4 0 0%
python/lsst/daf/butler/_column_type_info.py ColumnTypeInfo.make_relation_table_spec 26 26 0 22 0 0%
python/lsst/daf/butler/_column_type_info.py (no function) 30 0 0 4 0 100%
python/lsst/daf/butler/_config.py _doUpdate 10 2 0 8 2 78%
python/lsst/daf/butler/_config.py _checkNextItem 20 11 0 10 3 47%
python/lsst/daf/butler/_config.py Loader.__init__ 5 1 0 2 1 71%
python/lsst/daf/butler/_config.py Loader.include 16 16 0 12 0 0%
python/lsst/daf/butler/_config.py Loader.extractFile 9 9 0 2 0 0%
python/lsst/daf/butler/_config.py Config.__init__ 13 1 0 8 1 90%
python/lsst/daf/butler/_config.py Config.ppprint 1 1 0 0 0 0%
python/lsst/daf/butler/_config.py Config.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/_config.py Config.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_config.py Config.__len__ 1 0 0 0 0 100%
python/lsst/daf/butler/_config.py Config.__iter__ 1 0 0 0 0 100%
python/lsst/daf/butler/_config.py Config.copy 1 1 0 0 0 0%
python/lsst/daf/butler/_config.py Config.fromString 7 7 0 4 0 0%
python/lsst/daf/butler/_config.py Config.fromYaml 1 1 0 0 0 0%
python/lsst/daf/butler/_config.py Config.__initFromUri 16 7 0 6 1 45%
python/lsst/daf/butler/_config.py Config.__initFromYaml 5 1 0 2 1 71%
python/lsst/daf/butler/_config.py Config.__initFromJson 7 7 0 4 0 0%
python/lsst/daf/butler/_config.py Config._processExplicitIncludes 37 29 0 24 3 21%
python/lsst/daf/butler/_config.py Config._splitIntoKeys 22 17 0 16 2 24%
python/lsst/daf/butler/_config.py Config._getKeyHierarchy 4 0 0 2 0 100%
python/lsst/daf/butler/_config.py Config._findInHierarchy 12 0 0 4 0 100%
python/lsst/daf/butler/_config.py Config.__getitem__ 18 8 0 10 3 54%
python/lsst/daf/butler/_config.py Config.__setitem__ 12 12 0 4 0 0%
python/lsst/daf/butler/_config.py Config.__contains__ 5 1 0 2 1 71%
python/lsst/daf/butler/_config.py Config.__delitem__ 9 2 0 4 2 69%
python/lsst/daf/butler/_config.py Config.update 1 0 0 0 0 100%
python/lsst/daf/butler/_config.py Config.merge 5 5 0 2 0 0%
python/lsst/daf/butler/_config.py Config.nameTuples 6 1 0 4 1 60%
python/lsst/daf/butler/_config.py Config.nameTuples.getKeysAsTuples 9 0 0 6 0 100%
python/lsst/daf/butler/_config.py Config.names 21 21 0 16 0 0%
python/lsst/daf/butler/_config.py Config.asArray 4 4 0 2 0 0%
python/lsst/daf/butler/_config.py Config.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/_config.py Config.__ne__ 3 3 0 2 0 0%
python/lsst/daf/butler/_config.py Config.dump 8 8 0 6 0 0%
python/lsst/daf/butler/_config.py Config.dumpToUri 11 11 0 4 0 0%
python/lsst/daf/butler/_config.py Config.updateParameters 27 27 0 26 0 0%
python/lsst/daf/butler/_config.py Config.toDict 6 1 0 4 1 80%
python/lsst/daf/butler/_config.py ConfigSubset.__init__ 39 14 0 30 9 58%
python/lsst/daf/butler/_config.py ConfigSubset.defaultSearchPaths 6 2 0 2 1 62%
python/lsst/daf/butler/_config.py ConfigSubset._updateWithConfigsFromPath 12 3 0 8 3 70%
python/lsst/daf/butler/_config.py ConfigSubset._updateWithOtherConfigFile 2 0 0 0 0 100%
python/lsst/daf/butler/_config.py ConfigSubset.validate 3 1 0 4 1 71%
python/lsst/daf/butler/_config.py (no function) 87 2 2 10 0 98%
python/lsst/daf/butler/_config_support.py LookupKey.__init__ 24 15 0 18 5 33%
python/lsst/daf/butler/_config_support.py LookupKey.__str__ 8 8 0 6 0 0%
python/lsst/daf/butler/_config_support.py LookupKey.__repr__ 8 8 0 8 0 0%
python/lsst/daf/butler/_config_support.py LookupKey.__eq__ 5 5 0 4 0 0%
python/lsst/daf/butler/_config_support.py LookupKey.name 1 1 0 0 0 0%
python/lsst/daf/butler/_config_support.py LookupKey.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/_config_support.py LookupKey.dataId 3 3 0 2 0 0%
python/lsst/daf/butler/_config_support.py LookupKey.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/_config_support.py LookupKey.clone 8 8 0 6 0 0%
python/lsst/daf/butler/_config_support.py processLookupConfigs 18 18 0 12 0 0%
python/lsst/daf/butler/_config_support.py processLookupConfigList 16 16 0 12 0 0%
python/lsst/daf/butler/_config_support.py (no function) 27 0 2 6 0 100%
python/lsst/daf/butler/_dataset_association.py DatasetAssociation.__lt__ 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_association.py (no function) 16 0 0 2 0 100%
python/lsst/daf/butler/_dataset_existence.py DatasetExistence.__bool__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_existence.py (no function) 19 0 0 0 0 100%
python/lsst/daf/butler/_dataset_ref.py _DatasetRefGroupedIterable._iter_by_dataset_type 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetIdFactory.makeDatasetId 12 12 0 10 0 0%
python/lsst/daf/butler/_dataset_ref.py SerializedDatasetRef.check_consistent_parameters 7 7 0 4 0 0%
python/lsst/daf/butler/_dataset_ref.py SerializedDatasetRef.direct 4 4 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__init__ 9 9 0 4 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.id 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__eq__ 4 4 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__str__ 2 2 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__lt__ 5 5 0 2 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.to_simple 6 6 0 4 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.from_simple 47 47 0 40 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef._unpickle 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.expanded 2 2 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.isComponent 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.isComposite 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef._lookupNames 4 4 0 4 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.groupByType 4 4 0 2 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.iter_by_type 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.makeCompositeRef 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.makeComponentRef 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.overrideStorageClass 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.replace 10 10 0 8 0 0%
python/lsst/daf/butler/_dataset_ref.py DatasetRef.is_compatible_with 7 7 0 6 0 0%
python/lsst/daf/butler/_dataset_ref.py (no function) 91 0 3 24 0 100%
python/lsst/daf/butler/_dataset_type.py _safeMakeMappingProxyType 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_type.py SerializedDatasetType.direct 15 15 0 10 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.nameWithComponent 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.__init__ 35 35 0 22 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.__repr__ 6 6 0 4 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType._equal_ignoring_storage_class 11 11 0 10 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.__eq__ 9 9 0 8 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.is_compatible_with 8 8 0 4 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.__lt__ 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.name 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.storageClass 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.storageClass_name 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.parentStorageClass 5 5 0 4 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.isCalibration 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.splitDatasetTypeName 5 5 0 2 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.nameAndComponent 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.component 2 2 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.componentTypeName 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.makeCompositeDatasetType 6 6 0 4 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.makeComponentDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.makeAllComponentDatasetTypes 1 1 0 2 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.overrideStorageClass 7 7 0 4 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.isComponent 3 3 0 2 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.isComposite 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType._lookupNames 10 10 0 6 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.to_simple 6 6 0 4 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.from_simple 25 25 0 20 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py DatasetType.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py _unpickle_via_factory 1 1 0 0 0 0%
python/lsst/daf/butler/_dataset_type.py (no function) 66 0 3 18 0 100%
python/lsst/daf/butler/_deferredDatasetHandle.py DeferredDatasetHandle.get 11 11 0 8 0 0%
python/lsst/daf/butler/_deferredDatasetHandle.py DeferredDatasetHandle.dataId 1 1 0 0 0 0%
python/lsst/daf/butler/_deferredDatasetHandle.py (no function) 18 0 5 4 0 100%
python/lsst/daf/butler/_exceptions.py ButlerUserError.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/_exceptions.py EmptyQueryResultError.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/_exceptions.py EmptyQueryResultError.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_exceptions.py create_butler_user_error 4 4 0 2 0 0%
python/lsst/daf/butler/_exceptions.py (no function) 42 0 0 2 0 100%
python/lsst/daf/butler/_exceptions_legacy.py (no function) 5 0 0 0 0 100%
python/lsst/daf/butler/_file_dataset.py FileDataset.__init__ 8 8 0 6 0 0%
python/lsst/daf/butler/_file_dataset.py FileDataset.__lt__ 3 3 0 2 0 0%
python/lsst/daf/butler/_file_dataset.py (no function) 15 0 0 2 0 100%
python/lsst/daf/butler/_file_descriptor.py FileDescriptor.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/_file_descriptor.py FileDescriptor.__repr__ 11 11 0 8 0 0%
python/lsst/daf/butler/_file_descriptor.py FileDescriptor.readStorageClass 3 3 0 2 0 0%
python/lsst/daf/butler/_file_descriptor.py (no function) 10 0 3 2 0 100%
python/lsst/daf/butler/_formatter.py Formatter.__init__ 16 16 0 10 0 0%
python/lsst/daf/butler/_formatter.py Formatter.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py Formatter.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py Formatter.fileDescriptor 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py Formatter.dataId 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py Formatter.writeParameters 3 3 0 2 0 0%
python/lsst/daf/butler/_formatter.py Formatter.writeRecipes 3 3 0 2 0 0%
python/lsst/daf/butler/_formatter.py Formatter.validateWriteRecipes 3 3 0 2 0 0%
python/lsst/daf/butler/_formatter.py Formatter.name 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py Formatter.read 0 0 1 0 0 100%
python/lsst/daf/butler/_formatter.py Formatter.write 0 0 1 0 0 100%
python/lsst/daf/butler/_formatter.py Formatter.can_read_bytes 7 7 0 2 0 0%
python/lsst/daf/butler/_formatter.py Formatter.fromBytes 0 0 1 0 0 100%
python/lsst/daf/butler/_formatter.py Formatter.toBytes 0 0 1 0 0 100%
python/lsst/daf/butler/_formatter.py Formatter._updateLocation 7 7 0 4 0 0%
python/lsst/daf/butler/_formatter.py Formatter.makeUpdatedLocation 5 5 1 0 0 0%
python/lsst/daf/butler/_formatter.py Formatter.validateExtension 11 11 1 6 0 0%
python/lsst/daf/butler/_formatter.py Formatter.predictPath 2 2 0 0 0 0%
python/lsst/daf/butler/_formatter.py Formatter.segregateParameters 12 12 0 10 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.registerFormatters 35 35 0 24 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.getLookupKeys 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.getFormatterClassWithMatch 4 4 0 0 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.getFormatterClass 2 2 0 0 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.getFormatterWithMatch 4 4 0 0 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.getFormatter 2 2 0 0 0 0%
python/lsst/daf/butler/_formatter.py FormatterFactory.registerFormatter 1 1 0 0 0 0%
python/lsst/daf/butler/_formatter.py (no function) 68 0 6 22 0 100%
python/lsst/daf/butler/_labeled_butler_factory.py LabeledButlerFactory.__init__ 6 6 0 2 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py LabeledButlerFactory.create_butler 2 2 0 0 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py LabeledButlerFactory._get_or_create_butler_factory_function 5 5 0 4 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py LabeledButlerFactory._create_butler_factory_function 10 10 0 4 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py LabeledButlerFactory._get_config_uri 6 6 0 4 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py _create_direct_butler_factory 7 7 0 2 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py _create_direct_butler_factory.create_butler 1 1 0 0 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py _create_remote_butler_factory 4 4 0 0 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py _create_remote_butler_factory.create_butler 3 3 0 2 0 0%
python/lsst/daf/butler/_labeled_butler_factory.py (no function) 18 0 0 0 0 100%
python/lsst/daf/butler/_limited_butler.py LimitedButler.isWriteable 0 0 1 0 0 100%
python/lsst/daf/butler/_limited_butler.py LimitedButler.put 0 0 1 0 0 100%
python/lsst/daf/butler/_limited_butler.py LimitedButler.get 2 2 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.getDeferred 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.get_datastore_names 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.get_datastore_roots 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.getURIs 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.getURI 4 4 0 2 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.get_many_uris 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.stored 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.stored_many 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.markInputUnused 1 1 0 0 0 0%
python/lsst/daf/butler/_limited_butler.py LimitedButler.pruneDatasets 0 0 1 0 0 100%
python/lsst/daf/butler/_limited_butler.py LimitedButler.dimensions 0 0 1 0 0 100%
python/lsst/daf/butler/_limited_butler.py (no function) 39 0 0 12 0 100%
python/lsst/daf/butler/_location.py Location.__init__ 19 19 0 16 0 0%
python/lsst/daf/butler/_location.py Location.clone 5 5 0 0 0 0%
python/lsst/daf/butler/_location.py Location.__copy__ 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py Location.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py Location.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py Location.__repr__ 3 3 0 0 0 0%
python/lsst/daf/butler/_location.py Location.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/_location.py Location.uri 7 7 0 4 0 0%
python/lsst/daf/butler/_location.py Location.path 5 5 0 0 0 0%
python/lsst/daf/butler/_location.py Location.pathInStore 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py Location.netloc 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py Location.relativeToPathRoot 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py Location.updateExtension 4 4 0 2 0 0%
python/lsst/daf/butler/_location.py Location.getExtension 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py LocationFactory.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py LocationFactory.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py LocationFactory.netloc 1 1 0 0 0 0%
python/lsst/daf/butler/_location.py LocationFactory.fromPath 2 2 0 0 0 0%
python/lsst/daf/butler/_location.py LocationFactory.from_uri 3 3 0 2 0 0%
python/lsst/daf/butler/_location.py (no function) 32 0 0 12 0 100%
python/lsst/daf/butler/_named.py Named.name 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyMapping.names 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedKeyMapping.byName 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyMapping.keys 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedKeyMapping.__getitem__ 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedKeyMapping.get 1 0 0 3 1 75%
python/lsst/daf/butler/_named.py NamedKeyMapping.get 1 0 0 3 1 75%
python/lsst/daf/butler/_named.py NamedKeyMapping.get 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyMutableMapping.__setitem__ 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedKeyMutableMapping.__delitem__ 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedKeyMutableMapping.pop 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__init__ 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.names 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.byName 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__str__ 1 1 0 2 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__repr__ 1 1 0 2 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__getitem__ 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__setitem__ 5 5 0 2 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.__delitem__ 5 5 0 2 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.keys 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.values 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.items 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.copy 4 4 0 0 0 0%
python/lsst/daf/butler/_named.py NamedKeyDict.freeze 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py NamedValueAbstractSet.names 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedValueAbstractSet.asMapping 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedValueAbstractSet.__getitem__ 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedValueAbstractSet.get 1 0 0 3 1 75%
python/lsst/daf/butler/_named.py NamedValueAbstractSet.get 1 0 0 3 1 75%
python/lsst/daf/butler/_named.py NamedValueAbstractSet.get 4 4 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueAbstractSet._from_iterable 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__init__ 1 0 0 0 0 100%
python/lsst/daf/butler/_named.py NameMappingSetView.names 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.asMapping 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__getitem__ 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__le__ 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__ge__ 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__str__ 1 1 0 2 0 0%
python/lsst/daf/butler/_named.py NameMappingSetView.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueMutableSet.__delitem__ 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedValueMutableSet.remove 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedValueMutableSet.discard 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedValueMutableSet.pop 0 0 1 0 0 100%
python/lsst/daf/butler/_named.py NamedValueSet.__init__ 1 0 0 2 0 100%
python/lsst/daf/butler/_named.py NamedValueSet.__repr__ 1 1 0 2 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.issubset 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.issuperset 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.__delitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.add 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.clear 1 1 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.remove 2 2 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.discard 2 2 0 2 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.pop 8 8 0 2 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.update 2 2 0 2 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.copy 3 3 0 0 0 0%
python/lsst/daf/butler/_named.py NamedValueSet.freeze 3 3 0 2 0 0%
python/lsst/daf/butler/_named.py (no function) 108 0 0 40 0 100%
python/lsst/daf/butler/_quantum.py _reconstructDatasetRef 10 10 0 6 0 0%
python/lsst/daf/butler/_quantum.py SerializedQuantum.direct 9 9 0 12 0 0%
python/lsst/daf/butler/_quantum.py Quantum.__init__ 19 19 0 18 0 0%
python/lsst/daf/butler/_quantum.py Quantum.to_simple 62 62 0 40 0 0%
python/lsst/daf/butler/_quantum.py Quantum.from_simple 21 21 0 12 0 0%
python/lsst/daf/butler/_quantum.py Quantum.taskClass 6 6 0 4 0 0%
python/lsst/daf/butler/_quantum.py Quantum.taskName 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.dataId 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.initInputs 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.inputs 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.outputs 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.datastore_records 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.__eq__ 6 6 0 6 0 0%
python/lsst/daf/butler/_quantum.py Quantum.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py Quantum._reduceFactory 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py DimensionRecordsAccumulator.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/_quantum.py DimensionRecordsAccumulator.addRecord 6 6 0 2 0 0%
python/lsst/daf/butler/_quantum.py DimensionRecordsAccumulator.makeSerializedDimensionRecordMapping 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum.py (no function) 54 0 0 20 0 100%
python/lsst/daf/butler/_quantum_backed.py _DatasetRecordStorageManagerDatastoreConstructionMimic.getIdColumnType 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py _DatasetRecordStorageManagerDatastoreConstructionMimic.addDatasetForeignKey 3 3 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.__init__ 13 13 0 2 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.initialize 4 4 0 6 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.from_predicted 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler._initialize 13 13 0 4 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler._retrieve_dataset_type 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.isWriteable 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.get 9 9 0 2 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.getDeferred 3 3 0 2 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.stored 6 6 0 4 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.stored_many 7 7 0 6 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.markInputUnused 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.put 5 5 0 2 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.pruneDatasets 18 18 0 20 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumBackedButler.extract_provenance_data 9 9 0 8 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumProvenanceData.collect_and_transfer 14 14 0 12 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumProvenanceData.parse_raw 0 0 1 0 0 100%
python/lsst/daf/butler/_quantum_backed.py QuantumProvenanceData.direct 3 3 0 2 0 0%
python/lsst/daf/butler/_quantum_backed.py QuantumProvenanceData.direct._to_uuid_set 1 1 0 2 0 0%
python/lsst/daf/butler/_quantum_backed.py (no function) 71 0 2 18 0 100%
python/lsst/daf/butler/_registry_shim.py RegistryShim.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.isWriteable 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.defaults 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.defaults 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.refresh 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.caching_context 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.transaction 2 2 0 2 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.resetConnectionPool 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.registerCollection 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getCollectionType 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.registerRun 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.removeCollection 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getCollectionChain 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.setCollectionChain 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getCollectionParentChains 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getCollectionDocumentation 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.setCollectionDocumentation 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getCollectionSummary 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.registerDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.removeDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.supportsIdGenerationMode 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.findDataset 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.insertDatasets 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim._importDatasets 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getDataset 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.removeDatasets 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.associate 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.disassociate 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.certify 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.decertify 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.getDatasetLocations 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.expandDataId 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.insertDimensionData 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.syncDimensionData 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.queryDatasetTypes 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.queryCollections 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.queryDatasets 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.queryDataIds 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.queryDimensionRecords 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.queryDatasetAssociations 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py RegistryShim.obsCoreTableManager 1 1 0 0 0 0%
python/lsst/daf/butler/_registry_shim.py (no function) 66 0 4 10 0 100%
python/lsst/daf/butler/_storage_class.py StorageClass.__init__ 45 5 0 28 8 82%
python/lsst/daf/butler/_storage_class.py StorageClass.components 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.derivedComponents 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.converters 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass._get_converters_by_type 23 23 0 8 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.parameters 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.pytype 7 7 0 4 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.delegateClass 7 7 0 4 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.allComponents 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.delegate 4 4 0 2 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.isComposite 3 3 0 2 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass._lookupNames 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.knownParameters 4 4 0 2 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.validateParameters 8 8 0 4 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.filterParameters 12 12 0 10 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.validateInstance 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.is_type 11 11 0 6 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.can_convert 16 16 0 8 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.coerce_type 12 12 0 8 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.__eq__ 13 13 0 14 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.__repr__ 17 17 0 14 0 0%
python/lsst/daf/butler/_storage_class.py StorageClass.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.__init__ 6 1 0 2 1 75%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.__str__ 3 3 0 4 0 0%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.__contains__ 6 3 0 6 1 50%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.addFromConfig 9 0 0 6 0 100%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.addFromConfig.processStorageClass 31 4 0 22 3 87%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.makeNewStorageClass 21 2 0 16 2 89%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.getStorageClass 2 0 0 2 0 100%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.findStorageClass 9 9 0 8 0 0%
python/lsst/daf/butler/_storage_class.py StorageClassFactory._find_storage_class 5 5 0 6 0 0%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.registerStorageClass 9 6 0 8 1 35%
python/lsst/daf/butler/_storage_class.py StorageClassFactory._unregisterStorageClass 2 2 0 2 0 0%
python/lsst/daf/butler/_storage_class.py StorageClassFactory.reset 3 3 0 2 0 0%
python/lsst/daf/butler/_storage_class.py (no function) 70 0 0 14 0 100%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate._attrNames 7 7 0 2 0 0%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate.assemble 29 29 0 18 0 0%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate.getComponent 12 12 0 8 0 0%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate.disassemble 25 25 0 16 0 0%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate.handleParameters 3 3 0 2 0 0%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate.selectResponsibleComponent 0 0 1 0 0 100%
python/lsst/daf/butler/_storage_class_delegate.py StorageClassDelegate.copy 3 3 1 0 0 0%
python/lsst/daf/butler/_storage_class_delegate.py (no function) 29 0 2 6 0 100%
python/lsst/daf/butler/_timespan.py Timespan.__init__ 35 35 0 32 0 0%
python/lsst/daf/butler/_timespan.py Timespan.makeEmpty 2 2 0 0 0 0%
python/lsst/daf/butler/_timespan.py Timespan.fromInstant 5 5 0 2 0 0%
python/lsst/daf/butler/_timespan.py Timespan.from_day_obs 9 9 0 4 0 0%
python/lsst/daf/butler/_timespan.py Timespan.begin 5 5 0 4 0 0%
python/lsst/daf/butler/_timespan.py Timespan.end 5 5 0 4 0 0%
python/lsst/daf/butler/_timespan.py Timespan.isEmpty 1 1 0 0 0 0%
python/lsst/daf/butler/_timespan.py Timespan.__str__ 16 16 0 10 0 0%
python/lsst/daf/butler/_timespan.py Timespan.__repr__ 4 4 0 0 0 0%
python/lsst/daf/butler/_timespan.py Timespan.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/_timespan.py Timespan.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/_timespan.py Timespan.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/_timespan.py Timespan.__lt__ 4 4 0 2 0 0%
python/lsst/daf/butler/_timespan.py Timespan.__gt__ 4 4 0 2 0 0%
python/lsst/daf/butler/_timespan.py Timespan.overlaps 3 3 0 2 0 0%
python/lsst/daf/butler/_timespan.py Timespan.contains 4 4 0 2 0 0%
python/lsst/daf/butler/_timespan.py Timespan.intersection 8 8 0 6 0 0%
python/lsst/daf/butler/_timespan.py Timespan.difference 9 9 0 8 0 0%
python/lsst/daf/butler/_timespan.py Timespan.to_yaml 3 3 0 2 0 0%
python/lsst/daf/butler/_timespan.py Timespan.from_yaml 6 6 0 4 0 0%
python/lsst/daf/butler/_timespan.py Timespan._validate 5 5 0 4 0 0%
python/lsst/daf/butler/_timespan.py Timespan._serialize 1 1 0 0 0 0%
python/lsst/daf/butler/_timespan.py (no function) 62 2 0 30 0 98%
python/lsst/daf/butler/_topology.py TopologicalFamily.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/_topology.py TopologicalFamily.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/_topology.py TopologicalFamily.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/_topology.py TopologicalFamily.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/_topology.py TopologicalFamily.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/_topology.py TopologicalFamily.choose 0 0 1 0 0 100%
python/lsst/daf/butler/_topology.py TopologicalRelationshipEndpoint.name 0 0 1 0 0 100%
python/lsst/daf/butler/_topology.py TopologicalRelationshipEndpoint.topology 0 0 1 0 0 100%
python/lsst/daf/butler/_topology.py TopologicalRelationshipEndpoint.spatial 1 1 0 0 0 0%
python/lsst/daf/butler/_topology.py TopologicalRelationshipEndpoint.temporal 1 1 0 0 0 0%
python/lsst/daf/butler/_topology.py (no function) 38 0 2 24 0 100%
python/lsst/daf/butler/_utilities/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/_utilities/locked_object.py LockedObject.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/_utilities/locked_object.py LockedObject.access 2 2 0 2 0 0%
python/lsst/daf/butler/_utilities/locked_object.py (no function) 9 0 0 2 0 100%
python/lsst/daf/butler/_utilities/named_locks.py NamedLocks.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/_utilities/named_locks.py NamedLocks.lock 2 2 0 2 0 0%
python/lsst/daf/butler/_utilities/named_locks.py NamedLocks._get_lock 6 6 0 4 0 0%
python/lsst/daf/butler/_utilities/named_locks.py (no function) 8 0 0 2 0 100%
python/lsst/daf/butler/_utilities/thread_safe_cache.py ThreadSafeCache.__init__ 2 0 0 0 0 100%
python/lsst/daf/butler/_utilities/thread_safe_cache.py ThreadSafeCache.get 2 2 0 2 0 0%
python/lsst/daf/butler/_utilities/thread_safe_cache.py ThreadSafeCache.set_or_get 2 2 0 2 0 0%
python/lsst/daf/butler/_utilities/thread_safe_cache.py (no function) 8 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py ToArrow.for_primitive 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py ToArrow.for_uuid 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py ToArrow.for_region 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py ToArrow.for_timespan 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py ToArrow.for_datetime 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py ToArrow.name 0 0 1 0 0 100%
python/lsst/daf/butler/arrow_utils.py ToArrow.nullable 0 0 1 0 0 100%
python/lsst/daf/butler/arrow_utils.py ToArrow.data_type 0 0 1 0 0 100%
python/lsst/daf/butler/arrow_utils.py ToArrow.field 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py ToArrow.dictionary_encoded 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py ToArrow.append 0 0 1 0 0 100%
python/lsst/daf/butler/arrow_utils.py ToArrow.finish 0 0 1 0 0 100%
python/lsst/daf/butler/arrow_utils.py _ToArrowPrimitive.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowPrimitive.name 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowPrimitive.nullable 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowPrimitive.data_type 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowPrimitive.append 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowPrimitive.finish 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDictionary.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDictionary.name 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDictionary.nullable 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDictionary.data_type 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDictionary.append 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDictionary.finish 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowUUID.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowUUID.name 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowUUID.nullable 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowUUID.data_type 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowUUID.append 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowUUID.finish 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowRegion.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowRegion.name 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowRegion.nullable 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowRegion.data_type 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowRegion.append 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowRegion.finish 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowTimespan.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowTimespan.name 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowTimespan.nullable 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowTimespan.data_type 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowTimespan.append 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowTimespan.finish 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDateTime.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDateTime.name 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDateTime.nullable 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDateTime.data_type 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDateTime.append 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py _ToArrowDateTime.finish 2 2 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py UUIDArrowType.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py UUIDArrowType.__arrow_ext_serialize__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py UUIDArrowType.__arrow_ext_deserialize__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py UUIDArrowType.__arrow_ext_scalar_class__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py UUIDArrowScalar.as_py 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py RegionArrowType.__init__ 1 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py RegionArrowType.__arrow_ext_serialize__ 1 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py RegionArrowType.__arrow_ext_deserialize__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py RegionArrowType.__arrow_ext_scalar_class__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py RegionArrowScalar.as_py 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py TimespanArrowType.__init__ 1 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py TimespanArrowType.__arrow_ext_serialize__ 1 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py TimespanArrowType.__arrow_ext_deserialize__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py TimespanArrowType.__arrow_ext_scalar_class__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py TimespanArrowScalar.as_py 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py DateTimeArrowType.__init__ 1 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py DateTimeArrowType.__arrow_ext_serialize__ 1 0 0 0 0 100%
python/lsst/daf/butler/arrow_utils.py DateTimeArrowType.__arrow_ext_deserialize__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py DateTimeArrowType.__arrow_ext_scalar_class__ 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py DateTimeArrowScalar.as_py 1 1 0 0 0 0%
python/lsst/daf/butler/arrow_utils.py (no function) 144 0 0 94 0 100%
python/lsst/daf/butler/cli/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/cli/butler.py _importPlugin 6 6 0 0 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI.__init__ 1 0 0 0 0 100%
python/lsst/daf/butler/cli/butler.py LoaderCLI.localCmdPkg 0 0 1 0 0 100%
python/lsst/daf/butler/cli/butler.py LoaderCLI.getLocalCommands 5 5 0 4 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI.list_commands 4 4 0 0 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI.get_command 12 12 0 6 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI._setupLogging 6 6 0 4 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI.getPluginList 6 6 0 6 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI._funcNameToCmdName 1 1 0 0 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI._cmdNameToFuncName 1 1 0 0 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI._mergeCommandLists 3 3 0 2 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI._getPluginCommands 14 14 0 8 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI._getCommands 1 1 0 0 0 0%
python/lsst/daf/butler/cli/butler.py LoaderCLI._raiseIfDuplicateCommands 6 6 0 6 0 0%
python/lsst/daf/butler/cli/butler.py ButlerCLI._funcNameToCmdName 3 3 0 2 0 0%
python/lsst/daf/butler/cli/butler.py ButlerCLI._cmdNameToFuncName 3 3 0 2 0 0%
python/lsst/daf/butler/cli/butler.py cli 1 1 0 0 0 0%
python/lsst/daf/butler/cli/butler.py main 1 1 0 0 0 0%
python/lsst/daf/butler/cli/butler.py (no function) 57 0 0 40 0 100%
python/lsst/daf/butler/cli/cliLog.py PrecisionLogFormatter.formatTime 7 7 0 4 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog.root_loggers 5 1 0 2 1 71%
python/lsst/daf/butler/cli/cliLog.py CliLog.initLog 35 35 0 18 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog.resetLog 16 16 0 8 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog.setLogLevels 5 5 0 4 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog._setLogLevel 13 13 0 10 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog._getPyLogLevel 5 5 0 4 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog._getLsstLogLevel 8 8 0 6 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog.ComponentSettings.__init__ 5 5 0 2 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog.ComponentSettings.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog._recordComponentSetting 2 2 0 0 0 0%
python/lsst/daf/butler/cli/cliLog.py CliLog.replayConfigState 7 7 0 4 0 0%
python/lsst/daf/butler/cli/cliLog.py (no function) 50 2 0 18 0 97%
python/lsst/daf/butler/cli/cmd/__init__.py (no function) 4 0 0 0 0 100%
python/lsst/daf/butler/cli/cmd/_remove_collections.py remove_collections 27 27 0 16 0 0%
python/lsst/daf/butler/cli/cmd/_remove_collections.py (no function) 19 0 0 12 0 100%
python/lsst/daf/butler/cli/cmd/_remove_runs.py _quoted 1 1 0 2 0 0%
python/lsst/daf/butler/cli/cmd/_remove_runs.py _print_remove 8 8 0 6 0 0%
python/lsst/daf/butler/cli/cmd/_remove_runs.py _print_requires_confirmation 4 4 0 4 0 0%
python/lsst/daf/butler/cli/cmd/_remove_runs.py remove_runs 17 17 0 9 0 0%
python/lsst/daf/butler/cli/cmd/_remove_runs.py (no function) 31 0 0 16 0 100%
python/lsst/daf/butler/cli/cmd/commands.py associate 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py butler_import 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py create 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py config_dump 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py config_validate 3 3 0 2 0 0%
python/lsst/daf/butler/cli/cmd/commands.py prune_datasets 42 42 0 30 0 0%
python/lsst/daf/butler/cli/cmd/commands.py query_collections 3 3 0 2 0 0%
python/lsst/daf/butler/cli/cmd/commands.py query_dataset_types 8 8 0 4 0 0%
python/lsst/daf/butler/cli/cmd/commands.py remove_dataset_type 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py query_datasets 4 4 0 2 0 0%
python/lsst/daf/butler/cli/cmd/commands.py certify_calibrations 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py query_data_ids 8 8 0 6 0 0%
python/lsst/daf/butler/cli/cmd/commands.py query_dimension_records 4 4 0 2 0 0%
python/lsst/daf/butler/cli/cmd/commands.py retrieve_artifacts 8 8 0 4 0 0%
python/lsst/daf/butler/cli/cmd/commands.py transfer_datasets 2 2 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py collection_chain 2 2 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py ingest_files 1 1 0 0 0 0%
python/lsst/daf/butler/cli/cmd/commands.py register_dataset_type 4 4 0 2 0 0%
python/lsst/daf/butler/cli/cmd/commands.py export_calibs 3 3 0 2 0 0%
python/lsst/daf/butler/cli/cmd/commands.py (no function) 191 0 0 324 0 100%
python/lsst/daf/butler/cli/opt/__init__.py (no function) 3 0 0 0 0 100%
python/lsst/daf/butler/cli/opt/arguments.py (no function) 11 0 0 0 0 100%
python/lsst/daf/butler/cli/opt/optionGroups.py query_datasets_options.__init__ 11 1 0 8 1 89%
python/lsst/daf/butler/cli/opt/optionGroups.py (no function) 7 0 0 0 0 100%
python/lsst/daf/butler/cli/opt/options.py CollectionTypeCallback.makeCollectionTypes 3 3 0 4 0 0%
python/lsst/daf/butler/cli/opt/options.py _config_split 3 3 0 0 0 0%
python/lsst/daf/butler/cli/opt/options.py (no function) 41 0 0 4 0 100%
python/lsst/daf/butler/cli/progress.py ClickProgressHandler.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/cli/progress.py ClickProgressHandler.callback 3 3 0 2 0 0%
python/lsst/daf/butler/cli/progress.py ClickProgressHandler.option 1 0 0 0 0 100%
python/lsst/daf/butler/cli/progress.py ClickProgressHandler.get_progress_bar 1 1 0 0 0 0%
python/lsst/daf/butler/cli/progress.py (no function) 15 0 0 4 0 100%
python/lsst/daf/butler/cli/utils.py astropyTablesToStr 6 6 0 2 0 0%
python/lsst/daf/butler/cli/utils.py printAstropyTables 4 4 0 2 0 0%
python/lsst/daf/butler/cli/utils.py textTypeStr 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py LogCliRunner.invoke 3 3 0 0 0 0%
python/lsst/daf/butler/cli/utils.py clickResultMsg 4 4 0 2 0 0%
python/lsst/daf/butler/cli/utils.py command_test_env 5 5 0 6 0 0%
python/lsst/daf/butler/cli/utils.py addArgumentHelp 12 2 0 6 2 78%
python/lsst/daf/butler/cli/utils.py split_commas 29 29 0 22 0 0%
python/lsst/daf/butler/cli/utils.py split_kv 36 36 0 22 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.norm 6 6 0 6 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetDict.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetDict.add 3 3 0 2 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetDict.get 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetTuple.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetTuple.add 3 3 0 2 0 0%
python/lsst/daf/butler/cli/utils.py split_kv.RetTuple.get 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py to_upper 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py unwrap 2 0 0 2 0 100%
python/lsst/daf/butler/cli/utils.py unwrap.splitSection 5 1 0 2 1 71%
python/lsst/daf/butler/cli/utils.py option_section.__init__ 1 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py option_section.__call__ 1 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py MWPath.__init__ 4 0 0 2 1 83%
python/lsst/daf/butler/cli/utils.py MWPath.convert 3 3 0 2 0 0%
python/lsst/daf/butler/cli/utils.py MWOption.make_metavar 6 6 0 4 0 0%
python/lsst/daf/butler/cli/utils.py MWArgument.make_metavar 4 4 0 2 0 0%
python/lsst/daf/butler/cli/utils.py OptionSection.hidden 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py OptionSection.hidden 1 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py OptionSection.__init__ 2 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py OptionSection.get_help_record 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py MWOptionDecorator.__init__ 4 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py MWOptionDecorator.name 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py MWOptionDecorator.opts 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py MWOptionDecorator.help 1 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py MWOptionDecorator.__call__ 1 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py MWArgumentDecorator.__init__ 2 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py MWArgumentDecorator.__call__ 2 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py MWArgumentDecorator.__call__.decorator 5 0 0 4 0 100%
python/lsst/daf/butler/cli/utils.py MWCommand.__init__ 5 0 0 2 1 86%
python/lsst/daf/butler/cli/utils.py MWCommand._capture_args 23 23 1 12 0 0%
python/lsst/daf/butler/cli/utils.py MWCommand.parse_args 2 2 0 0 0 0%
python/lsst/daf/butler/cli/utils.py MWCommand.epilog 6 6 0 4 0 0%
python/lsst/daf/butler/cli/utils.py MWCommand.epilog 1 0 0 0 0 100%
python/lsst/daf/butler/cli/utils.py OptionGroup.__call__ 3 0 0 2 0 100%
python/lsst/daf/butler/cli/utils.py MWCtxObj.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/cli/utils.py MWCtxObj.getFrom 4 4 0 2 0 0%
python/lsst/daf/butler/cli/utils.py yaml_presets 17 17 0 6 0 0%
python/lsst/daf/butler/cli/utils.py yaml_presets._name_for_option 4 4 0 5 0 0%
python/lsst/daf/butler/cli/utils.py _read_yaml_presets 3 3 0 0 0 0%
python/lsst/daf/butler/cli/utils.py sortAstropyTable 11 11 0 4 0 0%
python/lsst/daf/butler/cli/utils.py catch_and_exit 3 0 0 2 0 100%
python/lsst/daf/butler/cli/utils.py catch_and_exit.inner 13 13 0 4 0 0%
python/lsst/daf/butler/cli/utils.py (no function) 90 0 3 14 0 100%
python/lsst/daf/butler/column_spec.py _BaseColumnSpec.to_sql_spec 4 4 0 2 0 0%
python/lsst/daf/butler/column_spec.py _BaseColumnSpec.to_arrow 0 0 1 0 0 100%
python/lsst/daf/butler/column_spec.py _BaseColumnSpec.display 5 5 0 2 0 0%
python/lsst/daf/butler/column_spec.py _BaseColumnSpec.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py IntColumnSpec.to_arrow 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py StringColumnSpec.to_sql_spec 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py StringColumnSpec.to_arrow 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py HashColumnSpec.to_sql_spec 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py HashColumnSpec.to_arrow 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py FloatColumnSpec.to_arrow 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py BoolColumnSpec.to_arrow 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py UUIDColumnSpec.to_arrow 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py RegionColumnSpec.to_arrow 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py TimespanColumnSpec.to_arrow 1 1 0 0 0 0%
python/lsst/daf/butler/column_spec.py DateTimeColumnSpec.to_arrow 2 2 0 0 0 0%
python/lsst/daf/butler/column_spec.py (no function) 81 0 0 20 0 100%
python/lsst/daf/butler/datastore/__init__.py (no function) 1 0 0 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py IngestPrepData.__init__ 1 1 0 2 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatastoreTransaction.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatastoreTransaction.registerUndo 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatastoreTransaction.undoWith 5 5 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatastoreTransaction.rollback 12 12 0 4 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatastoreTransaction.commit 3 3 0 2 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatasetRefURIs.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatasetRefURIs.__getitem__ 5 5 0 4 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatasetRefURIs.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py DatasetRefURIs.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.setConfigRoot 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.fromConfig 5 5 0 2 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.__init__ 6 6 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore._create_from_config 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.clone 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.names 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.roots 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.transaction 8 8 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore._set_trust_mode 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.knows 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.knows_these 1 1 0 2 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.mexists 4 4 0 2 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.exists 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.get 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.prepare_get_for_external_client 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.put 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.put_new 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore._overrideTransferMode 3 3 0 2 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore._prepIngest 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore._finishIngest 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.ingest 11 11 0 8 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.transfer_from 2 2 1 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.getManyURIs 11 11 0 4 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.getURIs 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.getURI 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.retrieveArtifacts 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.remove 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.forget 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.trash 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.emptyTrash 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.transfer 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.export 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.validateConfiguration 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.validateKey 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.getLookupKeys 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.needs_expanded_data_ids 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.import_records 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.export_records 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py Datastore.set_retrieve_dataset_type_method 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py Datastore.get_opaque_table_definitions 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore._create_from_config 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.clone 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.setConfigRoot 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.knows 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.exists 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.get 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.put 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.put_new 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.ingest 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.transfer_from 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.getURIs 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.getURI 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.retrieveArtifacts 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.remove 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.forget 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.trash 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.emptyTrash 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.transfer 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.export 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.validateConfiguration 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.validateKey 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.getLookupKeys 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.import_records 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.export_records 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/_datastore.py NullDatastore.get_opaque_table_definitions 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/_datastore.py (no function) 170 0 10 72 0 100%
python/lsst/daf/butler/datastore/cache_manager.py remove_cache_directory 2 2 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py _construct_cache_path 3 3 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py _parse_cache_name 7 7 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheEntry.from_file 6 6 0 2 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.cache_size 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.__setitem__ 5 5 0 2 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.__delitem__ 3 3 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry._decrement 5 5 0 4 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.keys 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.values 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.items 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.pop 11 11 0 8 0 0%
python/lsst/daf/butler/datastore/cache_manager.py CacheRegistry.get_dataset_keys 6 6 0 4 0 0%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.cache_size 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.file_count 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.__init__ 4 4 0 2 0 0%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.should_be_cached 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.known_to_cache 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.move_to_cache 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.find_in_cache 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.remove_from_cache 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py AbstractDatastoreCacheManager.__str__ 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.__init__ 25 25 0 12 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.cache_directory 12 12 0 6 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager._temp_exempt_directory 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.cache_size 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.file_count 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.set_fallback_cache_directory_if_unset 9 9 0 4 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.should_be_cached 11 11 0 6 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager._construct_cache_name 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.move_to_cache 11 11 0 4 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.find_in_cache 30 30 0 8 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.remove_from_cache 10 10 0 10 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager._register_cache_entry 13 13 0 6 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.scan_cache 14 14 0 10 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.known_to_cache 11 11 0 6 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager._remove_from_cache 6 6 0 4 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager._expire_cache 42 42 0 30 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager._sort_cache 2 2 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager._sort_cache._sort_by_time 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreCacheManager.__str__ 2 2 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager.should_be_cached 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager.move_to_cache 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager.find_in_cache 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager.remove_from_cache 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager.known_to_cache 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py DatastoreDisabledCacheManager.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/cache_manager.py (no function) 121 0 5 38 0 100%
python/lsst/daf/butler/datastore/composites.py CompositesConfig.validate 4 4 0 4 0 0%
python/lsst/daf/butler/datastore/composites.py CompositesMap.__init__ 9 9 0 6 0 0%
python/lsst/daf/butler/datastore/composites.py CompositesMap.shouldBeDisassembled 16 16 0 10 0 0%
python/lsst/daf/butler/datastore/composites.py CompositesMap.__str__ 6 6 0 2 0 0%
python/lsst/daf/butler/datastore/composites.py (no function) 19 0 8 0 0 100%
python/lsst/daf/butler/datastore/constraints.py Constraints.__init__ 10 10 0 8 0 0%
python/lsst/daf/butler/datastore/constraints.py Constraints.__str__ 5 5 0 6 0 0%
python/lsst/daf/butler/datastore/constraints.py Constraints.isAcceptable 15 15 0 10 0 0%
python/lsst/daf/butler/datastore/constraints.py Constraints.getLookupKeys 2 2 0 2 0 0%
python/lsst/daf/butler/datastore/constraints.py (no function) 20 0 5 0 0 100%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.__init__ 13 13 0 8 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.templates 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.validateTemplates 27 27 0 16 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.getLookupKeys 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.getTemplateWithMatch 12 12 0 6 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplates.getTemplate 2 2 0 0 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.__init__ 4 4 0 2 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.grouped_fields 21 21 0 12 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.fields 13 13 0 10 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.format 75 75 0 48 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate.validateTemplate 51 51 0 30 0 0%
python/lsst/daf/butler/datastore/file_templates.py FileTemplate._determine_skypix_alias 6 6 0 4 0 0%
python/lsst/daf/butler/datastore/file_templates.py (no function) 48 0 3 2 0 100%
python/lsst/daf/butler/datastore/generic_base.py GenericBaseDatastore._validate_put_parameters 6 6 0 4 0 0%
python/lsst/daf/butler/datastore/generic_base.py GenericBaseDatastore.remove 2 2 0 0 0 0%
python/lsst/daf/butler/datastore/generic_base.py GenericBaseDatastore.transfer 3 3 0 0 0 0%
python/lsst/daf/butler/datastore/generic_base.py post_process_get 11 11 0 8 0 0%
python/lsst/daf/butler/datastore/generic_base.py (no function) 16 0 3 0 0 100%
python/lsst/daf/butler/datastore/record_data.py SerializedDatastoreRecordData.direct 2 2 0 2 0 0%
python/lsst/daf/butler/datastore/record_data.py DatastoreRecordData.update 5 5 0 6 0 0%
python/lsst/daf/butler/datastore/record_data.py DatastoreRecordData.subset 7 7 0 6 0 0%
python/lsst/daf/butler/datastore/record_data.py DatastoreRecordData.to_simple 8 8 0 6 0 0%
python/lsst/daf/butler/datastore/record_data.py DatastoreRecordData.from_simple 20 20 0 12 0 0%
python/lsst/daf/butler/datastore/record_data.py (no function) 29 0 2 6 0 100%
python/lsst/daf/butler/datastore/stored_file_info.py StoredDatastoreItemInfo.file_location 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/stored_file_info.py StoredDatastoreItemInfo.from_record 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/stored_file_info.py StoredDatastoreItemInfo.to_record 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/stored_file_info.py StoredDatastoreItemInfo.update 0 0 1 0 0 100%
python/lsst/daf/butler/datastore/stored_file_info.py StoredDatastoreItemInfo.to_records 5 5 0 6 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredDatastoreItemInfo.from_records 9 9 0 6 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.__init__ 11 11 0 4 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.rebase 4 4 0 2 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.to_record 4 4 0 2 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.to_simple 3 3 0 0 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.file_location 5 5 0 2 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.from_record 4 4 0 0 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.from_simple 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.update 8 8 0 6 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py StoredFileInfo.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastore/stored_file_info.py (no function) 64 0 2 12 0 100%
python/lsst/daf/butler/datastores/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/datastores/fileDatastore.py _IngestPrepData.__init__ 2 2 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.setConfigRoot 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.makeTableSpec 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.__init__ 21 21 0 4 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._create_from_config 17 17 0 6 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.clone 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.bridge 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.roots 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._set_trust_mode 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._artifact_exists 2 2 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._delete_artifact 11 11 0 4 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.addStoredItemInfo 10 10 0 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.getStoredItemsInfo 8 8 0 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._register_datasets 10 10 0 6 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._get_stored_records_associated_with_refs 14 14 0 14 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._refs_associated_with_artifacts 5 5 0 4 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._registered_refs_per_artifact 3 3 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.removeStoredItemInfo 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._get_dataset_locations_info 2 2 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._can_remove_dataset_artifact 9 9 0 6 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._get_expected_dataset_locations_info 12 12 0 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._prepare_for_direct_get 14 14 0 12 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._prepare_for_put 2 2 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._determine_put_formatter_location 13 13 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._overrideTransferMode 10 10 0 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._pathInStore 2 2 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._standardizeIngestPath 12 12 1 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._extractIngestInfo 38 38 0 24 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._prepIngest 16 16 0 10 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._finishIngest 17 17 0 14 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._calculate_ingested_datastore_name 7 7 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._write_in_memory_to_artifact 38 38 0 16 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._write_in_memory_to_artifact._removeFileExists 2 2 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.knows 4 4 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.knows_these 2 2 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._process_mexists_records 37 37 0 28 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.mexists 24 24 0 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._mexists 10 10 0 12 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._mexists_check_expected 14 14 0 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.exists 20 20 0 18 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.getURIs 2 2 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.getURI 4 4 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._predict_URIs 9 9 0 4 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.getManyURIs 26 26 0 22 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._locations_to_URI 20 20 0 16 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.retrieveArtifacts 15 15 0 10 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.get 4 4 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.prepare_get_for_external_client 5 5 0 4 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.put 13 13 0 6 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.put_new 15 15 0 8 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.trash 58 58 0 36 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.emptyTrash 27 27 0 18 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.transfer_from 75 75 0 54 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.forget 3 3 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.validateConfiguration 21 21 0 10 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.getLookupKeys 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.validateKey 5 5 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.export 36 36 1 24 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.computeChecksum 9 9 0 9 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.needs_expanded_data_ids 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.import_records 13 13 0 12 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.export_records 9 9 0 6 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.set_retrieve_dataset_type_method 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore._cast_storage_class 6 6 0 4 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py FileDatastore.get_opaque_table_definitions 1 1 0 0 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py _to_file_info_payload 8 8 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastore.py (no function) 126 0 3 26 0 100%
python/lsst/daf/butler/datastores/fileDatastoreClient.py get_dataset_as_python_object 3 3 0 2 0 0%
python/lsst/daf/butler/datastores/fileDatastoreClient.py (no function) 18 0 0 0 0 100%
python/lsst/daf/butler/datastores/file_datastore/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/datastores/file_datastore/get.py generate_datastore_get_information 15 15 0 6 0 0%
python/lsst/daf/butler/datastores/file_datastore/get.py _read_artifact_into_memory 53 53 0 26 0 0%
python/lsst/daf/butler/datastores/file_datastore/get.py _read_artifact_into_memory.check_resource_size 2 2 0 2 0 0%
python/lsst/daf/butler/datastores/file_datastore/get.py get_dataset_as_python_object_from_get_info 54 54 0 30 0 0%
python/lsst/daf/butler/datastores/file_datastore/get.py (no function) 32 0 0 2 0 100%
python/lsst/daf/butler/datastores/file_datastore/retrieve_artifacts.py determine_destination_for_retrieved_artifact 10 10 0 6 0 0%
python/lsst/daf/butler/datastores/file_datastore/retrieve_artifacts.py (no function) 4 0 0 0 0 100%
python/lsst/daf/butler/ddl.py SchemaValidationError.translate 2 0 0 0 0 100%
python/lsst/daf/butler/ddl.py SchemaValidationError.translate.decorate 2 0 0 0 0 100%
python/lsst/daf/butler/ddl.py SchemaValidationError.translate.decorate.decorated 4 4 0 0 0 0%
python/lsst/daf/butler/ddl.py Base64Bytes.__init__ 5 5 0 2 0 0%
python/lsst/daf/butler/ddl.py Base64Bytes.process_bind_param 5 5 0 4 0 0%
python/lsst/daf/butler/ddl.py Base64Bytes.process_result_value 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py Base64Bytes.python_type 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py Base64Region.process_bind_param 3 3 0 2 0 0%
python/lsst/daf/butler/ddl.py Base64Region.process_result_value 3 3 0 4 0 0%
python/lsst/daf/butler/ddl.py Base64Region.python_type 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py Base64Region.union_aggregate 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py AstropyTimeNsecTai.process_bind_param 6 6 0 4 0 0%
python/lsst/daf/butler/ddl.py AstropyTimeNsecTai.process_result_value 4 4 0 2 0 0%
python/lsst/daf/butler/ddl.py GUID.load_dialect_impl 3 3 0 2 0 0%
python/lsst/daf/butler/ddl.py GUID.process_bind_param 13 13 0 12 0 0%
python/lsst/daf/butler/ddl.py GUID.process_result_value 3 3 0 2 0 0%
python/lsst/daf/butler/ddl.py FieldSpec.__post_init__ 2 0 0 2 0 100%
python/lsst/daf/butler/ddl.py FieldSpec.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/ddl.py FieldSpec.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py FieldSpec.fromConfig 15 15 0 6 0 0%
python/lsst/daf/butler/ddl.py FieldSpec.for_region 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py FieldSpec.isStringType 3 3 0 2 0 0%
python/lsst/daf/butler/ddl.py FieldSpec.getSizedColumnType 7 7 0 6 0 0%
python/lsst/daf/butler/ddl.py FieldSpec.getPythonType 4 4 0 2 0 0%
python/lsst/daf/butler/ddl.py ForeignKeySpec.fromConfig 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py IndexSpec.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/ddl.py IndexSpec.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/ddl.py TableSpec.__init__ 7 0 0 0 0 100%
python/lsst/daf/butler/ddl.py TableSpec.fromConfig 1 1 0 2 0 0%
python/lsst/daf/butler/ddl.py (no function) 128 0 2 36 0 100%
python/lsst/daf/butler/delegates/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/delegates/arrowastropy.py ArrowAstropyDelegate.getComponent 8 8 0 6 0 0%
python/lsst/daf/butler/delegates/arrowastropy.py ArrowAstropyDelegate._getColumns 1 1 0 0 0 0%
python/lsst/daf/butler/delegates/arrowastropy.py ArrowAstropyDelegate._selectColumns 1 1 0 0 0 0%
python/lsst/daf/butler/delegates/arrowastropy.py (no function) 13 0 0 0 0 100%
python/lsst/daf/butler/delegates/arrownumpy.py ArrowNumpyDelegate.getComponent 8 8 0 6 0 0%
python/lsst/daf/butler/delegates/arrownumpy.py ArrowNumpyDelegate._getColumns 1 1 0 0 0 0%
python/lsst/daf/butler/delegates/arrownumpy.py ArrowNumpyDelegate._selectColumns 1 1 0 0 0 0%
python/lsst/daf/butler/delegates/arrownumpy.py (no function) 13 0 0 0 0 100%
python/lsst/daf/butler/delegates/arrowtable.py ArrowTableDelegate.getComponent 5 5 0 4 0 0%
python/lsst/daf/butler/delegates/arrowtable.py ArrowTableDelegate.handleParameters 13 13 1 10 0 0%
python/lsst/daf/butler/delegates/arrowtable.py ArrowTableDelegate._getColumns 1 1 0 0 0 0%
python/lsst/daf/butler/delegates/arrowtable.py ArrowTableDelegate._selectColumns 1 1 0 0 0 0%
python/lsst/daf/butler/delegates/arrowtable.py (no function) 15 0 0 0 0 100%
python/lsst/daf/butler/delegates/dataframe.py DataFrameDelegate.getComponent 9 9 0 8 0 0%
python/lsst/daf/butler/delegates/dataframe.py DataFrameDelegate.handleParameters 17 17 2 14 0 0%
python/lsst/daf/butler/delegates/dataframe.py DataFrameDelegate._getAllColumns 4 4 0 2 0 0%
python/lsst/daf/butler/delegates/dataframe.py (no function) 16 0 0 0 0 100%
python/lsst/daf/butler/dimensions/__init__.py (no function) 17 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_config.py DimensionConfig.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py DimensionConfig._updateWithConfigsFromPath 14 14 0 8 0 0%
python/lsst/daf/butler/dimensions/_config.py DimensionConfig._updateWithOtherConfigFile 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py DimensionConfig.makeBuilder 11 11 0 8 0 0%
python/lsst/daf/butler/dimensions/_config.py _SkyPixSystemConfig.has_dependencies_in 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py _SkyPixSystemConfig.visit 14 14 0 6 0 0%
python/lsst/daf/butler/dimensions/_config.py _SkyPixSectionConfig._move_extra_to_systems 6 6 0 4 0 0%
python/lsst/daf/butler/dimensions/_config.py _LegacyImpliedUnionDimensionStorage.implied_union_target 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py _LegacyCachingDimensionStorage.has_own_table 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py _LegacyCachingDimensionStorage.implied_union_target 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig.has_dependencies_in 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig.visit 23 23 0 12 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig._primary_key_types 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig._not_nullable_keys 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig._invalid_dimension_fields 6 6 0 6 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig._storage 16 16 0 14 0 0%
python/lsst/daf/butler/dimensions/_config.py _ElementConfig._relationship_dependencies 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_config.py (no function) 115 0 0 36 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py SerializedDataCoordinate.direct 11 11 0 8 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _intersectRegions 6 6 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.standardize 46 46 0 46 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.mapping 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.required 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.required_values 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.full_values 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.makeEmpty 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.make_empty 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.fromRequiredValues 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.from_required_values 6 6 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.fromFullValues 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.from_full_values 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.__bool__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.__lt__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.names 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.subset 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.union 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.expanded 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.universe 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.dimensions 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.graph 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.hasFull 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.full 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.values_tuple 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.hasRecords 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.records 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate._record 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.region 9 9 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.timespan 13 13 0 8 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.to_simple 4 4 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py DataCoordinate.from_simple 16 16 0 14 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView.keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullView.names 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.__repr__ 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.__str__ 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.__getitem__ 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRecordsView.names 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate.required 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate.__getitem__ 8 8 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate.byName 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate.hasRecords 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate._record 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py _BasicTupleDataCoordinate.__getattr__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRequiredMappingView.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRequiredMappingView.__getitem__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRequiredMappingView.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRequiredMappingView.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateRequiredMappingView.__repr__ 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullMappingView.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullMappingView.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullMappingView.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullMappingView.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _DataCoordinateFullMappingView.__repr__ 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.mapping 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.required_values 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.subset 6 6 0 8 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.union 6 6 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.full 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.expanded 4 4 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.hasFull 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _RequiredTupleDataCoordinate.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.mapping 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.required_values 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.full_values 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.subset 4 4 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.union 8 8 0 4 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.full 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.expanded 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.hasFull 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _FullTupleDataCoordinate.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.subset 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.expanded 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.union 6 6 0 6 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.hasRecords 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate._record 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.__getattr__ 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py _ExpandedTupleDataCoordinate.__dir__ 3 3 0 0 0 0%
python/lsst/daf/butler/dimensions/_coordinate.py (no function) 205 0 3 134 0 100%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.fromScalar 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.graph 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.dimensions 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.universe 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.hasFull 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.hasRecords 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.toSet 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.toSequence 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateIterable.subset 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.__contains__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.hasFull 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.hasRecords 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _ScalarDataCoordinateIterable.subset 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.__init__ 28 28 0 28 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.hasFull 3 3 0 4 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.hasRecords 3 3 0 4 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.toSet 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.toSequence 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase.__contains__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py _DataCoordinateCollectionBase._subsetKwargs 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__le__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__ge__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__lt__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__gt__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.issubset 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.issuperset 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.isdisjoint 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__and__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__or__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__xor__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.__sub__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.intersection 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.union 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.symmetric_difference 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.difference 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.toSet 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSet.subset 4 4 0 4 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.__getitem__ 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.toSequence 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py DataCoordinateSequence.subset 4 4 0 4 0 0%
python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py (no function) 94 0 0 30 0 100%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamily.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamily.choose 4 4 0 4 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamily.governor 8 8 0 4 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamilyConstructionVisitor.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamilyConstructionVisitor.has_dependencies_in 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseTopologicalFamilyConstructionVisitor.visit 8 8 0 6 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.__init__ 6 6 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.name 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.implied 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.metadata_columns 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.is_cached 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.documentation 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.topology 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.spatial 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionElement.temporal 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimension.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimension.required 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimension.unique_keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimension.implied_union_target 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionCombination.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionCombination.required 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionCombination.alwaysJoin 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionCombination.defines_relationships 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py DatabaseDimensionCombination.populated_by 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_database.py (no function) 58 0 3 36 0 100%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__eq__ 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__lt__ 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__le__ 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__gt__ 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__ge__ 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement._unpickle 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.to_simple 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.from_simple 7 7 0 6 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.hasTable 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.governor 6 6 0 4 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.required 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.implied 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.graph 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.minimal_group 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.RecordClass 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.alternate_keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.metadata_columns 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.metadata 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.viewOf 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.alwaysJoin 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.has_own_table 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.implied_union_target 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.defines_relationships 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.is_cached 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.populated_by 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.schema 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.documentation 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement._validate 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement._serialize 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py DimensionElement.__get_pydantic_core_schema__ 3 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py Dimension.unique_keys 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_elements.py Dimension.primary_key 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py Dimension.alternate_keys 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py Dimension.uniqueKeys 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_elements.py Dimension.primaryKey 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py Dimension.alternateKeys 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py Dimension.populated_by 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_elements.py Dimension.to_arrow 5 5 0 4 0 0%
python/lsst/daf/butler/dimensions/_elements.py (no function) 111 0 8 128 0 100%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.__init__ 9 9 0 4 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.name 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.required 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.implied 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.topology 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.metadata_columns 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.unique_keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.is_cached 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py GovernorDimension.documentation 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_governor.py (no function) 26 0 0 16 0 100%
python/lsst/daf/butler/dimensions/_graph.py SerializedDimensionGraph.direct 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.__init__ 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.asMapping 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.__contains__ 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.__iter__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.__eq__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.__le__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py _DimensionGraphNamedValueSet.__ge__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__new__ 8 8 0 8 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.universe 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.elements 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.governors 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.skypix 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.required 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.implied 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__getnewargs__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.names 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.to_simple 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.from_simple 7 7 0 6 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.get 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.as_group 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.isdisjoint 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.issubset 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.issuperset 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__le__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__ge__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__lt__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__gt__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.union 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.intersection 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__or__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.__and__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.primaryKeyTraversalOrder 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.spatial 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.temporal 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py DimensionGraph.topology 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_graph.py (no function) 97 0 6 71 0 100%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet._from_iterable 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.__repr__ 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.as_tuple 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py SortedSequenceSet.names 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__new__ 37 37 0 28 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__getnewargs__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__contains__ 6 6 0 4 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.as_group 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup._as_graph 4 4 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.isdisjoint 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.issubset 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.issuperset 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__eq__ 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__le__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__ge__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__lt__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__gt__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.union 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.intersection 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__or__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__and__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.data_coordinate_keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.lookup_order 8 8 0 6 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.lookup_order.add_to_order 10 10 0 6 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.spatial 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.temporal 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup._validate 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.from_simple 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.to_simple 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_group.py DimensionGroup.__get_pydantic_core_schema__ 3 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_group.py (no function) 85 0 4 26 0 100%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker.universe 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker.maxBits 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker._pack 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker.pack 7 7 0 4 0 0%
python/lsst/daf/butler/dimensions/_packer.py DimensionPacker.unpack 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_packer.py (no function) 22 0 2 14 0 100%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordFactory.__call__ 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/_record_set.py fail_record_lookup 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.__init__ 11 11 0 6 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.element 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.__contains__ 8 8 0 4 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.__repr__ 5 5 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.issubset 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.issuperset 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.isdisjoint 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.intersection 3 3 0 4 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.difference 3 3 0 4 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.union 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.find 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.find_with_required_values 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.add 5 5 0 4 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.update 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.update_from_data_coordinates 3 3 0 4 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.discard 5 5 0 4 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.remove 5 5 0 4 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.pop 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_set.py DimensionRecordSet.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_set.py (no function) 34 0 3 4 0 100%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.__init__ 19 19 0 18 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.make_arrow_schema 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.element 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.__iter__ 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.__getitem__ 1 0 0 3 1 75%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.__getitem__ 1 0 0 3 1 75%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.__getitem__ 7 7 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.extend 3 3 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.column 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable.to_arrow 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable._make_batch 6 6 0 8 0 0%
python/lsst/daf/butler/dimensions/_record_table.py DimensionRecordTable._get_record_at 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_record_table.py (no function) 24 0 4 6 0 100%
python/lsst/daf/butler/dimensions/_records.py _reconstructDimensionRecord 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_records.py _subclassDimensionRecord 9 9 0 4 0 0%
python/lsst/daf/butler/dimensions/_records.py _createSimpleRecordSubclass 21 21 0 12 0 0%
python/lsst/daf/butler/dimensions/_records.py SerializedDimensionRecord.direct 9 9 0 6 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.__init__ 19 19 0 16 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.__str__ 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.__repr__ 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.__reduce__ 2 2 0 2 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord._repr_html_ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.to_simple 15 15 0 12 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.from_simple 22 22 0 16 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.toDict 7 7 0 6 0 0%
python/lsst/daf/butler/dimensions/_records.py DimensionRecord.__getattr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_records.py (no function) 47 0 5 6 0 100%
python/lsst/daf/butler/dimensions/_schema.py DimensionRecordSchema.__init__ 29 29 0 10 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionRecordSchema.names 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionRecordSchema.__str__ 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionRecordSchema.to_arrow 11 11 0 10 0 0%
python/lsst/daf/butler/dimensions/_schema.py _makeForeignKeySpec 8 8 0 4 0 0%
python/lsst/daf/butler/dimensions/_schema.py addDimensionForeignKey 8 8 0 2 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionElementFields.__init__ 37 37 0 14 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionElementFields.makeTableSpec 8 8 0 6 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionElementFields.__str__ 7 7 0 6 0 0%
python/lsst/daf/butler/dimensions/_schema.py DimensionElementFields.columns 10 10 0 8 0 0%
python/lsst/daf/butler/dimensions/_schema.py (no function) 53 0 4 10 0 100%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixSystem.__init__ 6 6 0 2 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixSystem.choose 11 11 0 8 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixSystem.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixSystem.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixSystem.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.name 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.required 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.implied 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.topology 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.metadata_columns 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.documentation 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.hasTable 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.has_own_table 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py SkyPixDimension.unique_keys 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_skypix.py (no function) 41 0 2 16 0 100%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.__new__ 41 41 0 24 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.version 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.namespace 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.isCompatibleWith 5 5 0 4 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.get 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.getStaticElements 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.getStaticDimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.getGovernorDimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.getDatabaseElements 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.elements 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.governor_dimensions 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.skypix_dimensions 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.database_elements 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.skypix 1 1 0 2 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.getElementIndex 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.getDimensionIndex 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.expandDimensionNameSet 8 8 0 4 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.extract 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.conform 12 12 0 10 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.sorted 1 0 0 3 1 75%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.sorted 0 0 0 0 0 100%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.sorted 5 5 0 4 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.getEncodeLength 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.get_elements_populated_by 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.empty 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse._unpickle 6 6 0 4 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py DimensionUniverse.__deepcopy__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/_universe.py (no function) 90 0 2 45 1 99%
python/lsst/daf/butler/dimensions/construction.py DimensionConstructionVisitor.has_dependencies_in 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/construction.py DimensionConstructionVisitor.visit 0 0 1 0 0 100%
python/lsst/daf/butler/dimensions/construction.py DimensionConstructionBuilder.__init__ 8 8 0 2 0 0%
python/lsst/daf/butler/dimensions/construction.py DimensionConstructionBuilder.add 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/construction.py DimensionConstructionBuilder.finish 7 7 0 8 0 0%
python/lsst/daf/butler/dimensions/construction.py (no function) 27 0 3 4 0 100%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.__init__ 4 4 0 2 0 0%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.reset 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.load_from 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.preload_cache 3 3 0 2 0 0%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.__contains__ 5 5 0 4 0 0%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.__getitem__ 3 3 0 0 0 0%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/record_cache.py DimensionRecordCache.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/dimensions/record_cache.py (no function) 15 0 0 0 0 100%
python/lsst/daf/butler/direct_butler/__init__.py (no function) 1 0 0 0 0 100%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.__new__ 8 8 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.create_from_config 19 19 0 6 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._clone 3 3 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._retrieve_dataset_type 4 4 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._unpickle 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.__reduce__ 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.isWriteable 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._caching_context 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.transaction 2 2 0 2 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._standardizeArgs 23 23 0 14 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._rewrite_data_id 125 125 0 96 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._findDatasetRef 30 30 0 24 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.put 21 21 0 8 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.getDeferred 6 6 0 4 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.get 3 3 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.getURIs 2 2 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.get_dataset_type 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.get_dataset 9 9 0 8 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.find_dataset 16 16 0 10 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.retrieveArtifacts 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.exists 27 27 0 20 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._exists_many 18 18 0 20 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.removeRuns 17 17 0 14 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.pruneDatasets 30 30 0 32 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.ingest 36 36 0 20 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.export 28 28 0 20 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.import_ 29 29 0 22 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.import_.doImport 5 5 0 4 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.transfer_dimension_records_from 7 7 0 8 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._extract_all_dimension_records_from_data_ids 27 27 0 24 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._extract_dimension_records_from_data_ids 11 11 0 10 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.transfer_from 67 67 0 50 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.validateConfiguration 61 61 0 52 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.collection_chains 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.collections 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.run 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.registry 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._query 2 2 0 2 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._query_driver 4 4 0 4 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py DirectButler._preload_cache 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler.py (no function) 110 0 8 26 0 100%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py DirectButlerCollections.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py DirectButlerCollections.extend_chain 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py DirectButlerCollections.prepend_chain 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py DirectButlerCollections.redefine_chain 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py DirectButlerCollections.remove_from_chain 1 1 0 0 0 0%
python/lsst/daf/butler/direct_butler/_direct_butler_collections.py (no function) 12 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/__init__.py (no function) 3 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.__init__ 12 12 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.__enter__ 2 2 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.__exit__ 8 8 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.universe 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.execute 0 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.execute 0 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.execute 1 0 0 3 1 75%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.execute 1 0 0 3 1 75%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.execute 19 19 0 14 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.fetch_next_page 0 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.fetch_next_page 0 0 0 0 0 100%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.fetch_next_page 1 0 0 3 1 75%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.fetch_next_page 1 0 0 3 1 75%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.fetch_next_page 8 8 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.materialize 10 10 0 4 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.upload_data_coordinates 16 16 0 12 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.count 26 26 0 17 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.any 16 16 0 15 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.explain_no_results 4 4 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.get_dataset_type 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.get_default_collections 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.build_query 6 6 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.analyze_query 28 28 0 24 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.apply_query_joins 14 14 0 12 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.apply_query_projection 43 43 1 40 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver.apply_query_find_first 12 12 0 8 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver._analyze_query_tree 23 23 0 12 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver._resolve_dataset_search 17 17 0 14 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver._resolve_collection_path 5 5 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver._resolve_collection_path.recurse 7 7 0 6 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver._join_materialization 4 4 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py DirectQueryDriver._join_dataset_search 4 4 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py _Cursor.__init__ 12 12 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py _Cursor.close 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py _Cursor.next 14 14 1 4 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py _Cursor._convert_dimension_record_results 23 23 0 16 0 0%
python/lsst/daf/butler/direct_query_driver/_driver.py (no function) 73 0 2 16 4 96%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.limit 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.limit 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.__bool__ 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.gather_columns_required 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.iter_region_dimension_elements 5 5 0 4 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.iter_missing 6 6 0 6 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py Postprocessing.apply 17 17 0 19 0 0%
python/lsst/daf/butler/direct_query_driver/_postprocessing.py (no function) 27 0 2 4 0 100%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder.handle_empty_columns 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder.select 30 30 0 24 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder.join 2 2 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder.to_joiner 4 4 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder.nested 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder.union_subquery 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryBuilder.make_table_spec 8 8 0 8 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryJoiner.extract_dimensions 6 6 0 4 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryJoiner.extract_columns 19 19 0 16 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryJoiner.join 27 27 0 20 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryJoiner.where 2 2 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryJoiner.to_builder 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py QueryJoiner._make_name_shrinker 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_builder.py (no function) 60 0 3 10 2 97%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryJoinsPlan.__post_init__ 2 2 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryJoinsPlan.iter_mandatory 12 12 0 15 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryProjectionPlan.__bool__ 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryFindFirstPlan.dataset_type 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py QueryFindFirstPlan.__bool__ 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_comparison 20 20 0 14 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_binary_expression 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_unary_expression 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_literal 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_dimension_key_reference 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_dimension_field_reference 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_dataset_field_reference 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_query_plan.py _DataIdExtractionVisitor.visit_reversed 0 0 1 0 0 100%
python/lsst/daf/butler/direct_query_driver/_query_plan.py (no function) 81 0 0 12 0 100%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_literal 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_dimension_key_reference 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_dimension_field_reference 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_dataset_field_reference 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_unary_expression 7 7 1 4 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_binary_expression 13 13 1 8 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_reversed 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_comparison 18 18 1 12 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_is_null 3 3 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_in_container 1 1 0 2 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_in_range 10 10 0 6 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.visit_in_query_tree 10 10 1 0 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.apply_logical_and 7 7 0 4 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.apply_logical_or 7 7 0 4 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.apply_logical_not 1 1 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.expect_scalar 3 3 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py SqlColumnVisitor.expect_timespan 3 3 0 0 0 0%
python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py (no function) 27 0 3 0 0 100%
python/lsst/daf/butler/formatters/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/formatters/file.py FileFormatter._readFile 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter._writeFile 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter._assembleDataset 12 12 0 2 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter._coerceBuiltinType 12 12 0 12 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter._coerceType 2 2 0 0 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter.read 6 6 0 2 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter.fromBytes 8 8 1 2 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter.write 3 3 0 0 0 0%
python/lsst/daf/butler/formatters/file.py FileFormatter.toBytes 2 2 1 0 0 0%
python/lsst/daf/butler/formatters/file.py (no function) 21 0 2 4 0 100%
python/lsst/daf/butler/formatters/parquet.py ParquetFormatter.read 30 30 0 24 0 0%
python/lsst/daf/butler/formatters/parquet.py ParquetFormatter.write 29 29 0 16 0 0%
python/lsst/daf/butler/formatters/parquet.py arrow_to_pandas 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py arrow_to_astropy 4 4 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py arrow_to_numpy 9 9 0 4 0 0%
python/lsst/daf/butler/formatters/parquet.py arrow_to_numpy_dict 30 30 0 18 0 0%
python/lsst/daf/butler/formatters/parquet.py _numpy_dict_to_numpy 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py _numpy_to_numpy_dict 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py numpy_to_arrow 10 10 0 2 0 0%
python/lsst/daf/butler/formatters/parquet.py numpy_dict_to_arrow 12 12 0 4 0 0%
python/lsst/daf/butler/formatters/parquet.py astropy_to_arrow 22 22 0 8 0 0%
python/lsst/daf/butler/formatters/parquet.py astropy_to_pandas 6 6 0 4 0 0%
python/lsst/daf/butler/formatters/parquet.py _astropy_to_numpy_dict 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py pandas_to_arrow 11 11 0 8 0 0%
python/lsst/daf/butler/formatters/parquet.py pandas_to_astropy 4 4 0 2 0 0%
python/lsst/daf/butler/formatters/parquet.py _pandas_to_numpy_dict 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py numpy_to_astropy 2 2 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py arrow_schema_to_pandas_index 10 10 0 8 0 0%
python/lsst/daf/butler/formatters/parquet.py arrow_schema_to_column_list 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.from_arrow 2 2 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.to_arrow_schema 2 2 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.to_arrow_numpy_schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.to_arrow_astropy_schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py DataFrameSchema.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.from_arrow 7 7 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.to_arrow_schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.to_dataframe_schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.to_arrow_numpy_schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowAstropySchema.__eq__ 12 12 0 12 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.from_arrow 3 3 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.to_arrow_astropy_schema 2 2 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.to_dataframe_schema 2 2 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.to_arrow_schema 2 2 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.schema 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/parquet.py ArrowNumpySchema.__eq__ 5 5 0 4 0 0%
python/lsst/daf/butler/formatters/parquet.py _split_multi_index_column_names 7 7 0 4 0 0%
python/lsst/daf/butler/formatters/parquet.py _standardize_multi_index_columns 22 22 0 22 0 0%
python/lsst/daf/butler/formatters/parquet.py _apply_astropy_metadata 21 21 0 20 0 0%
python/lsst/daf/butler/formatters/parquet.py _arrow_string_to_numpy_dtype 9 9 0 6 0 0%
python/lsst/daf/butler/formatters/parquet.py _append_numpy_string_metadata 5 5 0 4 0 0%
python/lsst/daf/butler/formatters/parquet.py _append_numpy_multidim_metadata 2 2 0 2 0 0%
python/lsst/daf/butler/formatters/parquet.py _multidim_shape_from_metadata 8 8 0 6 0 0%
python/lsst/daf/butler/formatters/parquet.py _schema_to_dtype_list 11 11 0 6 0 0%
python/lsst/daf/butler/formatters/parquet.py _numpy_dtype_to_arrow_types 12 12 0 6 0 0%
python/lsst/daf/butler/formatters/parquet.py _numpy_dict_to_dtype 13 13 0 8 0 0%
python/lsst/daf/butler/formatters/parquet.py _numpy_style_arrays_to_arrow_arrays 20 20 0 10 0 0%
python/lsst/daf/butler/formatters/parquet.py compute_row_group_size 26 26 0 18 0 0%
python/lsst/daf/butler/formatters/parquet.py (no function) 80 0 4 12 0 100%
python/lsst/daf/butler/formatters/yaml.py YamlFormatter._readFile 6 6 0 2 0 0%
python/lsst/daf/butler/formatters/yaml.py YamlFormatter._fromBytes 4 4 0 2 0 0%
python/lsst/daf/butler/formatters/yaml.py YamlFormatter._writeFile 1 1 0 0 0 0%
python/lsst/daf/butler/formatters/yaml.py YamlFormatter._toBytes 19 19 0 16 0 0%
python/lsst/daf/butler/formatters/yaml.py (no function) 17 0 0 0 0 100%
python/lsst/daf/butler/json.py SupportsSimple.to_simple 1 0 0 2 1 67%
python/lsst/daf/butler/json.py SupportsSimple.from_simple 0 0 0 0 0 100%
python/lsst/daf/butler/json.py to_json_pydantic 1 1 0 0 0 0%
python/lsst/daf/butler/json.py from_json_pydantic 5 5 0 0 0 0%
python/lsst/daf/butler/json.py to_json_generic 1 1 0 0 0 0%
python/lsst/daf/butler/json.py from_json_generic 5 5 0 0 0 0%
python/lsst/daf/butler/json.py (no function) 13 0 3 3 1 94%
python/lsst/daf/butler/logging.py MDCDict.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py MDCDict.__str__ 2 2 0 2 0 0%
python/lsst/daf/butler/logging.py MDCDict.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerMDC.MDC 3 3 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerMDC.MDCRemove 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerMDC.clear_mdc 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerMDC.set_mdc 9 9 0 6 0 0%
python/lsst/daf/butler/logging.py ButlerMDC.add_mdc_log_record_factory 4 4 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerMDC.add_mdc_log_record_factory.record_factory 3 3 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerMDC.restore_log_record_factory 2 2 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecord.from_record 11 11 0 4 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecord.format 7 7 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecord.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.from_records 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.from_file 2 2 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords._detect_model 15 15 0 10 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.from_stream 13 13 0 8 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.from_raw 12 12 0 10 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.log_format 3 3 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.set_log_format 3 3 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.__setitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.__getitem__ 1 0 0 3 1 75%
python/lsst/daf/butler/logging.py ButlerLogRecords.__getitem__ 1 0 0 3 1 75%
python/lsst/daf/butler/logging.py ButlerLogRecords.__getitem__ 4 4 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.__reversed__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.__delitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.__str__ 1 1 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords._validate_record 6 6 0 4 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.insert 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.append 2 2 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.clear 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.extend 1 1 0 2 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.pop 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecords.reverse 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecordHandler.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/logging.py ButlerLogRecordHandler.emit 1 1 0 0 0 0%
python/lsst/daf/butler/logging.py JsonLogFormatter.format 2 2 0 0 0 0%
python/lsst/daf/butler/logging.py (no function) 94 0 0 30 0 100%
python/lsst/daf/butler/mapping_factory.py MappingFactory.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory.__contains__ 2 2 0 0 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory.getLookupKeys 1 1 0 0 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory.getClassFromRegistryWithMatch 14 14 0 6 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory.getClassFromRegistry 2 2 0 0 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory.getFromRegistryWithMatch 11 11 0 6 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory.getFromRegistry 2 2 0 0 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory.placeInRegistry 6 6 0 4 0 0%
python/lsst/daf/butler/mapping_factory.py MappingFactory._getNameKey 8 8 0 6 0 0%
python/lsst/daf/butler/mapping_factory.py (no function) 18 0 0 2 0 100%
python/lsst/daf/butler/name_shrinker.py NameShrinker.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/name_shrinker.py NameShrinker.shrink 12 12 0 4 0 0%
python/lsst/daf/butler/name_shrinker.py NameShrinker.expand 1 1 0 0 0 0%
python/lsst/daf/butler/name_shrinker.py NameShrinker.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/name_shrinker.py NameShrinker.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/name_shrinker.py NameShrinker.update 2 2 0 0 0 0%
python/lsst/daf/butler/name_shrinker.py (no function) 11 0 0 0 0 100%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.__len__ 1 1 0 2 0 0%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.__iter__ 3 3 0 4 0 0%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.__getitem__ 3 3 0 2 0 0%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.get 1 0 0 3 1 75%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.get 1 0 0 3 1 75%
python/lsst/daf/butler/nonempty_mapping.py NonemptyMapping.get 3 3 0 2 0 0%
python/lsst/daf/butler/nonempty_mapping.py (no function) 16 0 0 0 0 100%
python/lsst/daf/butler/persistence_context.py PersistenceContextVars._getContextVars 6 6 0 4 0 0%
python/lsst/daf/butler/persistence_context.py PersistenceContextVars.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/persistence_context.py PersistenceContextVars._functionRunner 11 11 0 4 0 0%
python/lsst/daf/butler/persistence_context.py PersistenceContextVars.run 3 3 0 0 0 0%
python/lsst/daf/butler/persistence_context.py (no function) 32 0 6 2 0 100%
python/lsst/daf/butler/progress.py ProgressBar.update 1 1 0 0 0 0%
python/lsst/daf/butler/progress.py Progress.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/progress.py Progress.set_handler 1 1 0 0 0 0%
python/lsst/daf/butler/progress.py Progress.is_enabled 5 5 0 4 0 0%
python/lsst/daf/butler/progress.py Progress.at 1 1 0 0 0 0%
python/lsst/daf/butler/progress.py Progress.bar 13 13 0 12 0 0%
python/lsst/daf/butler/progress.py Progress.wrap 2 2 0 2 0 0%
python/lsst/daf/butler/progress.py Progress.iter_chunks 29 29 0 24 0 0%
python/lsst/daf/butler/progress.py Progress.iter_item_chunks 29 29 0 24 0 0%
python/lsst/daf/butler/progress.py ProgressHandler.get_progress_bar 0 0 1 0 0 100%
python/lsst/daf/butler/progress.py _NullProgressBar.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/progress.py _NullProgressBar.context 1 1 0 0 0 0%
python/lsst/daf/butler/progress.py _NullProgressBar.__iter__ 2 2 0 0 0 0%
python/lsst/daf/butler/progress.py _NullProgressBar.update 1 1 0 0 0 0%
python/lsst/daf/butler/progress.py (no function) 34 0 0 10 0 100%
python/lsst/daf/butler/pydantic_utils.py get_universe_from_context 6 6 0 2 0 0%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation.from_validated 3 3 0 0 0 0%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation.validated 4 4 0 2 0 0%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation.__init_subclass__ 6 2 0 0 0 67%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation._get_wrapped_type_adapter 5 5 0 4 0 0%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation._serialize 3 3 0 2 0 0%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation.__get_pydantic_core_schema__ 1 0 0 0 0 100%
python/lsst/daf/butler/pydantic_utils.py DeferredValidation.__get_pydantic_json_schema__ 2 2 0 0 0 0%
python/lsst/daf/butler/pydantic_utils.py _deserialize_region 4 4 0 2 0 0%
python/lsst/daf/butler/pydantic_utils.py _serialize_region 1 1 0 0 0 0%
python/lsst/daf/butler/pydantic_utils.py _deserialize_time 4 4 0 2 0 0%
python/lsst/daf/butler/pydantic_utils.py _serialize_time 1 1 0 0 0 0%
python/lsst/daf/butler/pydantic_utils.py (no function) 33 0 2 12 2 96%
python/lsst/daf/butler/queries/__init__.py (no function) 5 0 0 0 0 100%
python/lsst/daf/butler/queries/_base.py QueryBase.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/queries/_base.py QueryBase.any 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_base.py QueryBase.explain_no_results 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_base.py QueryBase.where 0 0 1 0 0 100%
python/lsst/daf/butler/queries/_base.py QueryResultsBase.dimensions 0 0 1 0 0 100%
python/lsst/daf/butler/queries/_base.py QueryResultsBase.count 0 0 1 0 0 100%
python/lsst/daf/butler/queries/_base.py QueryResultsBase.order_by 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_base.py QueryResultsBase.limit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_base.py QueryResultsBase.where 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_base.py QueryResultsBase._get_datasets 0 0 1 0 0 100%
python/lsst/daf/butler/queries/_base.py QueryResultsBase._copy 0 0 1 0 0 100%
python/lsst/daf/butler/queries/_base.py (no function) 30 0 0 14 0 100%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults.__iter__ 5 5 0 2 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults.has_dimension_records 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults.with_dimension_records 3 3 0 2 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults.count 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults._copy 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py DataCoordinateQueryResults._get_datasets 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_data_coordinate_query_results.py (no function) 20 0 2 6 0 100%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.__iter__ 5 5 0 2 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.dataset_type 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.data_ids 2 2 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.has_dimension_records 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.with_dimension_records 3 3 0 2 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults.count 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults._copy 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py DatasetRefQueryResults._get_datasets 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dataset_query_results.py (no function) 27 0 2 10 0 100%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults.__iter__ 5 5 0 2 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults.iter_table_pages 5 5 0 2 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults.iter_set_pages 5 5 0 2 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults.element 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults.count 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults._copy 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py DimensionRecordQueryResults._get_datasets 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_dimension_record_query_results.py (no function) 22 0 0 6 0 100%
python/lsst/daf/butler/queries/_query.py Query.__init__ 3 3 0 2 0 0%
python/lsst/daf/butler/queries/_query.py Query.constraint_dataset_types 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_query.py Query.constraint_dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_query.py Query.expression_factory 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_query.py Query.data_ids 8 8 0 4 0 0%
python/lsst/daf/butler/queries/_query.py Query.datasets 4 4 0 0 0 0%
python/lsst/daf/butler/queries/_query.py Query.dimension_records 5 5 0 2 0 0%
python/lsst/daf/butler/queries/_query.py Query.materialize 16 16 0 10 0 0%
python/lsst/daf/butler/queries/_query.py Query.join_dataset_search 2 2 0 0 0 0%
python/lsst/daf/butler/queries/_query.py Query.join_data_coordinates 12 12 0 8 0 0%
python/lsst/daf/butler/queries/_query.py Query.join_dimensions 2 2 0 0 0 0%
python/lsst/daf/butler/queries/_query.py Query.where 1 1 0 0 0 0%
python/lsst/daf/butler/queries/_query.py Query._join_dataset_search_impl 33 33 0 24 0 0%
python/lsst/daf/butler/queries/_query.py (no function) 37 0 0 8 0 100%
python/lsst/daf/butler/queries/convert_args.py convert_where_args 15 15 1 8 0 0%
python/lsst/daf/butler/queries/convert_args.py convert_order_by_args 17 17 0 12 0 0%
python/lsst/daf/butler/queries/convert_args.py interpret_identifier 52 52 0 46 0 0%
python/lsst/daf/butler/queries/convert_args.py (no function) 12 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py DimensionRecordResultPage.as_table 3 3 0 2 0 0%
python/lsst/daf/butler/queries/driver.py DimensionRecordResultPage.as_set 3 3 0 2 0 0%
python/lsst/daf/butler/queries/driver.py QueryDriver.universe 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.execute 1 0 0 3 1 75%
python/lsst/daf/butler/queries/driver.py QueryDriver.execute 0 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.execute 1 0 0 3 1 75%
python/lsst/daf/butler/queries/driver.py QueryDriver.execute 1 0 0 3 1 75%
python/lsst/daf/butler/queries/driver.py QueryDriver.execute 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.fetch_next_page 0 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.fetch_next_page 0 0 0 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.fetch_next_page 1 0 0 3 1 75%
python/lsst/daf/butler/queries/driver.py QueryDriver.fetch_next_page 1 0 0 3 1 75%
python/lsst/daf/butler/queries/driver.py QueryDriver.fetch_next_page 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.materialize 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.upload_data_coordinates 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.count 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.any 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.explain_no_results 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.get_default_collections 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py QueryDriver.get_dataset_type 0 0 1 0 0 100%
python/lsst/daf/butler/queries/driver.py (no function) 70 0 0 41 3 97%
python/lsst/daf/butler/queries/expression_factory.py ExpressionProxy.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionProxy.is_null 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionProxy._make_expression 3 3 0 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionProxy._make_comparison 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionProxy._expression 0 0 1 0 0 100%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.desc 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__eq__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__ne__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__lt__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__le__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__gt__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__ge__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__neg__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__add__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__radd__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__sub__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__rsub__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__mul__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__rmul__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__truediv__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__rtruediv__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__mod__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.__rmod__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.in_range 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.in_iterable 1 1 0 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py ScalarExpressionProxy.in_query 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ResolvedScalarExpressionProxy.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ResolvedScalarExpressionProxy._expression 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py TimespanProxy.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py TimespanProxy.begin 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py TimespanProxy.end 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py TimespanProxy.overlaps 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py TimespanProxy._expression 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py RegionProxy.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py RegionProxy.overlaps 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py RegionProxy._expression 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy._expression 3 3 0 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy.__getattr__ 9 9 0 4 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy.region 5 5 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy.timespan 5 5 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DimensionElementProxy.__dir__ 3 3 0 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py DatasetTypeProxy.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DatasetTypeProxy.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DatasetTypeProxy.__getattr__ 4 4 0 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py DatasetTypeProxy.timespan 5 5 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py DatasetTypeProxy.__dir__ 3 3 0 2 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.__getattr__ 5 5 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.not_ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.all 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.any 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.literal 9 9 1 4 0 0%
python/lsst/daf/butler/queries/expression_factory.py ExpressionFactory.unwrap 1 1 0 0 0 0%
python/lsst/daf/butler/queries/expression_factory.py (no function) 89 0 3 34 0 100%
python/lsst/daf/butler/queries/overlaps.py _NaiveDisjointSet.__init__ 2 2 0 2 0 0%
python/lsst/daf/butler/queries/overlaps.py _NaiveDisjointSet.merge 15 15 0 10 0 0%
python/lsst/daf/butler/queries/overlaps.py _NaiveDisjointSet.subsets 1 1 0 0 0 0%
python/lsst/daf/butler/queries/overlaps.py _NaiveDisjointSet.n_subsets 1 1 0 0 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.run 16 16 0 12 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.visit_comparison 6 6 1 4 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.add_join_operand_connections 4 4 0 4 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.compute_automatic_spatial_joins 1 1 0 0 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.compute_automatic_temporal_joins 1 1 0 0 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor._compute_automatic_joins 10 10 0 6 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.visit_spatial_overlap 10 10 2 6 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.visit_temporal_overlap 5 5 0 2 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.visit_spatial_join 4 4 0 2 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.visit_spatial_constraint 1 1 0 0 0 0%
python/lsst/daf/butler/queries/overlaps.py OverlapsVisitor.visit_temporal_dimension_join 4 4 0 2 0 0%
python/lsst/daf/butler/queries/overlaps.py (no function) 31 0 0 2 0 100%
python/lsst/daf/butler/queries/result_specs.py ResultSpecBase.validate_tree 16 16 0 14 0 0%
python/lsst/daf/butler/queries/result_specs.py ResultSpecBase.find_first_dataset 1 1 0 0 0 0%
python/lsst/daf/butler/queries/result_specs.py ResultSpecBase.get_result_columns 0 0 1 0 0 100%
python/lsst/daf/butler/queries/result_specs.py DataCoordinateResultSpec.get_result_columns 7 7 0 6 0 0%
python/lsst/daf/butler/queries/result_specs.py DimensionRecordResultSpec.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/queries/result_specs.py DimensionRecordResultSpec.get_result_columns 5 5 0 2 0 0%
python/lsst/daf/butler/queries/result_specs.py DatasetRefResultSpec.find_first_dataset 1 1 0 0 0 0%
python/lsst/daf/butler/queries/result_specs.py DatasetRefResultSpec.get_result_columns 8 8 0 6 0 0%
python/lsst/daf/butler/queries/result_specs.py GeneralResultSpec.find_first_dataset 4 4 0 2 0 0%
python/lsst/daf/butler/queries/result_specs.py GeneralResultSpec.get_result_columns 6 6 0 4 0 0%
python/lsst/daf/butler/queries/result_specs.py GeneralResultSpec._validate 13 13 0 14 0 0%
python/lsst/daf/butler/queries/result_specs.py SerializedResultSpec.to_result_spec 1 1 0 0 0 0%
python/lsst/daf/butler/queries/result_specs.py (no function) 69 0 0 12 0 100%
python/lsst/daf/butler/queries/tree/__init__.py (no function) 11 0 0 0 0 100%
python/lsst/daf/butler/queries/tree/_base.py ColumnExpressionBase.column_type 0 0 1 0 0 100%
python/lsst/daf/butler/queries/tree/_base.py ColumnExpressionBase.get_literal_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_base.py ColumnExpressionBase.gather_required_columns 0 0 1 0 0 100%
python/lsst/daf/butler/queries/tree/_base.py ColumnExpressionBase.visit 0 0 1 0 0 100%
python/lsst/daf/butler/queries/tree/_base.py ColumnLiteralBase.get_literal_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_base.py ColumnLiteralBase.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_base.py ColumnLiteralBase.column_type 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_base.py ColumnLiteralBase.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_base.py (no function) 37 0 4 12 0 100%
python/lsst/daf/butler/queries/tree/_column_expression.py UnaryExpression.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py UnaryExpression.column_type 5 5 1 2 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py UnaryExpression.__str__ 10 10 0 8 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py UnaryExpression._validate_types 8 8 0 4 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py UnaryExpression.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py BinaryExpression.gather_required_columns 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py BinaryExpression.column_type 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py BinaryExpression.__str__ 7 7 0 4 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py BinaryExpression._validate_types 10 10 0 6 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py BinaryExpression.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py Reversed.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py Reversed.column_type 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py Reversed.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py Reversed.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py validate_order_expression 3 3 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_expression.py (no function) 57 0 2 16 0 100%
python/lsst/daf/butler/queries/tree/_column_literal.py IntColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py IntColumnLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py StringColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py StringColumnLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py FloatColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py FloatColumnLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py HashColumnLiteral.value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py HashColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py HashColumnLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py UUIDColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py UUIDColumnLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py DateTimeColumnLiteral.value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py DateTimeColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py DateTimeColumnLiteral.__str__ 3 3 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py TimespanColumnLiteral.value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py TimespanColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py TimespanColumnLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py RegionColumnLiteral.value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py RegionColumnLiteral.from_value 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py RegionColumnLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py make_column_literal 18 18 0 16 0 0%
python/lsst/daf/butler/queries/tree/_column_literal.py (no function) 90 0 0 40 0 100%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionKeyReference.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionKeyReference.column_type 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionKeyReference.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionKeyReference.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionFieldReference.gather_required_columns 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionFieldReference.column_type 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionFieldReference.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionFieldReference.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DimensionFieldReference._validate_field 3 3 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DatasetFieldReference.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DatasetFieldReference.column_type 11 11 1 8 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DatasetFieldReference.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py DatasetFieldReference.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_reference.py (no function) 49 0 3 14 0 100%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.__init__ 4 4 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.dimension_fields 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.dataset_fields 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.__bool__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.__eq__ 3 3 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.__str__ 1 1 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.issubset 1 1 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.issuperset 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.isdisjoint 1 1 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.copy 6 6 0 4 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.update_dimensions 4 4 0 4 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.update 6 6 0 4 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.drop_dimension_keys 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.drop_implied_dimension_keys 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.restore_dimension_keys 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.__iter__ 12 12 0 14 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.is_timespan 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.get_qualified_name 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet.get_column_spec 16 16 1 12 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py ColumnSet._get_dimension_keys 3 3 0 2 0 0%
python/lsst/daf/butler/queries/tree/_column_set.py (no function) 32 0 0 8 0 100%
python/lsst/daf/butler/queries/tree/_predicate.py PredicateLeafBase.gather_required_columns 0 0 1 0 0 100%
python/lsst/daf/butler/queries/tree/_predicate.py PredicateLeafBase.invert 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py PredicateLeafBase.visit 0 0 1 0 0 100%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.column_type 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.from_bool 1 0 0 0 0 100%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.compare 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.is_null 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.in_container 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.in_range 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.in_query 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.gather_required_columns 3 3 0 4 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.logical_and 6 6 0 4 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.logical_or 4 4 0 2 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.logical_not 7 7 0 4 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.__str__ 15 15 0 12 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate._from_leaf 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate._from_or_group 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate._impl_and 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Predicate._impl_or 1 1 0 2 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py LogicalNot.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py LogicalNot.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py LogicalNot.invert 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py LogicalNot.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py IsNull.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py IsNull.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py IsNull.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Comparison.gather_required_columns 2 2 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Comparison.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Comparison.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py Comparison._validate_column_types 12 12 0 8 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InContainer.gather_required_columns 3 3 0 2 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InContainer.__str__ 1 1 0 2 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InContainer.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InContainer._validate 5 5 0 5 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InRange.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InRange.__str__ 4 4 0 2 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InRange.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InRange._validate 7 7 0 6 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InQuery.gather_required_columns 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InQuery.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InQuery.visit 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py InQuery._validate_column_types 12 12 0 8 0 0%
python/lsst/daf/butler/queries/tree/_predicate.py (no function) 128 0 4 48 0 100%
python/lsst/daf/butler/queries/tree/_query_tree.py make_identity_query_tree 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree.get_joined_dimension_groups 5 5 0 2 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree.join_dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree.join_data_coordinate_upload 4 4 0 0 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree.join_materialization 4 4 0 0 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree.join_dataset 6 6 0 2 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree.where 8 8 0 4 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree._validate_join_operands 4 4 0 4 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py QueryTree._validate_required_columns 7 7 0 4 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py SerializedQueryTree.to_query_tree 1 1 0 0 0 0%
python/lsst/daf/butler/queries/tree/_query_tree.py (no function) 45 0 0 8 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor.visit_literal 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor.visit_dimension_key_reference 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor.visit_dimension_field_reference 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor.visit_dataset_field_reference 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor.visit_unary_expression 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor.visit_binary_expression 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py ColumnExpressionVisitor.visit_reversed 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.visit_comparison 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.visit_is_null 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.visit_in_container 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.visit_in_range 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.visit_in_query_tree 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.apply_logical_not 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.apply_logical_or 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor.apply_logical_and 0 0 1 0 0 100%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor._visit_logical_not 1 1 0 0 0 0%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor._visit_logical_or 4 4 0 4 0 0%
python/lsst/daf/butler/queries/visitors.py PredicateVisitor._visit_logical_and 4 4 0 4 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.visit_comparison 1 1 0 0 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.visit_is_null 1 1 0 0 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.visit_in_container 1 1 0 0 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.visit_in_range 1 1 0 0 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.visit_in_query_tree 1 1 0 0 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.apply_logical_not 4 4 0 2 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.apply_logical_or 4 4 0 5 0 0%
python/lsst/daf/butler/queries/visitors.py SimplePredicateVisitor.apply_logical_and 4 4 0 5 0 0%
python/lsst/daf/butler/queries/visitors.py (no function) 61 0 0 36 0 100%
python/lsst/daf/butler/registry/__init__.py (no function) 10 0 0 0 0 100%
python/lsst/daf/butler/registry/_caching_context.py CachingContext.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/_caching_context.py CachingContext.is_enabled 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_caching_context.py CachingContext._enable 4 4 0 2 0 0%
python/lsst/daf/butler/registry/_caching_context.py CachingContext._disable 6 6 1 2 0 0%
python/lsst/daf/butler/registry/_caching_context.py CachingContext.collection_records 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_caching_context.py CachingContext.collection_summaries 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_caching_context.py CachingContext.dataset_types 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_caching_context.py (no function) 18 0 2 8 0 100%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.full 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.add 6 6 0 4 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.set 5 5 0 2 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.clear 3 3 0 0 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.discard 2 2 0 0 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.get_by_name 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.get_by_key 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py CollectionRecordCache.records 3 3 0 2 0 0%
python/lsst/daf/butler/registry/_collection_record_cache.py (no function) 15 0 2 2 0 100%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.copy 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.add_datasets_generator 5 5 0 4 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.add_datasets 2 2 0 2 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.add_data_ids_generator 5 5 0 4 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.add_data_ids 2 2 0 2 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.update 4 4 0 4 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.union 3 3 0 0 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.is_compatible_with 13 13 0 10 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.to_simple 1 1 0 2 0 0%
python/lsst/daf/butler/registry/_collection_summary.py CollectionSummary.from_simple 4 4 0 2 0 0%
python/lsst/daf/butler/registry/_collection_summary.py _copy_governors 1 1 0 2 0 0%
python/lsst/daf/butler/registry/_collection_summary.py (no function) 31 0 0 4 0 100%
python/lsst/daf/butler/registry/_collection_summary_cache.py CollectionSummaryCache.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_collection_summary_cache.py CollectionSummaryCache.update 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_collection_summary_cache.py CollectionSummaryCache.find_summaries 7 7 0 4 0 0%
python/lsst/daf/butler/registry/_collection_summary_cache.py (no function) 9 0 0 0 0 100%
python/lsst/daf/butler/registry/_collection_type.py CollectionType.all 1 0 0 0 0 100%
python/lsst/daf/butler/registry/_collection_type.py CollectionType.from_name 5 5 0 0 0 0%
python/lsst/daf/butler/registry/_collection_type.py CollectionType.from_names 3 3 0 4 0 0%
python/lsst/daf/butler/registry/_collection_type.py (no function) 19 0 0 6 0 100%
python/lsst/daf/butler/registry/_config.py RegistryConfig.getDialect 2 2 0 0 0 0%
python/lsst/daf/butler/registry/_config.py RegistryConfig.getDatabaseClass 8 8 0 4 0 0%
python/lsst/daf/butler/registry/_config.py RegistryConfig.makeDefaultDatabaseUri 2 2 0 0 0 0%
python/lsst/daf/butler/registry/_config.py RegistryConfig.replaceRoot 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_config.py RegistryConfig.connectionString 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_config.py (no function) 18 0 3 2 0 100%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.full 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.add 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.set 6 6 0 4 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.clear 2 2 0 0 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.discard 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.get 4 4 0 2 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.get_dataset_type 4 4 0 2 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py DatasetTypeCache.items 3 3 0 2 0 0%
python/lsst/daf/butler/registry/_dataset_type_cache.py (no function) 17 0 0 2 0 100%
python/lsst/daf/butler/registry/_defaults.py RegistryDefaults.__init__ 8 8 0 4 0 0%
python/lsst/daf/butler/registry/_defaults.py RegistryDefaults.from_data_id 4 4 0 0 0 0%
python/lsst/daf/butler/registry/_defaults.py RegistryDefaults.__repr__ 7 7 0 6 0 0%
python/lsst/daf/butler/registry/_defaults.py RegistryDefaults.finish 19 19 0 16 0 0%
python/lsst/daf/butler/registry/_defaults.py (no function) 23 0 3 4 0 100%
python/lsst/daf/butler/registry/_exceptions.py (no function) 13 0 0 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.isWriteable 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.dimensions 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.defaults 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.defaults 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.refresh 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.caching_context 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.transaction 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.resetConnectionPool 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_registry.py Registry.registerCollection 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getCollectionType 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.registerRun 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.removeCollection 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getCollectionChain 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.setCollectionChain 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getCollectionParentChains 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getCollectionDocumentation 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.setCollectionDocumentation 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getCollectionSummary 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.registerDatasetType 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.removeDatasetType 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getDatasetType 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.supportsIdGenerationMode 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.findDataset 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.insertDatasets 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry._importDatasets 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getDataset 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.removeDatasets 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.associate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.disassociate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.certify 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.decertify 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.getDatasetLocations 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.expandDataId 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.insertDimensionData 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.syncDimensionData 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.queryDatasetTypes 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.queryCollections 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.queryDatasets 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.queryDataIds 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.queryDimensionRecords 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.queryDatasetAssociations 0 0 1 0 0 100%
python/lsst/daf/butler/registry/_registry.py Registry.obsCoreTableManager 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_registry.py (no function) 113 0 2 98 0 100%
python/lsst/daf/butler/registry/_registry_factory.py _RegistryFactory.__init__ 9 9 0 6 0 0%
python/lsst/daf/butler/registry/_registry_factory.py _RegistryFactory.create_from_config 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_registry_factory.py _RegistryFactory.from_config 1 1 0 0 0 0%
python/lsst/daf/butler/registry/_registry_factory.py (no function) 13 0 2 0 0 100%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.clone 1 1 0 0 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.initialize 2 2 0 0 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.get 6 6 0 4 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.set 8 8 0 4 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.delete 2 2 0 0 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.items 5 5 0 4 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.empty 4 4 0 2 0 0%
python/lsst/daf/butler/registry/attributes.py DefaultButlerAttributeManager.currentVersions 1 1 0 0 0 0%
python/lsst/daf/butler/registry/attributes.py (no function) 23 0 0 4 0 100%
python/lsst/daf/butler/registry/bridge/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.insert 1 1 0 2 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.ensure 1 1 0 2 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.forget 1 1 0 2 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge._rollbackMoveToTrash 2 2 0 2 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.moveToTrash 5 5 0 6 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.check 1 1 0 2 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.__contains__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py EphemeralDatastoreRegistryBridge.emptyTrash 11 11 0 12 0 0%
python/lsst/daf/butler/registry/bridge/ephemeral.py (no function) 18 0 3 2 0 100%
python/lsst/daf/butler/registry/bridge/monolithic.py _makeTableSpecs 6 6 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge._refsToRows 1 1 0 2 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.ensure 1 1 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.insert 1 1 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.forget 2 2 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.moveToTrash 4 4 0 2 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.check 6 6 0 6 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.emptyTrash 22 22 0 22 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridge.emptyTrash.join_records 2 2 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager.clone 1 1 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager.initialize 2 2 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager.refresh 1 1 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager.register 3 3 0 2 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager.findDatastores 8 8 0 8 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py MonolithicDatastoreRegistryBridgeManager.currentVersions 1 1 0 0 0 0%
python/lsst/daf/butler/registry/bridge/monolithic.py (no function) 37 0 4 6 0 100%
python/lsst/daf/butler/registry/connectionString.py ConnectionStringFactory.fromConfig 17 17 0 8 0 0%
python/lsst/daf/butler/registry/connectionString.py (no function) 13 0 2 2 0 100%
python/lsst/daf/butler/registry/databases/__init__.py (no function) 0 0 0 0 0 100%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.__init__ 17 17 0 8 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase._init 5 5 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.clone 3 3 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.makeEngine 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.fromEngine 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase._transaction 9 9 0 10 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.temporary_table 2 2 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase._lockTables 2 2 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.isWriteable 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.shrinkDatabaseEntityName 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.expandDatabaseEntityName 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase._convertExclusionConstraintSpec 11 11 0 6 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase._make_temporary_table 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.getTimespanRepresentation 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.replace 9 9 0 6 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.ensure 9 9 0 6 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.constant_rows 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.has_distinct_on 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.has_any_aggregate 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py PostgresqlDatabase.apply_any_aggregate 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanType.process_bind_param 12 12 0 6 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanType.process_result_value 8 8 0 4 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.makeFieldSpecs 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.getFieldNames 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.update 6 6 0 4 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.extract 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.fromLiteral 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.from_columns 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.name 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.isNull 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.isEmpty 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.__lt__ 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.__gt__ 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.overlaps 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.contains 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.lower 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.upper 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.flatten 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py _RangeTimespanRepresentation.apply_any_aggregate 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/postgresql.py (no function) 79 0 0 28 0 100%
python/lsst/daf/butler/registry/databases/sqlite.py _onSqlite3Connect 5 5 0 2 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase._init 3 3 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.clone 3 3 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.makeDefaultUri 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.makeEngine 27 27 2 12 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.makeEngine.creator 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.makeEngine._onSqlite3Begin 5 5 0 2 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.fromEngine 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.isWriteable 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.__str__ 3 3 0 2 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase._lockTables 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.declareStaticTables 6 6 0 4 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase._convertFieldSpec 7 7 0 6 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase._makeColumnConstraints 6 6 0 2 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase._convertTableSpec 11 11 1 10 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.replace 9 9 0 6 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.ensure 9 9 0 6 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.constant_rows 2 2 0 2 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.has_distinct_on 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.has_any_aggregate 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py SqliteDatabase.apply_any_aggregate 1 1 0 0 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py _find_database_filename 13 13 0 12 0 0%
python/lsst/daf/butler/registry/databases/sqlite.py (no function) 44 0 0 10 0 100%
python/lsst/daf/butler/registry/interfaces/__init__.py (no function) 9 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.get 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.set 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.delete 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.items 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.empty 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py ButlerAttributeManager.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_attributes.py (no function) 24 0 2 18 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef.__eq__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef.datasetType 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py FakeDatasetRef._datastore_records 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge.insert 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge.ensure 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge.forget 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge.moveToTrash 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge.check 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridge.emptyTrash 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridgeManager.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridgeManager.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridgeManager.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridgeManager.refresh 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridgeManager.register 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py DatastoreRegistryBridgeManager.findDatastores 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_bridge.py (no function) 58 0 9 32 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionRecord.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionRecord.__eq__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionRecord.__hash__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionRecord.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionRecord.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py RunRecord.__init__ 5 5 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py RunRecord.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py ChainedCollectionRecord.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py ChainedCollectionRecord.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.addCollectionForeignKey 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.addRunForeignKey 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.getCollectionForeignKeyName 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.getRunForeignKeyName 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.refresh 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.register 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.remove 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.find 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.__getitem__ 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.resolve_wildcard 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.getDocumentation 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.setDocumentation 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.getParentChains 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.update_chain 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.prepend_collection_chain 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.extend_collection_chain 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.remove_from_collection_chain 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager.lookup_name_sql 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py CollectionManager._block_for_concurrency_test 0 0 0 0 0 100%
python/lsst/daf/butler/registry/interfaces/_collections.py (no function) 83 0 3 58 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py _checkExistingTableDefinition 3 3 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py StaticTablesContext.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py StaticTablesContext.addTable 7 7 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py StaticTablesContext.addTableTuple 1 1 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py StaticTablesContext.addInitializer 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.__init__ 6 6 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.__repr__ 6 6 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.makeDefaultUri 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.fromUri 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.makeEngine 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.fromEngine 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.session 2 2 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.transaction 2 2 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.temporary_table 8 8 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._session 9 9 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._transaction 18 18 0 10 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._lockTables 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.isTableWriteable 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.assertTableWriteable 2 2 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.declareStaticTables 22 22 0 16 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.isWriteable 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.isInTransaction 2 2 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.__str__ 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.dialect 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.shrinkDatabaseEntityName 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.expandDatabaseEntityName 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._mangleTableName 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._makeColumnConstraints 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._convertFieldSpec 5 5 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._convertForeignKeySpec 2 2 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._convertExclusionConstraintSpec 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database._convertTableSpec 13 13 0 16 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.ensureTableExists 18 18 0 10 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.getExistingTable 14 14 0 8 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database._make_temporary_table 13 13 0 10 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.getTimespanRepresentation 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.sync 39 39 0 32 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.sync.check 21 21 0 20 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.sync.check.safeNotEqual 3 3 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.sync._format_bad 2 2 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.insert 19 19 0 18 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.replace 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.ensure 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.delete 39 39 0 28 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.deleteWhere 4 4 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.update 6 6 0 6 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.query 8 8 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.constant_rows 3 3 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.get_constant_rows_max 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_database.py Database.has_distinct_on 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.has_any_aggregate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py Database.apply_any_aggregate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_database.py (no function) 111 0 0 70 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.insert 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.import_ 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.delete 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.associate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.disassociate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.certify 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.decertify 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.make_relation 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorage.make_query_joiner 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.getIdColumnType 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.supportsIdGenerationMode 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.addDatasetForeignKey 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.refresh 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.__getitem__ 4 4 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.find 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.register 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.remove 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.resolve_wildcard 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.getDatasetRef 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.getCollectionSummary 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.fetch_summaries 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py DatasetRecordStorageManager.ingest_date_dtype 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_datasets.py (no function) 70 0 8 62 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.fetch_cache_dict 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.insert 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.sync 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.fetch_one 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.save_dimension_group 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.load_dimension_group 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.join 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.make_spatial_join_relation 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.make_query_joiner 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py DimensionRecordStorageManager.process_query_overlaps 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_dimensions.py (no function) 37 0 5 26 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.config_json 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.add_datasets 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.associate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.disassociate 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.update_exposure_regions 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py ObsCoreTableManager.query 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_obscore.py (no function) 29 0 9 24 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorage.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorage.insert 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorage.ensure 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorage.replace 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorage.fetch 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorage.delete 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorageManager.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorageManager.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorageManager.__getitem__ 4 4 0 2 0 0%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorageManager.get 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorageManager.register 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py OpaqueTableStorageManager.clone 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_opaque.py (no function) 35 0 2 22 0 100%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionTuple.fromString 7 7 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionTuple.checkCompatibility 5 5 0 4 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionTuple.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension.extensionName 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension.currentVersions 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension.newSchemaVersion 1 1 0 0 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension.clsNewSchemaVersion 9 9 0 6 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension._newDefaultSchemaVersion 0 0 1 0 0 100%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension.checkCompatibility 5 5 0 6 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py VersionedExtension.checkNewSchemaVersion 5 5 0 6 0 0%
python/lsst/daf/butler/registry/interfaces/_versioning.py (no function) 30 0 0 18 0 100%
python/lsst/daf/butler/registry/managers.py RegistryManagerTypes.fromConfig 27 27 0 18 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerTypes.makeRepo 19 19 0 10 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerTypes.loadRepo 22 22 0 14 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerTypes.as_dict 3 3 0 4 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerInstances.caching_context_manager 4 4 0 0 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerInstances.initialize 18 18 0 4 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerInstances.clone 9 9 0 2 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerInstances.as_dict 2 2 0 4 0 0%
python/lsst/daf/butler/registry/managers.py RegistryManagerInstances.refresh 2 2 0 0 0 0%
python/lsst/daf/butler/registry/managers.py (no function) 67 0 0 12 0 100%
python/lsst/daf/butler/registry/obscore/__init__.py (no function) 5 0 0 0 0 100%
python/lsst/daf/butler/registry/obscore/_config.py ObsCoreManagerConfig.validate_collection_type 5 5 0 4 0 0%
python/lsst/daf/butler/registry/obscore/_config.py (no function) 75 0 0 2 0 100%
python/lsst/daf/butler/registry/obscore/_manager.py _ExposureRegionFactory.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py _ExposureRegionFactory.exposure_region 20 20 0 10 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.__init__ 22 22 0 8 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.clone 1 1 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.initialize 9 9 0 2 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.config_json 1 1 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.currentVersions 1 1 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.add_datasets 17 17 0 12 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.associate 5 5 0 4 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.disassociate 12 12 0 10 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager._populate 8 8 0 6 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager._check_dataset_run 3 3 0 4 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.update_exposure_regions 17 17 0 4 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py ObsCoreLiveTableManager.query 12 12 0 12 0 0%
python/lsst/daf/butler/registry/obscore/_manager.py (no function) 39 0 3 6 0 100%
python/lsst/daf/butler/registry/obscore/_records.py ExposureRegionFactory.exposure_region 0 0 1 0 0 100%
python/lsst/daf/butler/registry/obscore/_records.py RecordFactory.__init__ 9 9 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_records.py RecordFactory.__call__ 76 76 0 42 0 0%
python/lsst/daf/butler/registry/obscore/_records.py RecordFactory.make_spatial_records 6 6 0 4 0 0%
python/lsst/daf/butler/registry/obscore/_records.py RecordFactory._exposure_records 2 2 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_records.py RecordFactory._visit_records 2 2 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_records.py (no function) 25 0 6 4 1 97%
python/lsst/daf/butler/registry/obscore/_schema.py ObsCoreSchema.__init__ 36 36 0 26 0 0%
python/lsst/daf/butler/registry/obscore/_schema.py ObsCoreSchema.table_spec 1 1 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_schema.py ObsCoreSchema.dataset_fk 1 1 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_schema.py ObsCoreSchema.dimension_column 1 1 0 0 0 0%
python/lsst/daf/butler/registry/obscore/_schema.py (no function) 20 0 2 4 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py SpatialObsCorePlugin.initialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py SpatialObsCorePlugin.extend_table_spec 0 0 1 0 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py SpatialObsCorePlugin.make_records 0 0 1 0 0 100%
python/lsst/daf/butler/registry/obscore/_spatial.py SpatialObsCorePlugin.load_plugins 15 15 0 8 0 0%
python/lsst/daf/butler/registry/obscore/_spatial.py (no function) 20 0 5 12 0 100%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.insert 1 1 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.ensure 1 1 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.replace 1 1 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.fetch 10 10 0 8 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.fetch._batch_in_clause 5 5 0 2 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.fetch._batch_in_clauses 8 8 0 6 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorage.delete 1 1 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorageManager.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorageManager.clone 1 1 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorageManager.initialize 2 2 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorageManager.get 4 4 0 2 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorageManager.register 8 8 0 2 0 0%
python/lsst/daf/butler/registry/opaque.py ByNameOpaqueTableStorageManager.currentVersions 1 1 0 0 0 0%
python/lsst/daf/butler/registry/opaque.py (no function) 29 0 2 4 0 100%
python/lsst/daf/butler/registry/queries/__init__.py (no function) 9 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/_builder.py QueryBuilder.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/_builder.py QueryBuilder.joinDataset 14 14 0 6 0 0%
python/lsst/daf/butler/registry/queries/_builder.py QueryBuilder._addWhereClause 11 11 0 10 0 0%
python/lsst/daf/butler/registry/queries/_builder.py QueryBuilder.finish 20 20 0 14 0 0%
python/lsst/daf/butler/registry/queries/_builder.py (no function) 18 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/_query.py Query.__init__ 8 8 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.relation 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.has_record_columns 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.backend 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.open_context 5 5 0 6 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.iter_data_ids 8 8 0 8 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.iter_dataset_refs 10 10 0 10 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.iter_data_ids_and_dataset_refs 11 11 0 10 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.iter_dimension_records 15 15 0 14 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.run 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.materialized 11 11 0 6 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.projected 30 30 0 24 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.with_record_columns 17 17 0 10 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.find_datasets 43 43 0 29 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.sliced 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.sorted 14 14 0 4 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.count 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.any 9 9 0 8 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query.explain_no_results 8 8 0 6 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query._copy 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query.py Query._chain 8 8 0 6 0 0%
python/lsst/daf/butler/registry/queries/_query.py (no function) 47 0 0 12 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.universe 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.caching_context 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.context 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.get_collection_name 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.resolve_collection_wildcard 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.resolve_dataset_type_wildcard 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.resolve_single_dataset_type_wildcard 12 12 0 12 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.filter_dataset_collections 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.resolve_dataset_collections 18 18 1 12 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend._make_dataset_query_relation_impl 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.make_dataset_query_relation 16 16 0 9 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.make_dataset_search_relation 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.make_doomed_dataset_relation 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.make_dimension_relation 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.resolve_governor_constraints 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.get_dimension_record_cache 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend.extract_dimension_relationships 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py QueryBackend._extract_leaf_relations 9 9 1 6 0 0%
python/lsst/daf/butler/registry/queries/_query_backend.py (no function) 48 0 2 24 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.preferred_engine 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.is_open 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.make_initial_relation 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.fetch_iterable 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.count 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.any 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.transfer 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.materialize 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.restore_columns 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.strip_postprocessing 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.drop_invalidated_postprocessing 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.make_data_coordinate_predicate 9 9 0 4 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.make_spatial_region_skypix_predicate 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.make_spatial_region_overlap_predicate 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.make_timespan_overlap_predicate 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py QueryContext.make_data_id_relation 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py regions_overlap 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_query_context.py (no function) 40 0 0 18 0 100%
python/lsst/daf/butler/registry/queries/_readers.py DataCoordinateReader.make 15 15 0 12 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DataCoordinateReader.read 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_readers.py DataCoordinateReader.columns_required 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_readers.py _BasicDataCoordinateReader.__init__ 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _BasicDataCoordinateReader.read 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _BasicDataCoordinateReader.columns_required 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _FullDataCoordinateReader.__init__ 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _FullDataCoordinateReader.read 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _FullDataCoordinateReader.columns_required 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _ExpandedDataCoordinateReader.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _ExpandedDataCoordinateReader.read 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/_readers.py _ExpandedDataCoordinateReader.columns_required 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DatasetRefReader.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DatasetRefReader.read 8 8 0 6 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DatasetRefReader.columns_required 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DimensionRecordReader.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DimensionRecordReader.read 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/_readers.py DimensionRecordReader.columns_required 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_readers.py (no function) 51 0 2 28 0 100%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.graph 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.hasFull 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.hasRecords 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.materialize 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.expanded 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.subset 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.findDatasets 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.findRelatedDatasets 6 6 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.count 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.any 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.explain_no_results 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.order_by 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DataCoordinateQueryResults.limit 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults.byParentDatasetType 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults.materialize 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults.expanded 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults.count 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults.any 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults.explain_no_results 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatasetQueryResults._iter_by_dataset_type 8 8 0 8 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.components 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.byParentDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.materialize 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.parentDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.dataIds 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.withComponents 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.expanded 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.count 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.any 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ParentDatasetQueryResults.explain_no_results 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.byParentDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.materialize 2 2 0 4 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.expanded 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.count 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.any 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py ChainedDatasetQueryResults.explain_no_results 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults.element 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults.run 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults.count 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults.any 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults.order_by 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults.limit 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DimensionRecordQueryResults.explain_no_results 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.element 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.run 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.count 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.any 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.order_by 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.limit 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/_results.py DatabaseDimensionRecordQueryResults.explain_no_results 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_results.py (no function) 111 0 0 58 0 100%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.universe 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.caching_context 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.context 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.get_collection_name 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.resolve_collection_wildcard 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.resolve_dataset_type_wildcard 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.filter_dataset_collections 11 11 0 12 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend._make_dataset_query_relation_impl 5 5 0 2 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.make_dimension_relation 44 44 1 32 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.resolve_governor_constraints 9 9 0 8 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py SqlQueryBackend.get_dimension_record_cache 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_backend.py (no function) 30 0 2 2 0 100%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.__enter__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.__exit__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.is_open 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.column_types 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.preferred_engine 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.count 14 14 0 10 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.any 13 13 0 10 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.transfer 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.materialize 11 11 0 4 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.restore_columns 37 37 1 26 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.strip_postprocessing 10 10 0 6 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext.drop_invalidated_postprocessing 12 12 0 8 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext._sql_to_iteration 5 5 0 2 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext._iteration_to_sql 21 21 0 10 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext._strip_empty_invariant_operations 11 11 0 10 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py SqlQueryContext._strip_count_invariant_operations 11 11 0 10 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py _SqlRowIterable.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py _SqlRowIterable.__iter__ 9 9 0 10 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py _SqlRowTransformer.__init__ 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py _SqlRowTransformer.sql_to_relation 4 4 0 4 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py _SqlRowTransformer.relation_to_sql 6 6 0 6 0 0%
python/lsst/daf/butler/registry/queries/_sql_query_context.py (no function) 43 0 2 6 0 100%
python/lsst/daf/butler/registry/queries/_structs.py QueryWhereClause.combine 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/_structs.py OrderByClause.parse_general 12 12 0 6 0 0%
python/lsst/daf/butler/registry/queries/_structs.py OrderByClause.parse_element 12 12 0 6 0 0%
python/lsst/daf/butler/registry/queries/_structs.py OrderByClause._make_term 10 10 0 4 0 0%
python/lsst/daf/butler/registry/queries/_structs.py OrderByClause.columns_required 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/_structs.py ElementOrderByClause.__init__ 10 10 0 6 0 0%
python/lsst/daf/butler/registry/queries/_structs.py QuerySummary.__init__ 9 9 0 2 0 0%
python/lsst/daf/butler/registry/queries/_structs.py QuerySummary.universe 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/_structs.py QuerySummary._compute_columns_required 32 32 0 26 0 0%
python/lsst/daf/butler/registry/queries/_structs.py (no function) 76 0 0 26 0 100%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine._append_unary_to_select 8 8 0 4 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.get_identifier 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.extract_mapping 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.select_items 8 8 0 4 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.make_zero_select 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.convert_column_literal 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py ButlerSqlEngine.to_payload 14 14 0 6 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py _assert_column_is_directly_usable_by_sqlalchemy 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/butler_sql_engine.py (no function) 31 0 0 2 0 100%
python/lsst/daf/butler/registry/queries/expressions/__init__.py (no function) 1 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py make_string_expression_predicate 40 40 0 24 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.to_datetime 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitBinaryOp 46 46 0 38 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitIdentifier 34 34 1 18 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitIsIn 19 19 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitNumericLiteral 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitParens 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitPointNode 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitRangeLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitStringLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitTimeLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitTupleNode 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py PredicateConversionVisitor.visitUnaryOp 8 8 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/_predicate.py (no function) 42 2 0 0 0 95%
python/lsst/daf/butler/registry/queries/expressions/categorize.py categorizeConstant 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/categorize.py categorizeElementId 18 18 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/categorize.py categorizeOrderByName 38 38 0 40 0 0%
python/lsst/daf/butler/registry/queries/expressions/categorize.py categorizeElementOrderByName 33 33 0 32 0 0%
python/lsst/daf/butler/registry/queries/expressions/categorize.py (no function) 12 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionSummary.update 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionSummary.make_column_tag_set 9 9 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py TreeSummary.merge 8 8 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py TreeSummary.isDataIdKeyOnly 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py TreeSummary.isDataIdValueOnly 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitNumericLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitStringLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitTimeLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitIdentifier 18 18 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitUnaryOp 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitBinaryOp 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitIsIn 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitParens 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitTupleNode 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitRangeLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py InspectionVisitor.visitPointNode 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py CheckVisitor.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py CheckVisitor.universe 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py CheckVisitor.visitBranch 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py CheckVisitor.visitInner 23 23 0 16 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py CheckVisitor.visitOuter 23 23 0 20 0 0%
python/lsst/daf/butler/registry/queries/expressions/check.py (no function) 62 0 3 10 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperator.apply 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalForm.inner 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalForm.outer 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalForm.allows 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormVisitor.visitBranch 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormVisitor.visitInner 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormVisitor.visitOuter 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormExpression.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormExpression.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormExpression.fromTree 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormExpression.form 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormExpression.visit 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py NormalFormExpression.toTree 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py PrecedenceTier.needsParens 7 7 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper.__str__ 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper.precedence 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper.not_ 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper.satisfies 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper.normalize 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper.flatten 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper._satisfiesDispatch 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper._normalizeDispatch 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper._satisfiesDispatchAtomic 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper._normalizeDispatchAtomic 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper._satisfiesDispatchBinary 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper._normalizeDispatchBinary 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationWrapper.unwrap 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py Opaque.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py Opaque.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py Opaque.precedence 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py Opaque.not_ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py Opaque.unwrap 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalNot.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalNot.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalNot.precedence 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalNot.not_ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalNot.unwrap 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.precedence 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.not_ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.satisfies 5 5 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.normalize 5 5 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.flatten 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation._satisfiesDispatch 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation._normalizeDispatch 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation._satisfiesDispatchAtomic 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation._normalizeDispatchAtomic 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation._satisfiesDispatchBinary 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation._normalizeDispatchBinary 9 9 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py LogicalBinaryOperation.unwrap 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitNumericLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitStringLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitTimeLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitRangeLiteral 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitIdentifier 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitUnaryOp 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitBinaryOp 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitIsIn 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitParens 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitTupleNode 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TransformationVisitor.visitPointNode 0 0 1 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TreeReconstructionVisitor.visitBranch 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TreeReconstructionVisitor._visitSequence 6 6 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TreeReconstructionVisitor.visitInner 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py TreeReconstructionVisitor.visitOuter 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/normalForm.py (no function) 127 0 0 34 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/__init__.py (no function) 4 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Node.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Node.visit 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py BinaryOp.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py BinaryOp.visit 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py BinaryOp.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py UnaryOp.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py UnaryOp.visit 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py UnaryOp.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py StringLiteral.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py StringLiteral.visit 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py StringLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TimeLiteral.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TimeLiteral.visit 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TimeLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py NumericLiteral.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py NumericLiteral.visit 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py NumericLiteral.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Identifier.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Identifier.visit 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Identifier.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py RangeLiteral.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py RangeLiteral.visit 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py RangeLiteral.__str__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py IsIn.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py IsIn.visit 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py IsIn.__str__ 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Parens.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Parens.visit 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py Parens.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TupleNode.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TupleNode.visit 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py TupleNode.__str__ 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py FunctionCall.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py FunctionCall.visit 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py FunctionCall.__str__ 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py PointNode.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py PointNode.visit 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py PointNode.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py function_call 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py (no function) 58 0 3 2 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLexError.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.make_lexer 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_newline 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_TIME_LITERAL 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_STRING_LITERAL 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_RANGE_LITERAL 8 8 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_NUMERIC_LITERAL 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_QUALIFIED_IDENTIFIER 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_SIMPLE_IDENTIFIER 6 6 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py ParserLex.t_error 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py (no function) 37 0 0 4 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py _parseTimeString 42 42 0 34 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParseError.__init__ 8 8 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParseError._posInLine 5 5 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserEOFError.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.parse 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_input 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_empty 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_expr 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_bool_primary 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_predicate 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_identifier 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_literal_or_id_list 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_bit_expr 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_simple_expr_lit 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_simple_expr_id 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_simple_expr_function_call 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_simple_expr_unary 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_simple_expr_paren 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_simple_expr_tuple 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_literal_num 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_literal_num_signed 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_literal_str 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_literal_time 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_literal_range 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_function_call 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_expr_list 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py ParserYacc.p_error 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py (no function) 48 2 0 0 0 96%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/__init__.py (no function) 2 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexError.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexToken.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexToken.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py PlyLogger.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py PlyLogger.critical 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py PlyLogger.warning 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py PlyLogger.error 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py NullLogger.__getattribute__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py NullLogger.__call__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.__init__ 23 23 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.clone 20 20 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.writetab 27 27 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.readtab 28 28 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.input 6 6 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.begin 8 8 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.push_state 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.pop_state 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.current_state 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.skip 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.token 76 76 0 30 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.__iter__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py Lexer.next 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py _get_regex 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py get_caller_module_dict 5 5 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py _funcs_to_names 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py _names_to_funcs 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py _form_master_re 25 25 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py _statetoken 11 11 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.__init__ 8 8 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.get_all 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.validate_all 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.get_tokens 14 14 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.validate_tokens 8 8 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.get_literals 3 3 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.validate_literals 8 8 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.get_states 24 24 0 14 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.get_rules 49 49 0 42 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.validate_rules 75 75 0 38 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py LexerReflect.validate_module 21 21 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py lex 120 120 0 80 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py runmain 21 21 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py TOKEN 2 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py TOKEN.set_regex 4 1 0 2 1 67%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py (no function) 65 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py PlyLogger.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py PlyLogger.debug 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py PlyLogger.warning 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py PlyLogger.error 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py NullLogger.__getattribute__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py NullLogger.__call__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py format_result 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py format_stack_entry 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py errok 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py restart 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py token 2 2 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py call_errorfunc 9 9 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccSymbol.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccSymbol.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.__getitem__ 5 5 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.__setitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.__getslice__ 1 1 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.lineno 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.set_lineno 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.linespan 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.lexpos 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.set_lexpos 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.lexspan 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py YaccProduction.error 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.__init__ 6 6 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.errok 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.restart 6 6 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.set_defaulted_states 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.disable_defaulted_states 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.parse 7 7 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.parsedebug 186 186 0 72 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.parseopt 172 172 0 64 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRParser.parseopt_notrack 156 156 0 56 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.__init__ 18 18 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.__nonzero__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.lr_item 12 12 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Production.bind 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py MiniProduction.__init__ 7 7 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py MiniProduction.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py MiniProduction.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py MiniProduction.bind 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRItem.__init__ 9 9 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRItem.__str__ 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRItem.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py rightmost_terminal 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.__init__ 13 13 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.__len__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.__getitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.set_precedence 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.add_production 53 53 0 34 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.set_start 7 7 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.find_unreachable 4 4 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.find_unreachable.mark_reachable_from 6 6 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.infinite_cycles 29 29 0 24 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.undefined_symbols 8 8 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.unused_terminals 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.unused_rules 6 6 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.unused_precedence 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar._first 13 13 0 10 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.compute_first 18 18 0 16 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.compute_follow 30 30 0 28 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py Grammar.build_lritems 23 23 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRTable.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRTable.read_table 13 13 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRTable.read_pickle 20 20 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRTable.bind_callables 2 2 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py digraph 9 9 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py traverse 20 20 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.__init__ 22 22 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.lr0_closure 13 13 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.lr0_goto 25 25 0 14 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.lr0_items 20 20 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.compute_nullable_nonterminals 15 15 0 10 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.find_nonterminal_transitions 9 9 0 10 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.dr_relation 12 12 0 10 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.reads_relation 10 10 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.compute_lookback_includes 44 44 0 32 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.compute_read_sets 4 4 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.compute_follow_sets 4 4 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.add_lookaheads 8 8 0 10 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.add_lalr_lookaheads 6 6 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.lr_parse_table 127 127 0 78 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.write_table 67 67 0 38 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py LRGeneratedTable.pickle_table 16 16 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py get_caller_module_dict 5 5 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py parse_grammar 27 27 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.__init__ 10 10 0 2 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.get_all 5 5 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.validate_all 7 7 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.signature 14 14 0 12 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.validate_modules 17 17 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.get_start 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.validate_start 3 3 0 4 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.get_error_func 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.validate_error_func 16 16 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.get_tokens 14 14 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.validate_tokens 9 9 0 6 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.get_precedence 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.validate_precedence 27 27 0 16 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.get_pfunctions 10 10 0 8 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py ParserReflect.validate_pfunctions 43 43 0 28 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py yacc 199 199 0 122 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py (no function) 155 1 0 2 1 99%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitNumericLiteral 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitStringLiteral 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitTimeLiteral 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitRangeLiteral 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitIdentifier 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitUnaryOp 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitBinaryOp 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitIsIn 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitParens 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitTupleNode 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitFunctionCall 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py TreeVisitor.visitPointNode 0 0 0 0 0 100%
python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py (no function) 29 0 3 22 0 100%
python/lsst/daf/butler/registry/queries/find_first_dataset.py FindFirstDataset.columns_required 3 3 0 0 0 0%
python/lsst/daf/butler/registry/queries/find_first_dataset.py FindFirstDataset.is_empty_invariant 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/find_first_dataset.py FindFirstDataset.is_order_dependent 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/find_first_dataset.py FindFirstDataset.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/find_first_dataset.py FindFirstDataset.applied_min_rows 1 1 0 0 0 0%
python/lsst/daf/butler/registry/queries/find_first_dataset.py FindFirstDataset.commute 5 5 0 4 0 0%
python/lsst/daf/butler/registry/queries/find_first_dataset.py (no function) 25 0 0 15 0 100%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.forceRegistryConfig 5 5 0 4 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.createFromConfig 13 13 0 6 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.fromConfig 10 10 0 4 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.__init__ 6 6 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.isWriteable 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.copy 7 7 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.dimensions 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.defaults 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.defaults 4 4 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.refresh 3 3 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.caching_context 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.transaction 2 2 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.resetConnectionPool 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.registerOpaqueTable 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.insertOpaqueData 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.fetchOpaqueData 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.deleteOpaqueData 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.registerCollection 2 2 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getCollectionType 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.get_collection_record 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.registerRun 2 2 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.removeCollection 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getCollectionChain 5 5 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.setCollectionChain 4 4 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getCollectionParentChains 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getCollectionDocumentation 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.setCollectionDocumentation 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getCollectionSummary 2 2 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.registerDatasetType 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.removeDatasetType 9 9 0 8 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getDatasetType 5 5 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.supportsIdGenerationMode 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.findDataset 53 53 0 40 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.insertDatasets 27 27 0 20 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry._importDatasets 33 33 0 26 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getDataset 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.removeDatasets 7 7 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.associate 13 13 0 6 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.disassociate 9 9 0 6 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.certify 5 5 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.decertify 8 8 0 6 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getDatastoreBridgeManager 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.getDatasetLocations 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.expandDataId 39 39 0 32 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.insertDimensionData 8 8 0 8 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.syncDimensionData 8 8 0 6 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.queryDatasetTypes 6 6 0 4 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.queryCollections 6 6 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry._makeQueryBuilder 7 7 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry._standardize_query_data_id_args 5 5 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry._standardize_query_dataset_args 18 18 0 14 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.queryDatasets 26 26 0 16 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.queryDataIds 16 16 0 8 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.queryDimensionRecords 20 20 0 10 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.queryDatasetAssociations 23 23 0 16 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.get_datastore_records 5 5 0 4 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.store_datastore_records 8 8 0 6 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.make_datastore_tables 8 8 0 2 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.preload_cache 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py SqlRegistry.obsCoreTableManager 1 1 0 0 0 0%
python/lsst/daf/butler/registry/sql_registry.py (no function) 119 0 6 38 0 100%
python/lsst/daf/butler/registry/tests/__init__.py (no function) 2 0 0 0 0 100%
python/lsst/daf/butler/registry/tests/_database.py _patch_getExistingTable 5 5 0 0 0 0%
python/lsst/daf/butler/registry/tests/_database.py _patch_getExistingTable._getExistingTable 2 2 0 0 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.makeEmptyDatabase 0 0 1 0 0 100%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.asReadOnly 0 0 1 0 0 100%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.getNewConnection 0 0 1 0 0 100%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.query_list 2 2 0 2 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.query_scalar 2 2 0 2 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.checkTable 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.checkStaticSchema 3 3 0 0 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testDeclareStaticTables 8 8 0 6 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testDeclareStaticTablesTwice 9 9 0 8 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testRepr 5 5 0 0 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testDynamicTables 23 23 0 18 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testDynamicTablesConcurrency 11 11 0 6 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTemporaryTables 18 18 0 16 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testSchemaSeparation 9 9 0 4 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testInsertQueryDelete 48 48 0 30 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testDeleteWhere 17 17 0 4 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testUpdate 9 9 0 4 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testSync 31 31 0 24 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testReplace 19 19 0 12 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testEnsure 30 30 0 22 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTransactionNesting 20 20 0 20 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTransactionLocking 10 10 0 2 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTransactionLocking._side1 7 7 0 6 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTransactionLocking._side2 5 5 0 2 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTransactionLocking._side2._toRunInThread 5 5 0 4 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTransactionLocking._testProblemsWithNoLocking 14 14 0 4 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTransactionLocking._testSolutionWithLocking 10 10 0 2 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTimespanDatabaseRepresentation 98 98 0 80 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTimespanDatabaseRepresentation._convertRowForInsert 3 3 0 0 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testTimespanDatabaseRepresentation._convertRowFromSelect 6 6 0 2 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.testConstantRows 11 11 0 6 0 0%
python/lsst/daf/butler/registry/tests/_database.py DatabaseTests.test_aggregate 18 18 1 14 0 0%
python/lsst/daf/butler/registry/tests/_database.py (no function) 52 0 0 8 0 100%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.getDataDir 0 0 1 0 0 100%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.makeRegistryConfig 6 6 0 4 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.makeRegistry 0 0 1 0 0 100%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.loadData 5 5 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.checkQueryResults 5 5 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testOpaque 17 17 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDatasetType 24 24 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDimensions 26 26 0 10 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testNumpyDataId 9 9 0 6 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDataIdRelationships 12 12 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDataset 14 14 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testFindDataset 37 37 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testRemoveDatasetTypeSuccess 5 5 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testRemoveDatasetTypeFailure 7 7 0 4 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testImportDatasetsUUID 38 38 0 22 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testComponentLookups 11 11 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollections 105 105 0 22 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainCaching 6 6 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainFlatten 9 9 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainPrependConcurrency 4 4 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainPrependConcurrency.blocked_thread_func 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainPrependConcurrency.unblocked_thread_func 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainReplaceConcurrency 4 4 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainReplaceConcurrency.blocked_thread_func 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionChainReplaceConcurrency.unblocked_thread_func 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests._do_collection_concurrency_test 22 22 0 8 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests._do_collection_concurrency_test.wait_for_barrier 2 2 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testBasicTransaction 14 14 0 6 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testNestedTransaction 16 16 0 8 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testInstrumentDimensions 80 80 0 60 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testSkyMapDimensions 44 44 0 32 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testSpatialJoin 26 26 0 20 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testAbstractQuery 5 5 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testAttributeManager 28 28 0 10 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDatasetsDeduplication 6 6 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryResults 61 61 0 28 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testStorageClassPropagation 22 22 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testEmptyDimensionsQueries 55 55 0 10 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDimensionDataModifications 50 50 0 44 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDimensionDataModifications._unpack_range_set 2 2 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDimensionDataModifications._range_set_hull 4 4 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCalibrationCollections 157 157 0 32 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCalibrationCollections._assertLookup 4 4 0 4 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testSkipCalibs 27 27 0 4 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testIngestTimeQuery 28 28 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testTimespanQueries 32 32 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testTimespanQueries.query 1 1 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testCollectionSummaries 29 29 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testBindInQueryDatasets 4 4 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryIntRangeExpressions 5 5 0 6 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryResultSummaries 74 74 0 20 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDataIdsExpressionError 7 7 0 4 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDataIdsOrderBy 42 42 0 36 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDataIdsOrderBy.do_query 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDataIdsGovernorExceptions 22 22 0 14 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDataIdsGovernorExceptions.do_query 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDimensionRecordsOrderBy 28 28 0 22 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDimensionRecordsOrderBy.do_query 1 1 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testQueryDimensionRecordsExceptions 26 26 0 8 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDatasetConstrainedDimensionRecordQueries 7 7 0 4 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testSkyPixDatasetQueries 13 13 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testDatasetIdFactory 14 14 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.testExposureQueries 6 6 0 8 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_long_query_names 10 10 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_skypix_constraint_queries 20 20 0 15 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_spatial_constraint_queries 18 18 0 24 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_query_projection_drop_postprocessing 8 8 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_query_projection_drop_postprocessing.pop_transfer 5 5 0 2 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_query_find_datasets_drop_postprocessing 16 16 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_query_empty_collections 31 31 0 14 0 0%
python/lsst/daf/butler/registry/tests/_registry.py RegistryTests.test_dataset_followup_spatial_joins 11 11 0 0 0 0%
python/lsst/daf/butler/registry/tests/_registry.py (no function) 108 2 0 10 0 98%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager._managerConfigKey 1 1 0 0 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager._managerVersionKey 1 1 0 0 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager._manager_data 13 13 0 8 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager.checkCompatibility 5 5 0 4 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager.storeManagersConfig 11 11 0 4 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager._attributesEmpty 5 5 0 4 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager.checkManagersConfig 18 18 0 10 0 0%
python/lsst/daf/butler/registry/versions.py ButlerVersionsManager.managerVersions 5 5 0 4 0 0%
python/lsst/daf/butler/registry/versions.py (no function) 28 0 2 10 0 100%
python/lsst/daf/butler/registry/wildcards.py CategorizedWildcard.fromExpression 38 38 0 34 0 0%
python/lsst/daf/butler/registry/wildcards.py CategorizedWildcard.fromExpression.process 44 44 0 20 0 0%
python/lsst/daf/butler/registry/wildcards.py CollectionWildcard.__post_init__ 2 2 0 2 0 0%
python/lsst/daf/butler/registry/wildcards.py CollectionWildcard.from_expression 11 11 0 8 0 0%
python/lsst/daf/butler/registry/wildcards.py CollectionWildcard.from_names 1 1 0 0 0 0%
python/lsst/daf/butler/registry/wildcards.py CollectionWildcard.require_ordered 3 3 0 2 0 0%
python/lsst/daf/butler/registry/wildcards.py CollectionWildcard.empty 1 1 0 0 0 0%
python/lsst/daf/butler/registry/wildcards.py CollectionWildcard.__str__ 5 5 0 4 0 0%
python/lsst/daf/butler/registry/wildcards.py DatasetTypeWildcard.from_expression 16 16 0 12 0 0%
python/lsst/daf/butler/registry/wildcards.py DatasetTypeWildcard.__str__ 5 5 0 4 0 0%
python/lsst/daf/butler/registry/wildcards.py (no function) 45 0 0 14 0 100%
python/lsst/daf/butler/remote_butler/__init__.py (no function) 3 2 0 0 0 33%
python/lsst/daf/butler/remote_butler/_factory.py RemoteButlerFactory.__init__ 5 5 0 2 0 0%
python/lsst/daf/butler/remote_butler/_factory.py RemoteButlerFactory.create_factory_from_config 5 5 0 2 0 0%
python/lsst/daf/butler/remote_butler/_factory.py RemoteButlerFactory.create_factory_for_url 1 1 0 0 0 0%
python/lsst/daf/butler/remote_butler/_factory.py RemoteButlerFactory.create_butler_for_access_token 3 3 0 2 0 0%
python/lsst/daf/butler/remote_butler/_factory.py RemoteButlerFactory.create_butler_with_credentials_from_environment 4 4 0 2 0 0%
python/lsst/daf/butler/remote_butler/_factory.py (no function) 18 15 0 4 0 14%
python/lsst/daf/butler/repo_relocation.py replaceRoot 12 12 0 6 0 0%
python/lsst/daf/butler/repo_relocation.py (no function) 8 0 0 0 0 100%
python/lsst/daf/butler/script/__init__.py (no function) 21 0 0 0 0 100%
python/lsst/daf/butler/script/_associate.py associate 4 4 0 0 0 0%
python/lsst/daf/butler/script/_associate.py (no function) 6 0 0 0 0 100%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.__init__ 7 7 0 2 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.dryRun 1 1 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.confirm 1 1 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.finished 1 1 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.errPurgeAndDisassociate 1 1 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.errNoCollectionRestriction 1 1 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.errPruneOnNotRun 1 1 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py PruneDatasetsResult.errNoOp 1 1 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py pruneDatasets 31 31 0 20 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py pruneDatasets.doPruneDatasets 4 4 0 0 0 0%
python/lsst/daf/butler/script/_pruneDatasets.py (no function) 35 0 2 14 0 100%
python/lsst/daf/butler/script/butlerImport.py butlerImport 4 4 0 2 0 0%
python/lsst/daf/butler/script/butlerImport.py (no function) 5 0 0 0 0 100%
python/lsst/daf/butler/script/certifyCalibrations.py certifyCalibrations 10 10 0 4 0 0%
python/lsst/daf/butler/script/certifyCalibrations.py (no function) 6 0 0 0 0 100%
python/lsst/daf/butler/script/collectionChain.py collectionChain 18 18 0 10 0 0%
python/lsst/daf/butler/script/collectionChain.py _modify_collection_chain 12 12 0 10 0 0%
python/lsst/daf/butler/script/collectionChain.py _find_children_to_pop 11 11 0 10 0 0%
python/lsst/daf/butler/script/collectionChain.py _find_children_to_pop.convert_index 3 3 0 2 0 0%
python/lsst/daf/butler/script/collectionChain.py (no function) 8 0 0 0 0 100%
python/lsst/daf/butler/script/configDump.py configDump 9 9 0 4 0 0%
python/lsst/daf/butler/script/configDump.py (no function) 4 0 0 0 0 100%
python/lsst/daf/butler/script/configValidate.py configValidate 9 9 0 0 0 0%
python/lsst/daf/butler/script/configValidate.py (no function) 4 0 0 0 0 100%
python/lsst/daf/butler/script/createRepo.py createRepo 2 2 0 0 0 0%
python/lsst/daf/butler/script/createRepo.py (no function) 4 0 0 0 0 100%
python/lsst/daf/butler/script/exportCalibs.py parseCalibrationCollection 13 13 0 6 0 0%
python/lsst/daf/butler/script/exportCalibs.py exportCalibs 33 33 0 20 0 0%
python/lsst/daf/butler/script/exportCalibs.py (no function) 11 0 2 0 0 100%
python/lsst/daf/butler/script/ingest_files.py ingest_files 15 15 0 6 0 0%
python/lsst/daf/butler/script/ingest_files.py extract_datasets_from_table 14 14 0 4 0 0%
python/lsst/daf/butler/script/ingest_files.py parse_data_id_tuple 10 10 0 2 0 0%
python/lsst/daf/butler/script/ingest_files.py (no function) 15 0 3 0 0 100%
python/lsst/daf/butler/script/queryCollections.py _getTable 31 31 0 22 0 0%
python/lsst/daf/butler/script/queryCollections.py _getTree 7 7 0 2 0 0%
python/lsst/daf/butler/script/queryCollections.py _getTree.addCollection 10 10 0 8 0 0%
python/lsst/daf/butler/script/queryCollections.py _getFlatten 4 4 0 2 0 0%
python/lsst/daf/butler/script/queryCollections.py queryCollections 7 7 0 6 0 0%
python/lsst/daf/butler/script/queryCollections.py (no function) 9 0 0 0 0 100%
python/lsst/daf/butler/script/queryDataIds.py _Table.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/script/queryDataIds.py _Table.getAstropyTable 12 12 0 12 0 0%
python/lsst/daf/butler/script/queryDataIds.py queryDataIds 33 33 0 24 0 0%
python/lsst/daf/butler/script/queryDataIds.py (no function) 15 0 2 0 0 100%
python/lsst/daf/butler/script/queryDatasetTypes.py queryDatasetTypes 9 9 0 6 0 0%
python/lsst/daf/butler/script/queryDatasetTypes.py (no function) 6 0 0 0 0 100%
python/lsst/daf/butler/script/queryDatasets.py _Table.__init__ 1 1 0 0 0 0%
python/lsst/daf/butler/script/queryDatasets.py _Table.add 2 2 0 0 0 0%
python/lsst/daf/butler/script/queryDatasets.py _Table.getAstropyTable 18 18 0 14 0 0%
python/lsst/daf/butler/script/queryDatasets.py QueryDatasets.__init__ 6 6 0 2 0 0%
python/lsst/daf/butler/script/queryDatasets.py QueryDatasets._getDatasets 3 3 0 0 0 0%
python/lsst/daf/butler/script/queryDatasets.py QueryDatasets.getTables 12 12 0 12 0 0%
python/lsst/daf/butler/script/queryDatasets.py QueryDatasets.getDatasets 1 1 0 0 0 0%
python/lsst/daf/butler/script/queryDatasets.py (no function) 24 0 4 2 0 100%
python/lsst/daf/butler/script/queryDimensionRecords.py queryDimensionRecords 19 19 0 16 0 0%
python/lsst/daf/butler/script/queryDimensionRecords.py queryDimensionRecords.conform 8 8 0 6 0 0%
python/lsst/daf/butler/script/queryDimensionRecords.py (no function) 9 0 0 0 0 100%
python/lsst/daf/butler/script/register_dataset_type.py register_dataset_type 6 6 0 2 0 0%
python/lsst/daf/butler/script/register_dataset_type.py (no function) 5 0 0 0 0 100%
python/lsst/daf/butler/script/removeCollections.py _getCollectionInfo 13 13 0 4 0 0%
python/lsst/daf/butler/script/removeCollections.py removeCollections 4 4 0 0 0 0%
python/lsst/daf/butler/script/removeCollections.py removeCollections._doRemove 3 3 0 2 0 0%
python/lsst/daf/butler/script/removeCollections.py (no function) 18 0 0 4 0 100%
python/lsst/daf/butler/script/removeDatasetType.py removeDatasetType 2 2 0 0 0 0%
python/lsst/daf/butler/script/removeDatasetType.py (no function) 4 0 0 0 0 100%
python/lsst/daf/butler/script/removeRuns.py _getCollectionInfo 17 17 0 8 0 0%
python/lsst/daf/butler/script/removeRuns.py removeRuns 4 4 0 0 0 0%
python/lsst/daf/butler/script/removeRuns.py removeRuns._doRemove 8 8 0 8 0 0%
python/lsst/daf/butler/script/removeRuns.py (no function) 19 0 0 4 0 100%
python/lsst/daf/butler/script/retrieveArtifacts.py retrieveArtifacts 7 7 0 0 0 0%
python/lsst/daf/butler/script/retrieveArtifacts.py (no function) 8 0 2 0 0 100%
python/lsst/daf/butler/script/transferDatasets.py transferDatasets 10 10 0 2 0 0%
python/lsst/daf/butler/script/transferDatasets.py (no function) 8 0 0 0 0 100%
python/lsst/daf/butler/tests/__init__.py (no function) 6 0 0 0 0 100%
python/lsst/daf/butler/tests/_datasetsHelper.py DatasetTestHelper.makeDatasetRef 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py DatasetTestHelper._makeDatasetRef 8 8 0 4 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py DatastoreTestHelper.setUpDatastoreTests 4 4 0 2 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py DatastoreTestHelper.makeDatastore 8 8 0 4 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py BadWriteFormatter._readFile 0 0 1 0 0 100%
python/lsst/daf/butler/tests/_datasetsHelper.py BadWriteFormatter._writeFile 3 3 0 2 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py BadNoWriteFormatter._writeFile 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py MultiDetectorFormatter._writeFile 0 0 1 0 0 100%
python/lsst/daf/butler/tests/_datasetsHelper.py MultiDetectorFormatter._fromBytes 10 10 0 6 0 0%
python/lsst/daf/butler/tests/_datasetsHelper.py (no function) 26 0 2 0 0 100%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage.insert 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage.replace 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage.ensure 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage._insert 21 21 0 20 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage.fetch 17 17 0 17 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorage.delete 7 7 0 7 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorageManager.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorageManager.clone 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorageManager.initialize 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorageManager.get 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorageManager.register 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyOpaqueTableStorageManager.currentVersions 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager.clone 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager.initialize 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager.refresh 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager.register 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager.findDatastores 3 3 0 4 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyDatastoreRegistryBridgeManager.currentVersions 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyRegistry.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py DummyRegistry.getDatastoreBridgeManager 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_dummyRegistry.py (no function) 39 0 0 8 0 100%
python/lsst/daf/butler/tests/_examplePythonTypes.py registerMetricsExample 4 4 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py _addFullStorageClass 10 10 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py _getAllFormatterRegistries 12 12 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample.__eq__ 5 5 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample.__str__ 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample.__repr__ 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample.exportAsDict 5 5 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample._asdict 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExample.makeFromDict 5 5 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsExampleModel.from_metrics 5 5 0 0 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py ListDelegate.handleParameters 5 5 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsDelegate.handleParameters 5 5 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsDelegate.getComponent 3 3 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py MetricsDelegate.selectResponsibleComponent 5 5 0 2 0 0%
python/lsst/daf/butler/tests/_examplePythonTypes.py (no function) 40 0 2 8 0 100%
python/lsst/daf/butler/tests/_testRepo.py makeTestRepo 15 15 0 8 0 0%
python/lsst/daf/butler/tests/_testRepo.py makeTestCollection 4 4 0 2 0 0%
python/lsst/daf/butler/tests/_testRepo.py _makeRecords 20 20 0 20 0 0%
python/lsst/daf/butler/tests/_testRepo.py _fillAllKeys 14 14 0 10 0 0%
python/lsst/daf/butler/tests/_testRepo.py _makeRandomDataIdValue 3 3 0 2 0 0%
python/lsst/daf/butler/tests/_testRepo.py expandUniqueId 7 7 0 4 0 0%
python/lsst/daf/butler/tests/_testRepo.py _findOrInventDataIdValue 8 8 0 4 0 0%
python/lsst/daf/butler/tests/_testRepo.py _makeDimensionRecordDict 6 6 0 4 0 0%
python/lsst/daf/butler/tests/_testRepo.py addDataIdValue 31 31 0 16 0 0%
python/lsst/daf/butler/tests/_testRepo.py addDatasetType 6 6 0 0 0 0%
python/lsst/daf/butler/tests/_testRepo.py DatastoreMock.apply 3 3 0 0 0 0%
python/lsst/daf/butler/tests/_testRepo.py DatastoreMock._mock_export 2 2 0 2 0 0%
python/lsst/daf/butler/tests/_testRepo.py DatastoreMock._mock_get 1 1 0 0 0 0%
python/lsst/daf/butler/tests/_testRepo.py (no function) 25 0 2 6 0 100%
python/lsst/daf/butler/tests/butler_queries.py make_detector_tuples 1 1 0 2 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.make_butler 0 0 1 0 0 100%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.load_data 4 4 0 2 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.check_detector_records 24 24 0 12 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_simple_record_query 9 9 0 2 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_implied_union_record_query 6 6 0 2 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_dataset_constrained_record_query 18 18 0 6 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_spatial_overlaps 15 15 0 2 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_common_skypix_overlaps 11 11 0 10 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_data_coordinate_upload 9 9 0 2 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_data_coordinate_upload_force_temp_table 6 6 0 4 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_materialization 7 7 0 2 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_timespan_results 3 3 0 4 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_direct_driver_paging 13 13 0 8 0 0%
python/lsst/daf/butler/tests/butler_queries.py ButlerQueryTests.test_column_expressions 26 26 0 22 0 0%
python/lsst/daf/butler/tests/butler_queries.py (no function) 39 0 0 2 0 100%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.defaultExpected 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.command 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.cli 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.mock 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.mockFuncName 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.setUp 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.makeExpected 3 3 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.run_command 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.run_test 13 13 0 10 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.run_missing 3 3 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py CliCmdTestBase.test_help 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliCmdTestBase.py (no function) 30 0 8 24 0 100%
python/lsst/daf/butler/tests/cliLogTestBase.py command_log_settings_test 7 7 0 6 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.setUp 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.PythonLogger.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.LsstLogger.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.runTest 15 15 0 4 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.test_butlerCliLog 5 5 0 2 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase._test_levels 3 3 0 4 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.test_helpLogReset 1 1 0 0 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.testLongLog 17 17 0 12 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.testFileLogging 22 22 0 8 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py CliLogTestBase.testLogTty 10 10 0 8 0 0%
python/lsst/daf/butler/tests/cliLogTestBase.py (no function) 51 5 10 16 0 93%
python/lsst/daf/butler/tests/dict_convertible_model.py DictConvertibleModel.from_dict 1 1 0 0 0 0%
python/lsst/daf/butler/tests/dict_convertible_model.py DictConvertibleModel.to_dict 1 1 0 0 0 0%
python/lsst/daf/butler/tests/dict_convertible_model.py (no function) 12 0 0 2 0 100%
python/lsst/daf/butler/tests/server.py create_test_server 22 22 0 10 0 0%
python/lsst/daf/butler/tests/server.py _make_remote_butler 2 2 0 0 0 0%
python/lsst/daf/butler/tests/server.py _add_root_exception_handler 1 1 0 2 0 0%
python/lsst/daf/butler/tests/server.py _add_root_exception_handler.convert_exception_types 1 1 0 0 0 0%
python/lsst/daf/butler/tests/server.py (no function) 41 35 0 4 0 13%
python/lsst/daf/butler/tests/testFormatters.py DoNothingFormatter.read 0 0 1 0 0 100%
python/lsst/daf/butler/tests/testFormatters.py DoNothingFormatter.write 0 0 1 0 0 100%
python/lsst/daf/butler/tests/testFormatters.py FormatterTest.read 0 0 1 0 0 100%
python/lsst/daf/butler/tests/testFormatters.py FormatterTest.write 0 0 1 0 0 100%
python/lsst/daf/butler/tests/testFormatters.py FormatterTest.validateWriteRecipes 6 6 0 6 0 0%
python/lsst/daf/butler/tests/testFormatters.py LenientYamlFormatter.validateExtension 1 1 0 0 0 0%
python/lsst/daf/butler/tests/testFormatters.py MetricsExampleFormatter.extension 1 1 0 0 0 0%
python/lsst/daf/butler/tests/testFormatters.py MetricsExampleFormatter.read 23 23 0 18 0 0%
python/lsst/daf/butler/tests/testFormatters.py MetricsExampleFormatter.write 4 4 0 2 0 0%
python/lsst/daf/butler/tests/testFormatters.py MetricsExampleDataFormatter.read 12 12 0 8 0 0%
python/lsst/daf/butler/tests/testFormatters.py MetricsExampleDataFormatter.write 4 4 0 2 0 0%
python/lsst/daf/butler/tests/testFormatters.py (no function) 38 0 2 6 0 100%
python/lsst/daf/butler/tests/utils.py makeTestTempDir 2 2 0 0 0 0%
python/lsst/daf/butler/tests/utils.py removeTestTempDir 2 2 0 2 0 0%
python/lsst/daf/butler/tests/utils.py safeTestTempDir 4 4 0 0 0 0%
python/lsst/daf/butler/tests/utils.py ButlerTestHelper.assertAstropyTablesEqual 23 23 0 10 0 0%
python/lsst/daf/butler/tests/utils.py readTable 1 1 0 0 0 0%
python/lsst/daf/butler/tests/utils.py MetricTestRepo._makeExampleMetrics 1 1 0 0 0 0%
python/lsst/daf/butler/tests/utils.py MetricTestRepo.__init__ 5 5 0 0 0 0%
python/lsst/daf/butler/tests/utils.py MetricTestRepo.create_from_butler 4 4 0 0 0 0%
python/lsst/daf/butler/tests/utils.py MetricTestRepo._do_init 15 15 0 0 0 0%
python/lsst/daf/butler/tests/utils.py MetricTestRepo.addDataset 5 5 0 2 0 0%
python/lsst/daf/butler/tests/utils.py mock_env 2 2 0 2 0 0%
python/lsst/daf/butler/tests/utils.py (no function) 40 0 6 8 0 100%
python/lsst/daf/butler/time_utils.py TimeConverter.__init__ 4 4 0 0 0 0%
python/lsst/daf/butler/time_utils.py TimeConverter.astropy_to_nsec 15 15 0 8 0 0%
python/lsst/daf/butler/time_utils.py TimeConverter.nsec_to_astropy 4 4 0 0 0 0%
python/lsst/daf/butler/time_utils.py TimeConverter.times_equal 9 9 0 4 0 0%
python/lsst/daf/butler/time_utils.py _AstropyTimeToYAML.to_yaml 4 4 0 2 0 0%
python/lsst/daf/butler/time_utils.py _AstropyTimeToYAML.from_yaml 2 2 0 2 0 0%
python/lsst/daf/butler/time_utils.py (no function) 36 2 0 4 0 95%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.makeFieldSpecs 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.getFieldNames 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.fromLiteral 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.from_columns 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.update 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.extract 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.hasExclusionConstraint 1 1 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.name 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.isNull 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.flatten 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.isEmpty 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.__lt__ 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.__gt__ 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.overlaps 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.contains 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.lower 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.upper 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py TimespanDatabaseRepresentation.apply_any_aggregate 0 0 1 0 0 100%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.makeFieldSpecs 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.getFieldNames 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.update 12 12 0 6 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.extract 11 11 0 8 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.from_columns 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.fromLiteral 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.name 1 1 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.isNull 1 1 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.isEmpty 1 1 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.__lt__ 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.__gt__ 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.overlaps 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.contains 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.lower 1 1 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.upper 1 1 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.flatten 3 3 0 2 0 0%
python/lsst/daf/butler/timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.apply_any_aggregate 1 1 0 0 0 0%
python/lsst/daf/butler/timespan_database_representation.py (no function) 90 2 2 78 0 99%
python/lsst/daf/butler/transfers/__init__.py (no function) 3 0 0 0 0 100%
python/lsst/daf/butler/transfers/_context.py RepoExportContext.__init__ 9 9 0 2 0 0%
python/lsst/daf/butler/transfers/_context.py RepoExportContext.saveCollection 1 1 0 0 0 0%
python/lsst/daf/butler/transfers/_context.py RepoExportContext.saveDimensionData 8 8 0 8 0 0%
python/lsst/daf/butler/transfers/_context.py RepoExportContext.saveDataIds 14 14 0 16 0 0%
python/lsst/daf/butler/transfers/_context.py RepoExportContext.saveDatasets 19 19 0 12 0 0%
python/lsst/daf/butler/transfers/_context.py RepoExportContext._finish 17 17 0 16 0 0%
python/lsst/daf/butler/transfers/_context.py RepoExportContext._computeSortedCollections 16 16 0 12 0 0%
python/lsst/daf/butler/transfers/_context.py RepoExportContext._computeDatasetAssociations 10 10 0 8 0 0%
python/lsst/daf/butler/transfers/_context.py (no function) 22 0 4 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoExportBackend.saveDimensionData 0 0 1 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoExportBackend.saveCollection 0 0 1 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoExportBackend.saveDatasets 0 0 1 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoExportBackend.saveDatasetAssociations 0 0 1 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoExportBackend.finish 0 0 1 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoImportBackend.register 0 0 0 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py RepoImportBackend.load 0 0 1 0 0 100%
python/lsst/daf/butler/transfers/_interfaces.py (no function) 32 0 2 14 0 100%
python/lsst/daf/butler/transfers/_yaml.py _RefMapper.__missing__ 3 3 0 0 0 0%
python/lsst/daf/butler/transfers/_yaml.py _uuid_representer 1 1 0 0 0 0%
python/lsst/daf/butler/transfers/_yaml.py _uuid_constructor 3 3 0 2 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoExportBackend.__init__ 3 3 0 0 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoExportBackend.saveDimensionData 2 2 0 2 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoExportBackend.saveCollection 10 10 0 6 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoExportBackend.saveDatasets 2 2 0 2 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoExportBackend.saveDatasetAssociations 8 8 0 10 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoExportBackend.finish 1 1 0 0 0 0%
python/lsst/daf/butler/transfers/_yaml.py _DayObsOffsetCalculator.__init__ 2 2 0 0 0 0%
python/lsst/daf/butler/transfers/_yaml.py _DayObsOffsetCalculator.__setitem__ 1 1 0 0 0 0%
python/lsst/daf/butler/transfers/_yaml.py _DayObsOffsetCalculator.get_offset 16 16 0 4 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoImportBackend.__init__ 151 151 0 124 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoImportBackend.register 9 9 0 8 0 0%
python/lsst/daf/butler/transfers/_yaml.py YamlRepoImportBackend.load 31 31 0 28 0 0%
python/lsst/daf/butler/transfers/_yaml.py (no function) 56 0 2 0 0 100%
python/lsst/daf/butler/utils.py transactional 3 0 0 2 0 100%
python/lsst/daf/butler/utils.py transactional.inner 2 2 0 2 0 0%
python/lsst/daf/butler/utils.py stripIfNotNone 3 3 0 2 0 0%
python/lsst/daf/butler/utils.py globToRegex 13 13 0 8 0 0%
python/lsst/daf/butler/utils.py (no function) 19 0 0 0 0 100%
python/lsst/daf/butler/version.py (no function) 5 0 0 0 0 100%
tests/test_astropyTableFormatter.py AstropyTableFormatterTestCase.setUp 6 6 0 0 0 0%
tests/test_astropyTableFormatter.py AstropyTableFormatterTestCase.tearDown 2 2 0 0 0 0%
tests/test_astropyTableFormatter.py AstropyTableFormatterTestCase.testAstropyTableFormatter 8 8 0 0 0 0%
tests/test_astropyTableFormatter.py (no function) 12 0 2 0 0 100%
tests/test_authentication.py TestButlerClientAuthentication.test_explicit_butler_token 3 3 0 2 0 0%
tests/test_authentication.py TestButlerClientAuthentication.test_jupyter_token_with_safe_server 3 3 0 2 0 0%
tests/test_authentication.py TestButlerClientAuthentication.test_jupyter_token_with_unsafe_server 3 3 0 2 0 0%
tests/test_authentication.py TestButlerClientAuthentication.test_missing_token 3 3 0 2 0 0%
tests/test_authentication.py TestButlerClientAuthentication.test_header_generation 2 2 0 0 0 0%
tests/test_authentication.py (no function) 14 1 0 2 0 94%
tests/test_butler.py mock_aws 1 1 0 0 0 0%
tests/test_butler.py clean_environment 2 2 0 2 0 0%
tests/test_butler.py makeExampleMetrics 1 1 0 0 0 0%
tests/test_butler.py ButlerConfigTests.testSearchPath 11 11 0 4 0 0%
tests/test_butler.py ButlerPutGetTests.addDatasetType 3 3 0 0 0 0%
tests/test_butler.py ButlerPutGetTests.setUpClass 3 3 0 2 0 0%
tests/test_butler.py ButlerPutGetTests.assertGetComponents 9 9 0 2 0 0%
tests/test_butler.py ButlerPutGetTests.tearDown 2 2 0 2 0 0%
tests/test_butler.py ButlerPutGetTests.create_empty_butler 3 3 0 0 0 0%
tests/test_butler.py ButlerPutGetTests.create_butler 15 15 0 2 0 0%
tests/test_butler.py ButlerPutGetTests.runPutGetTest 140 140 0 54 0 0%
tests/test_butler.py ButlerPutGetTests.testDeferredCollectionPassing 26 26 0 6 0 0%
tests/test_butler.py ButlerTests.setUp 3 3 0 0 0 0%
tests/test_butler.py ButlerTests.are_uris_equivalent 1 1 0 0 0 0%
tests/test_butler.py ButlerTests.testConstructor 73 73 0 40 0 0%
tests/test_butler.py ButlerTests.testDafButlerRepositories 8 8 0 10 0 0%
tests/test_butler.py ButlerTests.testBasicPutGet 2 2 0 0 0 0%
tests/test_butler.py ButlerTests.testCompositePutGetConcrete 16 16 0 2 0 0%
tests/test_butler.py ButlerTests.testCompositePutGetVirtual 30 30 0 10 0 0%
tests/test_butler.py ButlerTests.testStorageClassOverrideGet 29 29 0 2 0 0%
tests/test_butler.py ButlerTests.testPytypePutCoercion 21 21 0 0 0 0%
tests/test_butler.py ButlerTests.testIngest 80 80 0 18 0 0%
tests/test_butler.py ButlerTests.testPickle 7 7 0 0 0 0%
tests/test_butler.py ButlerTests.testGetDatasetTypes 24 24 0 14 0 0%
tests/test_butler.py ButlerTests.testTransaction 27 27 0 8 0 0%
tests/test_butler.py ButlerTests.testMakeRepo 24 24 0 6 0 0%
tests/test_butler.py ButlerTests.testStringification 11 11 0 10 0 0%
tests/test_butler.py ButlerTests.testButlerRewriteDataId 25 25 0 6 0 0%
tests/test_butler.py ButlerTests.testGetDatasetCollectionCaching 6 6 0 0 0 0%
tests/test_butler.py ButlerTests.testCollectionChainRedefine 8 8 0 0 0 0%
tests/test_butler.py ButlerTests.testCollectionChainPrepend 10 10 0 0 0 0%
tests/test_butler.py ButlerTests.testCollectionChainExtend 10 10 0 0 0 0%
tests/test_butler.py ButlerTests.testCollectionChainRemove 11 11 0 0 0 0%
tests/test_butler.py ButlerTests._setup_to_test_collection_chain 8 8 0 2 0 0%
tests/test_butler.py ButlerTests._check_chain 2 2 0 0 0 0%
tests/test_butler.py ButlerTests._test_common_chain_functionality 15 15 0 14 0 0%
tests/test_butler.py FileDatastoreButlerTests.checkFileExists 2 2 0 0 0 0%
tests/test_butler.py FileDatastoreButlerTests.testPutTemplates 36 36 0 12 0 0%
tests/test_butler.py FileDatastoreButlerTests.testImportExport 2 2 0 0 0 0%
tests/test_butler.py FileDatastoreButlerTests.testImportExportVirtualComposite 2 2 0 0 0 0%
tests/test_butler.py FileDatastoreButlerTests.runImportExportTest 28 28 0 20 0 0%
tests/test_butler.py FileDatastoreButlerTests.testRemoveRuns 31 31 0 8 0 0%
tests/test_butler.py FileDatastoreButlerTests.remove_dataset_out_of_band 4 4 0 0 0 0%
tests/test_butler.py FileDatastoreButlerTests.testPruneDatasets 113 113 0 26 0 0%
tests/test_butler.py PosixDatastoreButlerTestCase.testPathConstructor 9 9 0 2 0 0%
tests/test_butler.py PosixDatastoreButlerTestCase.testExportTransferCopy 18 18 0 14 0 0%
tests/test_butler.py PosixDatastoreButlerTestCase.testPytypeCoercion 26 26 0 2 0 0%
tests/test_butler.py PostgresPosixDatastoreButlerTestCase._handler 3 3 0 2 0 0%
tests/test_butler.py PostgresPosixDatastoreButlerTestCase.setUpClass 2 2 0 0 0 0%
tests/test_butler.py PostgresPosixDatastoreButlerTestCase.tearDownClass 3 3 0 0 0 0%
tests/test_butler.py PostgresPosixDatastoreButlerTestCase.setUp 9 9 0 2 0 0%
tests/test_butler.py PostgresPosixDatastoreButlerTestCase.tearDown 4 4 0 2 0 0%
tests/test_butler.py PostgresPosixDatastoreButlerTestCase.testMakeRepo 1 1 0 0 0 0%
tests/test_butler.py ClonedPostgresPosixDatastoreButlerTestCase.create_butler 2 2 0 0 0 0%
tests/test_butler.py InMemoryDatastoreButlerTestCase.testIngest 1 1 0 0 0 0%
tests/test_butler.py ClonedSqliteButlerTestCase.create_butler 2 2 0 0 0 0%
tests/test_butler.py ChainedDatastoreButlerTestCase.testPruneDatasets 1 1 0 0 0 0%
tests/test_butler.py ButlerExplicitRootTestCase.setUp 12 12 0 0 0 0%
tests/test_butler.py ButlerExplicitRootTestCase.testFileLocations 4 4 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileTestCase.setUp 4 4 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileTestCase.tearDown 3 3 0 2 0 0%
tests/test_butler.py ButlerMakeRepoOutfileTestCase.testConfigExistence 5 5 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileTestCase.testPutGet 2 2 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileDirTestCase.setUp 4 4 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileDirTestCase.testConfigExistence 2 2 0 0 0 0%
tests/test_butler.py ButlerMakeRepoOutfileUriTestCase.setUp 4 4 0 0 0 0%
tests/test_butler.py S3DatastoreButlerTestCase.genRoot 2 2 0 2 0 0%
tests/test_butler.py S3DatastoreButlerTestCase.setUp 17 17 0 2 0 0%
tests/test_butler.py S3DatastoreButlerTestCase.tearDown 16 16 0 6 0 0%
tests/test_butler.py PosixDatastoreTransfers.setUpClass 2 2 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.setUp 2 2 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.tearDown 1 1 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.create_butler 3 3 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.create_butlers 7 7 0 4 0 0%
tests/test_butler.py PosixDatastoreTransfers.testTransferUuidToUuid 2 2 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.testTransferMissing 3 3 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.testTransferMissingDisassembly 3 3 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.testAbsoluteURITransferDirect 1 1 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers.testAbsoluteURITransferCopy 1 1 0 0 0 0%
tests/test_butler.py PosixDatastoreTransfers._absolute_transfer 21 21 0 4 0 0%
tests/test_butler.py PosixDatastoreTransfers.assertButlerTransfers 104 104 0 62 0 0%
tests/test_butler.py NullDatastoreTestCase.setUpClass 2 2 0 0 0 0%
tests/test_butler.py NullDatastoreTestCase.setUp 2 2 0 0 0 0%
tests/test_butler.py NullDatastoreTestCase.tearDown 1 1 0 0 0 0%
tests/test_butler.py NullDatastoreTestCase.test_fallback 23 23 0 8 0 0%
tests/test_butler.py ButlerServerTests.setUp 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.tearDown 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.are_uris_equivalent 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.create_empty_butler 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.remove_dataset_out_of_band 2 2 0 0 0 0%
tests/test_butler.py ButlerServerTests.testConstructor 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.testDafButlerRepositories 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.testGetDatasetTypes 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.testMakeRepo 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.testPickle 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.testStringification 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.testTransaction 1 1 0 0 0 0%
tests/test_butler.py ButlerServerTests.testPutTemplates 1 1 0 0 0 0%
tests/test_butler.py setup_module 1 1 0 0 0 0%
tests/test_butler.py (no function) 252 3 6 26 0 99%
tests/test_butler_factory.py ButlerFactoryTestCase.setUpClass 3 3 0 0 0 0%
tests/test_butler_factory.py ButlerFactoryTestCase.test_factory_via_global_repository_index 6 6 0 4 0 0%
tests/test_butler_factory.py ButlerFactoryTestCase.test_factory_via_custom_index 2 2 0 0 0 0%
tests/test_butler_factory.py ButlerFactoryTestCase._test_factory 6 6 0 2 0 0%
tests/test_butler_factory.py (no function) 12 0 2 2 0 100%
tests/test_cliCmdAssociate.py AssociateTestCase.setUp 1 1 0 0 0 0%
tests/test_cliCmdAssociate.py AssociateTestCase.test_defaults 3 3 0 0 0 0%
tests/test_cliCmdAssociate.py AssociateTestCase.test_values 3 3 0 0 0 0%
tests/test_cliCmdAssociate.py (no function) 11 0 2 4 0 100%
tests/test_cliCmdConfigDump.py ConfigDumpTest.defaultExpected 1 1 0 0 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpTest.command 1 1 0 0 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.setUp 1 1 0 0 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.test_stdout 9 9 0 2 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.test_file 10 10 0 4 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.test_subset 16 16 0 2 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.test_invalidSubset 6 6 0 2 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.test_presets 30 30 0 6 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.test_presetsDashedName 12 12 0 12 0 0%
tests/test_cliCmdConfigDump.py ConfigDumpUseTest.test_presetsDashedName.cmd 1 1 0 0 0 0%
tests/test_cliCmdConfigDump.py (no function) 26 0 2 4 0 100%
tests/test_cliCmdConfigValidate.py ValidateTest.defaultExpected 1 1 0 0 0 0%
tests/test_cliCmdConfigValidate.py ValidateTest.command 1 1 0 0 0 0%
tests/test_cliCmdConfigValidate.py ConfigValidateUseTest.setUp 1 1 0 0 0 0%
tests/test_cliCmdConfigValidate.py ConfigValidateUseTest.testConfigValidate 6 6 0 2 0 0%
tests/test_cliCmdConfigValidate.py ConfigValidateUseTest.testConfigValidate_ignore 6 6 0 2 0 0%
tests/test_cliCmdConfigValidate.py (no function) 16 0 2 4 0 100%
tests/test_cliCmdCreate.py CreateTest.defaultExpected 1 1 0 0 0 0%
tests/test_cliCmdCreate.py CreateTest.command 1 1 0 0 0 0%
tests/test_cliCmdCreate.py CreateTest.test_minimal 1 1 0 0 0 0%
tests/test_cliCmdCreate.py CreateTest.test_requiredMissing 1 1 0 0 0 0%
tests/test_cliCmdCreate.py CreateTest.test_all 1 1 0 0 0 0%
tests/test_cliCmdCreate.py (no function) 12 0 2 4 0 100%
tests/test_cliCmdImport.py ImportTestCase.defaultExpected 1 1 0 0 0 0%
tests/test_cliCmdImport.py ImportTestCase.command 1 1 0 0 0 0%
tests/test_cliCmdImport.py ImportTestCase.test_minimal 1 1 0 0 0 0%
tests/test_cliCmdImport.py ImportTestCase.test_all 1 1 0 0 0 0%
tests/test_cliCmdImport.py ImportTestCase.test_missingArgument 1 1 0 0 0 0%
tests/test_cliCmdImport.py (no function) 14 0 2 4 0 100%
tests/test_cliCmdIngestFiles.py CliIngestFilesTest.setUp 16 16 0 4 0 0%
tests/test_cliCmdIngestFiles.py CliIngestFilesTest.testIngestRelativePath 3 3 0 0 0 0%
tests/test_cliCmdIngestFiles.py CliIngestFilesTest.testIngestAbsoluteWithDataId 3 3 0 2 0 0%
tests/test_cliCmdIngestFiles.py CliIngestFilesTest.testIngestRelativeWithDataId 3 3 0 0 0 0%
tests/test_cliCmdIngestFiles.py CliIngestFilesTest.assertIngest 13 13 0 4 0 0%
tests/test_cliCmdIngestFiles.py (no function) 18 0 2 0 0 100%
tests/test_cliCmdPruneDatasets.py getTables 3 3 0 2 0 0%
tests/test_cliCmdPruneDatasets.py getDatasets 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py makeQueryDatasets 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.setUp 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.makeQueryDatasetsArgs 3 3 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.makePruneDatasetsArgs 3 3 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.run_test 23 23 0 14 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_defaults_doContinue 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_defaults_doNotContinue 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_dryRun_unstore 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_dryRun_disassociate 2 2 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_dryRun_unstoreAndDisassociate 2 2 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_noConfirm 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_quiet 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_quietWithDryRun 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_noCollections 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_noDatasets 5 5 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeWithDisassociate 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeNoOp 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeImpliedArgs 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeImpliedArgsWithCollections 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeOnNonRunCollection 2 2 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_disassociateImpliedArgs 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_disassociateImpliedArgsWithCollections 1 1 0 0 0 0%
tests/test_cliCmdPruneDatasets.py (no function) 47 0 2 26 3 96%
tests/test_cliCmdQueryCollections.py QueryCollectionsCmdTest.defaultExpected 1 1 0 0 0 0%
tests/test_cliCmdQueryCollections.py QueryCollectionsCmdTest.command 1 1 0 0 0 0%
tests/test_cliCmdQueryCollections.py QueryCollectionsCmdTest.test_minimal 1 1 0 0 0 0%
tests/test_cliCmdQueryCollections.py QueryCollectionsCmdTest.test_all 1 1 0 0 0 0%
tests/test_cliCmdQueryCollections.py QueryCollectionsScriptTest.setUp 1 1 0 0 0 0%
tests/test_cliCmdQueryCollections.py QueryCollectionsScriptTest.testGetCollections 18 18 0 2 0 0%
tests/test_cliCmdQueryCollections.py ChainedCollectionsTest.setUp 1 1 0 0 0 0%
tests/test_cliCmdQueryCollections.py ChainedCollectionsTest.assertChain 3 3 0 0 0 0%
tests/test_cliCmdQueryCollections.py ChainedCollectionsTest.testChained 44 44 0 2 0 0%
tests/test_cliCmdQueryCollections.py (no function) 28 0 2 4 0 100%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest._queryDataIds 1 1 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.setUp 2 2 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.tearDown 1 1 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.loadData 8 8 0 4 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.testDimensions 5 5 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.testNoDimensions 3 3 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.testNoResultsEasy 4 4 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.testNoResultsHard 4 4 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.testWhere 5 5 0 0 0 0%
tests/test_cliCmdQueryDataIds.py QueryDataIdsTest.testDatasetsAndCollections 18 18 0 2 0 0%
tests/test_cliCmdQueryDataIds.py (no function) 23 0 2 2 0 100%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.defaultExpected 1 1 0 0 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.command 1 1 0 0 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.test_minimal 1 1 0 0 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.test_requiredMissing 1 1 0 0 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.test_all 2 2 0 0 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest.testQueryDatasetTypes 35 35 0 2 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest.testRemoveDatasetTypes 23 23 0 4 0 0%
tests/test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest.assertDatasetTypes 4 4 0 0 0 0%
tests/test_cliCmdQueryDatasetTypes.py (no function) 22 0 2 4 0 100%
tests/test_cliCmdQueryDatasets.py expectedFilesystemDatastoreTables 1 1 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest._queryDatasets 1 1 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.setUp 2 2 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.tearDown 1 1 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.testChained 5 5 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.testShowURI 5 5 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.testNoShowURI 4 4 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.testWhere 4 4 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.testGlobDatasetType 7 7 0 0 0 0%
tests/test_cliCmdQueryDatasets.py QueryDatasetsTest.testFindFirstAndCollections 11 11 0 0 0 0%
tests/test_cliCmdQueryDatasets.py (no function) 24 0 2 2 0 100%
tests/test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.setUp 3 3 0 0 0 0%
tests/test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.tearDown 1 1 0 0 0 0%
tests/test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testBasic 6 6 0 0 0 0%
tests/test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testWhere 5 5 0 0 0 0%
tests/test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testCollection 14 14 0 0 0 0%
tests/test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testSkymap 9 9 0 0 0 0%
tests/test_cliCmdQueryDimensionRecords.py (no function) 21 0 2 0 0 100%
tests/test_cliCmdRemoveCollections.py RemoveCollectionTest.setUp 3 3 0 0 0 0%
tests/test_cliCmdRemoveCollections.py RemoveCollectionTest.tearDown 1 1 0 0 0 0%
tests/test_cliCmdRemoveCollections.py RemoveCollectionTest._verify_remove 14 14 0 0 0 0%
tests/test_cliCmdRemoveCollections.py RemoveCollectionTest._verify_remove._query_collection_column_names 5 5 0 4 0 0%
tests/test_cliCmdRemoveCollections.py RemoveCollectionTest.testRemoveScript 5 5 0 2 0 0%
tests/test_cliCmdRemoveCollections.py RemoveCollectionTest.testRemoveCmd 32 32 0 2 0 0%
tests/test_cliCmdRemoveCollections.py (no function) 21 0 2 0 0 100%
tests/test_cliCmdRemoveRuns.py RemoveCollectionTest.setUp 1 1 0 0 0 0%
tests/test_cliCmdRemoveRuns.py RemoveCollectionTest.test_removeRuns 66 66 0 2 0 0%
tests/test_cliCmdRemoveRuns.py (no function) 12 0 2 0 0 100%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.setUp 2 2 0 0 0 0%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.tearDown 1 1 0 0 0 0%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.find_files 1 1 0 0 0 0%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testRetrieveAll 10 10 0 4 0 0%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testRetrieveSubset 8 8 0 2 0 0%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testOverwriteLink 8 8 0 4 0 0%
tests/test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testClobber 9 9 0 2 0 0%
tests/test_cliCmdRetrieveArtifacts.py (no function) 20 0 2 2 0 100%
tests/test_cliLog.py ConvertPyLogLevelTestCase.test_convertToPyLogLevel 5 5 0 0 0 0%
tests/test_cliLog.py (no function) 13 2 2 0 0 85%
tests/test_cliPluginLoader.py command_test 1 1 0 0 0 0%
tests/test_cliPluginLoader.py duplicate_command_test_env 5 5 0 6 0 0%
tests/test_cliPluginLoader.py FailedLoadTest.setUp 1 1 0 0 0 0%
tests/test_cliPluginLoader.py FailedLoadTest.test_unimportablePlugin 6 6 0 4 0 0%
tests/test_cliPluginLoader.py FailedLoadTest.test_unimportableLocalPackage 9 9 0 4 0 0%
tests/test_cliPluginLoader.py FailedLoadTest.test_unimportableLocalPackage.cli 1 1 0 0 0 0%
tests/test_cliPluginLoader.py PluginLoaderTest.setUp 1 1 0 0 0 0%
tests/test_cliPluginLoader.py PluginLoaderTest.test_loadAndExecutePluginCommand 4 4 0 2 0 0%
tests/test_cliPluginLoader.py PluginLoaderTest.test_loadAndExecuteLocalCommand 4 4 0 2 0 0%
tests/test_cliPluginLoader.py PluginLoaderTest.test_loadTopHelp 4 4 0 2 0 0%
tests/test_cliPluginLoader.py PluginLoaderTest.test_getLocalCommands 2 2 0 0 0 0%
tests/test_cliPluginLoader.py PluginLoaderTest.test_mergeCommandLists 6 6 0 0 0 0%
tests/test_cliPluginLoader.py PluginLoaderTest.test_listCommands_duplicate 5 5 0 2 0 0%
tests/test_cliPluginLoader.py (no function) 26 0 2 4 0 100%
tests/test_cliUtilSplitCommas.py cli 1 1 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.setUp 1 1 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.test_separate 4 4 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.test_single 3 3 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.test_multiple 3 3 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.test_singlePair 3 3 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.test_multiplePair 3 3 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.test_none 3 3 0 0 0 0%
tests/test_cliUtilSplitCommas.py SplitCommasTestCase.test_parens 7 7 0 6 0 0%
tests/test_cliUtilSplitCommas.py (no function) 18 0 2 6 0 100%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_single_dict 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_single_tuple 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_multiple_dict 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_multiple_tuple 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_unseparated 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_notMultiple 2 2 0 2 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_wrongSeparator 2 2 0 2 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_missingSeparator 2 2 0 2 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_unseparatedOkay 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_unseparatedOkay_list 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_unseparatedOkay_defaultKey 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_dashSeparator 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_reverseKv 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvTestCase.test_invalidResultType 2 2 0 2 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.setUp 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_cli 16 16 0 6 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_cli.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_choice 17 17 0 8 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_choice.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorDash 8 8 0 6 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorDash.split_kv_dash 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorDash.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorFunctoolsDash 7 7 0 6 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorFunctoolsDash.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorSpace 3 3 0 2 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorSpace.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorComma 3 3 0 2 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorComma.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_normalizeWithoutChoice 7 7 0 6 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_normalizeWithoutChoice.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_addToDefaultValue 7 7 0 6 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_addToDefaultValue.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_replaceDefaultValue 7 7 0 6 0 0%
tests/test_cliUtilSplitKv.py SplitKvCmdTestCase.test_replaceDefaultValue.cli 1 1 0 0 0 0%
tests/test_cliUtilSplitKv.py (no function) 36 4 2 8 0 73%
tests/test_cliUtilToUpper.py cli 1 1 0 0 0 0%
tests/test_cliUtilToUpper.py ToUpperTestCase.setUp 1 1 0 0 0 0%
tests/test_cliUtilToUpper.py ToUpperTestCase.test_isolated 3 3 0 0 0 0%
tests/test_cliUtilToUpper.py ToUpperTestCase.test_lowerToUpper 3 3 0 0 0 0%
tests/test_cliUtilToUpper.py ToUpperTestCase.test_upperToUpper 3 3 0 0 0 0%
tests/test_cliUtilToUpper.py ToUpperTestCase.test_mixedToUpper 3 3 0 0 0 0%
tests/test_cliUtilToUpper.py (no function) 13 0 2 6 0 100%
tests/test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelp 2 2 0 2 0 0%
tests/test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelp.cli 1 1 0 0 0 0%
tests/test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelpWrapped 2 2 0 2 0 0%
tests/test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelpWrapped.cli 1 1 0 0 0 0%
tests/test_cliUtils.py ArgumentHelpGeneratorTestCase.runTest 4 4 0 0 0 0%
tests/test_cliUtils.py UnwrapStringTestCase.test_leadingNewline 2 2 0 0 0 0%
tests/test_cliUtils.py UnwrapStringTestCase.test_leadingContent 2 2 0 0 0 0%
tests/test_cliUtils.py UnwrapStringTestCase.test_trailingNewline 2 2 0 0 0 0%
tests/test_cliUtils.py UnwrapStringTestCase.test_oneLine 2 2 0 0 0 0%
tests/test_cliUtils.py UnwrapStringTestCase.test_oneLineWithLeading 2 2 0 0 0 0%
tests/test_cliUtils.py UnwrapStringTestCase.test_oneLineWithTrailing 2 2 0 0 0 0%
tests/test_cliUtils.py UnwrapStringTestCase.test_lineBreaks 2 2 0 0 0 0%
tests/test_cliUtils.py MWOptionTest.setUp 1 1 0 0 0 0%
tests/test_cliUtils.py MWOptionTest.test_addEllipsisToMultiple 7 7 0 6 0 0%
tests/test_cliUtils.py MWOptionTest.test_addEllipsisToMultiple.cmd 1 1 0 0 0 0%
tests/test_cliUtils.py MWOptionTest.test_addEllipsisToNargs 8 8 0 8 0 0%
tests/test_cliUtils.py MWOptionTest.test_addEllipsisToNargs.cmd 1 1 0 0 0 0%
tests/test_cliUtils.py MWArgumentDecoratorTest.setUp 1 1 0 0 0 0%
tests/test_cliUtils.py MWArgumentDecoratorTest.test_help 13 13 0 12 0 0%
tests/test_cliUtils.py MWArgumentDecoratorTest.test_help.cmd 1 1 0 0 0 0%
tests/test_cliUtils.py MWArgumentDecoratorTest.testUse 8 8 0 6 0 0%
tests/test_cliUtils.py MWArgumentDecoratorTest.testUse.cli 1 1 0 0 0 0%
tests/test_cliUtils.py MWOptionDecoratorTest.testGetName 1 1 0 0 0 0%
tests/test_cliUtils.py MWOptionDecoratorTest.testGetOpts 1 1 0 0 0 0%
tests/test_cliUtils.py MWOptionDecoratorTest.testUse 8 8 0 6 0 0%
tests/test_cliUtils.py MWOptionDecoratorTest.testUse.cli 1 1 0 0 0 0%
tests/test_cliUtils.py MWOptionDecoratorTest.testOverride 8 8 0 6 0 0%
tests/test_cliUtils.py MWOptionDecoratorTest.testOverride.cli 1 1 0 0 0 0%
tests/test_cliUtils.py SectionOptionTest.cli 1 1 0 0 0 0%
tests/test_cliUtils.py SectionOptionTest.setUp 1 1 0 0 0 0%
tests/test_cliUtils.py SectionOptionTest.test_section_help 3 3 0 0 0 0%
tests/test_cliUtils.py SectionOptionTest.test_section_function 2 2 0 0 0 0%
tests/test_cliUtils.py MWPathTest.getCmd 2 2 0 2 0 0%
tests/test_cliUtils.py MWPathTest.getCmd.cmd 1 1 0 0 0 0%
tests/test_cliUtils.py MWPathTest.setUp 1 1 0 0 0 0%
tests/test_cliUtils.py MWPathTest.test_exist 20 20 0 4 0 0%
tests/test_cliUtils.py MWCommandTest.setUp 2 2 0 0 0 0%
tests/test_cliUtils.py MWCommandTest.testCaptureOptions 18 18 0 22 0 0%
tests/test_cliUtils.py MWCommandTest.testCaptureOptions.cmd 2 2 0 0 0 0%
tests/test_cliUtils.py (no function) 60 8 2 28 0 73%
tests/test_composites.py TestCompositesConfig.setUpClass 1 1 0 0 0 0%
tests/test_composites.py TestCompositesConfig.testBadConfig 2 2 0 2 0 0%
tests/test_composites.py TestCompositesConfig.testConfig 7 7 0 2 0 0%
tests/test_composites.py TestCompositesConfig.testMap 26 26 0 4 0 0%
tests/test_composites.py (no function) 11 0 2 2 0 100%
tests/test_config.py modified_environment 6 6 0 0 0 0%
tests/test_config.py ConfigTestCase.testBadConfig 6 6 0 8 0 0%
tests/test_config.py ConfigTestCase.testBasics 45 45 0 18 0 0%
tests/test_config.py ConfigTestCase.testDict 7 7 0 0 0 0%
tests/test_config.py ConfigTestCase.assertSplit 3 3 0 2 0 0%
tests/test_config.py ConfigTestCase.testSplitting 12 12 0 6 0 0%
tests/test_config.py ConfigTestCase.testEscape 9 9 0 2 0 0%
tests/test_config.py ConfigTestCase.testOperators 6 6 0 0 0 0%
tests/test_config.py ConfigTestCase.testMerge 9 9 0 2 0 0%
tests/test_config.py ConfigTestCase.testUpdate 16 16 0 2 0 0%
tests/test_config.py ConfigTestCase.testHierarchy 72 72 0 12 0 0%
tests/test_config.py ConfigTestCase.testSerializedString 19 19 0 6 0 0%
tests/test_config.py ConfigSubsetTestCase.setUp 4 4 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testEmpty 2 2 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testPathlib 2 2 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testDefaults 10 10 0 4 0 0%
tests/test_config.py ConfigSubsetTestCase.testExternalOverride 3 3 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testSearchPaths 10 10 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testExternalHierarchy 4 4 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testNoDefaults 6 6 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testAbsPath 15 15 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testClassDerived 12 12 0 0 0 0%
tests/test_config.py ConfigSubsetTestCase.testInclude 14 14 0 2 0 0%
tests/test_config.py ConfigSubsetTestCase.testStringInclude 5 5 0 2 0 0%
tests/test_config.py ConfigSubsetTestCase.testIncludeConfigs 34 34 0 6 0 0%
tests/test_config.py ConfigSubsetTestCase.testResource 8 8 0 0 0 0%
tests/test_config.py FileWriteConfigTestCase.setUp 1 1 0 0 0 0%
tests/test_config.py FileWriteConfigTestCase.tearDown 1 1 0 0 0 0%
tests/test_config.py FileWriteConfigTestCase.testDump 9 9 0 4 0 0%
tests/test_config.py (no function) 65 0 2 2 0 100%
tests/test_connectionString.py ConnectionStringBuilderTestCase.setUp 5 5 0 0 0 0%
tests/test_connectionString.py ConnectionStringBuilderTestCase.tearDown 1 1 0 0 0 0%
tests/test_connectionString.py ConnectionStringBuilderTestCase.testBuilder 6 6 0 6 0 0%
tests/test_connectionString.py ConnectionStringBuilderTestCase.testRelVsAbsPath 5 5 0 0 0 0%
tests/test_connectionString.py ConnectionStringBuilderTestCase.testRaises 7 7 0 4 0 0%
tests/test_connectionString.py (no function) 21 0 2 0 0 100%
tests/test_constraints.py ConstraintsTestCase.setUp 8 8 0 0 0 0%
tests/test_constraints.py ConstraintsTestCase.testSimpleAccept 23 23 0 0 0 0%
tests/test_constraints.py ConstraintsTestCase.testSimpleReject 4 4 0 0 0 0%
tests/test_constraints.py ConstraintsTestCase.testAcceptReject 18 18 0 0 0 0%
tests/test_constraints.py ConstraintsTestCase.testWildcardReject 9 9 0 0 0 0%
tests/test_constraints.py ConstraintsTestCase.testWildcardAccept 16 16 0 0 0 0%
tests/test_constraints.py ConstraintsTestCase.testEdgeCases 3 3 0 2 0 0%
tests/test_constraints.py (no function) 13 0 2 0 0 100%
tests/test_datasets.py DatasetTypeTestCase.setUp 1 1 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.testConstructor 11 11 0 4 0 0%
tests/test_datasets.py DatasetTypeTestCase.testConstructor2 8 8 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.testNameValidation 22 22 0 18 0 0%
tests/test_datasets.py DatasetTypeTestCase.testEquality 20 20 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.testCompatibility 13 13 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.testOverrideStorageClass 16 16 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.testJson 4 4 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.testSorting 9 9 0 2 0 0%
tests/test_datasets.py DatasetTypeTestCase.testHashability 18 18 0 6 0 0%
tests/test_datasets.py DatasetTypeTestCase.testDeepCopy 14 14 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.testPickle 38 38 0 0 0 0%
tests/test_datasets.py DatasetTypeTestCase.test_composites 24 24 0 2 0 0%
tests/test_datasets.py DatasetRefTestCase.setUp 12 12 0 0 0 0%
tests/test_datasets.py DatasetRefTestCase._make_datastore_records 3 3 0 2 0 0%
tests/test_datasets.py DatasetRefTestCase.testConstructor 20 20 0 6 0 0%
tests/test_datasets.py DatasetRefTestCase.testSorting 16 16 0 6 0 0%
tests/test_datasets.py DatasetRefTestCase.testOverrideStorageClass 16 16 0 4 0 0%
tests/test_datasets.py DatasetRefTestCase.testReplace 19 19 0 0 0 0%
tests/test_datasets.py DatasetRefTestCase.testPickle 3 3 0 0 0 0%
tests/test_datasets.py DatasetRefTestCase.testJson 8 8 0 0 0 0%
tests/test_datasets.py DatasetRefTestCase.testFileDataset 6 6 0 2 0 0%
tests/test_datasets.py (no function) 31 0 2 0 0 100%
tests/test_datastore.py makeExampleMetrics 4 4 0 2 0 0%
tests/test_datastore.py DatastoreTestsBase.setUpClass 6 6 0 0 0 0%
tests/test_datastore.py DatastoreTestsBase.setUp 1 1 0 0 0 0%
tests/test_datastore.py DatastoreTestsBase.tearDown 2 2 0 2 0 0%
tests/test_datastore.py DatastoreTests.testConfigRoot 7 7 0 4 0 0%
tests/test_datastore.py DatastoreTests.testConstructor 3 3 0 0 0 0%
tests/test_datastore.py DatastoreTests.testConfigurationValidation 11 11 0 4 0 0%
tests/test_datastore.py DatastoreTests.testParameterValidation 11 11 0 2 0 0%
tests/test_datastore.py DatastoreTests.testBasicPutGet 63 63 0 18 0 0%
tests/test_datastore.py DatastoreTests.testTrustGetRequest 83 83 0 28 0 0%
tests/test_datastore.py DatastoreTests.testTrustGetRequest._stored_dataset_type 3 3 0 2 0 0%
tests/test_datastore.py DatastoreTests.testDisassembly 34 34 0 12 0 0%
tests/test_datastore.py DatastoreTests.prepDeleteTest 14 14 0 2 0 0%
tests/test_datastore.py DatastoreTests.testRemove 9 9 0 4 0 0%
tests/test_datastore.py DatastoreTests.testForget 9 9 0 2 0 0%
tests/test_datastore.py DatastoreTests.testTransfer 11 11 0 0 0 0%
tests/test_datastore.py DatastoreTests.testBasicTransaction 27 27 0 18 0 0%
tests/test_datastore.py DatastoreTests.testNestedTransaction 26 26 0 8 0 0%
tests/test_datastore.py DatastoreTests._prepareIngestTest 6 6 0 0 0 0%
tests/test_datastore.py DatastoreTests.runIngestTest 3 3 0 2 0 0%
tests/test_datastore.py DatastoreTests.testIngestNoTransfer 14 14 0 8 0 0%
tests/test_datastore.py DatastoreTests.testIngestNoTransfer.succeed 4 4 0 0 0 0%
tests/test_datastore.py DatastoreTests.testIngestNoTransfer.failInputDoesNotExist 3 3 0 2 0 0%
tests/test_datastore.py DatastoreTests.testIngestNoTransfer.failOutsideRoot 6 6 0 4 0 0%
tests/test_datastore.py DatastoreTests.testIngestNoTransfer.failNotImplemented 2 2 0 2 0 0%
tests/test_datastore.py DatastoreTests.testIngestTransfer 10 10 0 6 0 0%
tests/test_datastore.py DatastoreTests.testIngestTransfer.succeed 6 6 0 2 0 0%
tests/test_datastore.py DatastoreTests.testIngestTransfer.failInputDoesNotExist 3 3 0 2 0 0%
tests/test_datastore.py DatastoreTests.testIngestTransfer.failNotImplemented 2 2 0 2 0 0%
tests/test_datastore.py DatastoreTests.testIngestSymlinkOfSymlink 21 21 0 10 0 0%
tests/test_datastore.py DatastoreTests._populate_export_datastore 15 15 0 6 0 0%
tests/test_datastore.py DatastoreTests.testExportImportRecords 24 24 0 6 0 0%
tests/test_datastore.py DatastoreTests.testExport 16 16 0 8 0 0%
tests/test_datastore.py DatastoreTests.test_pydantic_dict_storage_class_conversions 10 10 0 0 0 0%
tests/test_datastore.py DatastoreTests.test_simple_class_put_get 3 3 0 0 0 0%
tests/test_datastore.py DatastoreTests.test_dataclass_put_get 3 3 0 0 0 0%
tests/test_datastore.py DatastoreTests.test_pydantic_put_get 3 3 0 0 0 0%
tests/test_datastore.py DatastoreTests.test_tuple_put_get 3 3 0 0 0 0%
tests/test_datastore.py DatastoreTests._assert_different_puts 4 4 0 4 0 0%
tests/test_datastore.py PosixDatastoreTestCase.setUp 2 2 0 0 0 0%
tests/test_datastore.py PosixDatastoreTestCase.testAtomicWrite 11 11 0 4 0 0%
tests/test_datastore.py PosixDatastoreTestCase.testCanNotDeterminePutFormatterLocation 15 15 0 6 0 0%
tests/test_datastore.py PosixDatastoreTestCase.testCanNotDeterminePutFormatterLocation.raiser 1 1 0 0 0 0%
tests/test_datastore.py PosixDatastoreTestCase.test_roots 5 5 0 4 0 0%
tests/test_datastore.py PosixDatastoreTestCase.test_prepare_get_for_external_client 6 6 0 0 0 0%
tests/test_datastore.py PosixDatastoreNoChecksumsTestCase.testChecksum 14 14 0 0 0 0%
tests/test_datastore.py PosixDatastoreNoChecksumsTestCase.test_repeat_ingest 11 11 0 6 0 0%
tests/test_datastore.py TrashDatastoreTestCase.testTrash 24 24 0 2 0 0%
tests/test_datastore.py CleanupPosixDatastoreTestCase.setUp 2 2 0 0 0 0%
tests/test_datastore.py CleanupPosixDatastoreTestCase.testCleanup 22 22 0 6 0 0%
tests/test_datastore.py DatastoreConstraintsTests.testConstraints 27 27 0 14 0 0%
tests/test_datastore.py PosixDatastoreConstraintsTestCase.setUp 2 2 0 0 0 0%
tests/test_datastore.py ChainedDatastorePerStoreConstraintsTests.setUp 2 2 0 0 0 0%
tests/test_datastore.py ChainedDatastorePerStoreConstraintsTests.testConstraints 35 35 0 20 0 0%
tests/test_datastore.py DatastoreCacheTestCase.setUpClass 4 4 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.setUp 26 26 0 12 0 0%
tests/test_datastore.py DatastoreCacheTestCase.tearDown 2 2 0 2 0 0%
tests/test_datastore.py DatastoreCacheTestCase._make_cache_manager 2 2 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testNoCacheDir 5 5 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testNoCacheDirReversed 3 3 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testEnvvarCacheDir 29 29 0 12 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testExplicitCacheDir 5 5 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.assertCache 18 18 0 6 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testNoCache 7 7 0 4 0 0%
tests/test_datastore.py DatastoreCacheTestCase._expiration_config 1 1 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testCacheExpiryFiles 28 28 0 10 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testCacheExpiryDatasets 6 6 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testCacheExpiryDatasetsComposite 14 14 0 4 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testCacheExpirySize 6 6 0 0 0 0%
tests/test_datastore.py DatastoreCacheTestCase.assertExpiration 9 9 0 8 0 0%
tests/test_datastore.py DatastoreCacheTestCase.testCacheExpiryAge 18 18 0 8 0 0%
tests/test_datastore.py NullDatastoreTestCase.test_basics 42 42 0 34 0 0%
tests/test_datastore.py DatasetRefURIsTestCase.testSequenceAccess 17 17 0 4 0 0%
tests/test_datastore.py DatasetRefURIsTestCase.testRepr 2 2 0 0 0 0%
tests/test_datastore.py StoredFileInfoTestCase.test_StoredFileInfo 15 15 0 4 0 0%
tests/test_datastore.py _temp_yaml_file 7 7 0 2 0 0%
tests/test_datastore.py (no function) 161 0 2 4 0 100%
tests/test_ddl.py AstropyTimeNsecTaiTestCase.setUp 2 2 0 0 0 0%
tests/test_ddl.py AstropyTimeNsecTaiTestCase.test_value_none 4 4 0 0 0 0%
tests/test_ddl.py AstropyTimeNsecTaiTestCase.test_time_before_epoch 5 5 0 0 0 0%
tests/test_ddl.py AstropyTimeNsecTaiTestCase.test_max_time 4 4 0 0 0 0%
tests/test_ddl.py AstropyTimeNsecTaiTestCase.test_round_trip 6 6 0 2 0 0%
tests/test_ddl.py (no function) 10 0 2 0 0 100%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.setUpClass 11 11 0 6 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_schema_visit 6 6 0 0 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_schema_skymap 3 3 0 0 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_empty_record_table_visit 14 14 0 2 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_empty_record_table_skymap 11 11 0 2 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_full_record_table_visit 20 20 0 0 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_full_record_table_skymap 9 9 0 0 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_parquet_visit 5 5 0 0 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_parquet_skymap 5 5 0 0 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_chunk_init 4 4 0 2 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_const 41 41 0 18 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_add 7 7 0 2 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_find_or_add 7 7 0 8 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_update_from_data_coordinates 4 4 0 2 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_discard 17 17 0 4 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_remove 19 19 0 8 0 0%
tests/test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_pop 11 11 0 0 0 0%
tests/test_dimension_record_containers.py (no function) 27 0 2 2 0 100%
tests/test_dimensions.py loadDimensionData 9 9 0 2 0 0%
tests/test_dimensions.py ConcreteTestDimensionPacker.__init__ 3 3 0 0 0 0%
tests/test_dimensions.py ConcreteTestDimensionPacker.maxBits 1 1 0 0 0 0%
tests/test_dimensions.py ConcreteTestDimensionPacker._pack 1 1 0 0 0 0%
tests/test_dimensions.py ConcreteTestDimensionPacker.unpack 1 1 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.setUp 1 1 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.checkGroupInvariants 27 27 0 18 0 0%
tests/test_dimensions.py DimensionTestCase.testConfigPresent 2 2 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.testCompatibility 10 10 0 2 0 0%
tests/test_dimensions.py DimensionTestCase.testVersion 2 2 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.testConfigRead 1 1 0 2 0 0%
tests/test_dimensions.py DimensionTestCase.testGraphs 3 3 0 2 0 0%
tests/test_dimensions.py DimensionTestCase.testInstrumentDimensions 10 10 0 2 0 0%
tests/test_dimensions.py DimensionTestCase.testCalibrationDimensions 6 6 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.testObservationDimensions 16 16 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.testSkyMapDimensions 8 8 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.testSubsetCalculation 3 3 0 0 0 0%
tests/test_dimensions.py DimensionTestCase.testSchemaGeneration 35 35 0 20 0 0%
tests/test_dimensions.py DimensionTestCase.testPickling 13 13 0 2 0 0%
tests/test_dimensions.py SplitByStateFlags.chain 9 9 0 8 0 0%
tests/test_dimensions.py DataCoordinateTestCase.setUpClass 1 1 0 0 0 0%
tests/test_dimensions.py DataCoordinateTestCase.setUp 1 1 0 0 0 0%
tests/test_dimensions.py DataCoordinateTestCase.randomDataIds 3 3 0 2 0 0%
tests/test_dimensions.py DataCoordinateTestCase.randomDimensionSubset 3 3 0 2 0 0%
tests/test_dimensions.py DataCoordinateTestCase.splitByStateFlags 15 15 0 12 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testMappingViews 15 15 0 16 0 0%
tests/test_dimensions.py DataCoordinateTestCase.test_pickle 15 15 0 10 0 0%
tests/test_dimensions.py DataCoordinateTestCase.test_record_attributes 16 16 0 16 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testEquality 9 9 0 6 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testStandardize 28 28 0 24 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testUnion 32 32 0 24 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testRegions 19 19 0 10 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testTimespans 7 7 0 4 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testIterableStatusFlags 22 22 0 10 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testSetOperations 24 24 0 0 0 0%
tests/test_dimensions.py DataCoordinateTestCase.testPackers 10 10 0 0 0 0%
tests/test_dimensions.py DataCoordinateTestCase.test_dimension_group_pydantic 7 7 0 0 0 0%
tests/test_dimensions.py DataCoordinateTestCase.test_dimension_element_pydantic 7 7 0 0 0 0%
tests/test_dimensions.py (no function) 67 0 2 6 0 100%
tests/test_exprParserLex.py ParserLexTestCase._assertToken 7 7 0 4 0 0%
tests/test_exprParserLex.py ParserLexTestCase.setUp 1 1 0 0 0 0%
tests/test_exprParserLex.py ParserLexTestCase.tearDown 1 1 0 0 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testInstantiate 5 5 0 0 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testSimpleTokens 15 15 0 0 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testReservedTokens 15 15 0 4 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testStringLiteral 18 18 0 4 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testNumericLiteral 11 11 0 0 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testRangeLiteral 8 8 0 0 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testTimeLiteral 8 8 0 0 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testIdentifier 24 24 0 6 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testExpression 7 7 0 2 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testExceptions 38 38 0 10 0 0%
tests/test_exprParserLex.py ParserLexTestCase.testExceptions._assertExc 4 4 0 0 0 0%
tests/test_exprParserLex.py (no function) 18 0 2 0 0 100%
tests/test_exprParserYacc.py _Visitor.visitNumericLiteral 1 1 0 0 0 0%
tests/test_exprParserYacc.py _Visitor.visitStringLiteral 1 1 0 0 0 0%
tests/test_exprParserYacc.py _Visitor.visitTimeLiteral 1 1 0 0 0 0%
tests/test_exprParserYacc.py _Visitor.visitRangeLiteral 3 3 0 2 0 0%
tests/test_exprParserYacc.py _Visitor.visitIdentifier 1 1 0 0 0 0%
tests/test_exprParserYacc.py _Visitor.visitUnaryOp 1 1 0 0 0 0%
tests/test_exprParserYacc.py _Visitor.visitBinaryOp 1 1 0 0 0 0%
tests/test_exprParserYacc.py _Visitor.visitIsIn 4 4 0 4 0 0%
tests/test_exprParserYacc.py _Visitor.visitParens 1 1 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.setUp 1 1 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.tearDown 1 1 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testInstantiate 1 1 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testEmpty 3 3 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testParseLiteral 26 26 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testParseIdentifiers 7 7 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testParseParens 5 5 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testUnaryOps 11 11 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testBinaryOps 51 51 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testIsIn 62 62 0 4 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testCompareOps 9 9 0 2 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testBoolOps 14 14 0 2 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testFunctionCall 22 22 0 2 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testPointNode 9 9 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testTupleNode 15 15 0 2 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testExpression 12 12 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testSubstitution 23 23 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testException 14 14 0 6 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testException._assertExc 5 5 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testStr 11 11 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testVisit 17 17 0 0 0 0%
tests/test_exprParserYacc.py ParserLexTestCase.testParseTimeStr 10 10 0 6 0 0%
tests/test_exprParserYacc.py (no function) 37 0 2 0 0 100%
tests/test_expressions.py ConvertExpressionToPredicateTestCase.setUp 1 1 0 0 0 0%
tests/test_expressions.py ConvertExpressionToPredicateTestCase.test_simple 1 1 0 0 0 0%
tests/test_expressions.py ConvertExpressionToPredicateTestCase.test_time 2 2 0 0 0 0%
tests/test_expressions.py ConvertExpressionToPredicateTestCase.test_ingest_date 1 1 0 0 0 0%
tests/test_expressions.py ConvertExpressionToPredicateTestCase.test_bind 1 1 0 0 0 0%
tests/test_expressions.py ConvertExpressionToPredicateTestCase.test_bind_list 4 4 0 0 0 0%
tests/test_expressions.py InspectionVisitorTestCase.test_simple 28 28 0 0 0 0%
tests/test_expressions.py InspectionVisitorTestCase.test_bind 26 26 0 0 0 0%
tests/test_expressions.py InspectionVisitorTestCase.test_in 33 33 0 0 0 0%
tests/test_expressions.py CheckVisitorTestCase.test_governor 20 20 0 0 0 0%
tests/test_expressions.py (no function) 34 0 2 0 0 100%
tests/test_formatter.py FormatterFactoryTestCase.setUp 5 5 0 0 0 0%
tests/test_formatter.py FormatterFactoryTestCase.assertIsFormatter 3 3 0 2 0 0%
tests/test_formatter.py FormatterFactoryTestCase.testFormatter 14 14 0 10 0 0%
tests/test_formatter.py FormatterFactoryTestCase.testExtensionValidation 7 7 0 8 0 0%
tests/test_formatter.py FormatterFactoryTestCase.testRegistry 20 20 0 6 0 0%
tests/test_formatter.py FormatterFactoryTestCase.testRegistryWithStorageClass 17 17 0 2 0 0%
tests/test_formatter.py FormatterFactoryTestCase.testRegistryConfig 39 39 0 4 0 0%
tests/test_formatter.py (no function) 16 0 2 0 0 100%
tests/test_location.py LocationTestCase.testFileLocation 25 25 0 0 0 0%
tests/test_location.py LocationTestCase.test_clone 9 9 0 0 0 0%
tests/test_location.py LocationTestCase.testAbsoluteLocations 5 5 0 2 0 0%
tests/test_location.py LocationTestCase.testBadLocations 6 6 0 6 0 0%
tests/test_location.py LocationTestCase.testRelativeRoot 9 9 0 2 0 0%
tests/test_location.py LocationTestCase.testQuotedRoot 9 9 0 2 0 0%
tests/test_location.py LocationTestCase.testHttpLocation 11 11 0 0 0 0%
tests/test_location.py (no function) 14 0 2 0 0 100%
tests/test_logFormatter.py ButlerLogRecordsFormatterTestCase.setUp 6 6 0 0 0 0%
tests/test_logFormatter.py ButlerLogRecordsFormatterTestCase.tearDown 1 1 0 0 0 0%
tests/test_logFormatter.py ButlerLogRecordsFormatterTestCase.testButlerLogRecordsFormatter 11 11 0 0 0 0%
tests/test_logFormatter.py ButlerLogRecordsFormatterTestCase.testJsonLogRecordsFormatter 15 15 0 0 0 0%
tests/test_logFormatter.py (no function) 15 0 2 0 0 100%
tests/test_logging.py LoggingTestCase.setUp 3 3 0 0 0 0%
tests/test_logging.py LoggingTestCase.tearDown 4 4 0 2 0 0%
tests/test_logging.py LoggingTestCase.testRecordCapture 29 29 0 22 0 0%
tests/test_logging.py LoggingTestCase.testRecordsFormatting 13 13 0 0 0 0%
tests/test_logging.py LoggingTestCase.testButlerLogRecords 37 37 0 4 0 0%
tests/test_logging.py LoggingTestCase.testExceptionInfo 13 13 0 0 0 0%
tests/test_logging.py LoggingTestCase.testMDC 39 39 0 2 0 0%
tests/test_logging.py TestJsonLogging.testJsonLogStream 39 39 0 6 0 0%
tests/test_logging.py (no function) 18 0 2 0 0 100%
tests/test_matplotlibFormatter.py MatplotlibFormatterTestCase.setUp 3 3 0 0 0 0%
tests/test_matplotlibFormatter.py MatplotlibFormatterTestCase.tearDown 1 1 0 0 0 0%
tests/test_matplotlibFormatter.py MatplotlibFormatterTestCase.testMatplotlibFormatter 14 14 0 4 0 0%
tests/test_matplotlibFormatter.py (no function) 21 2 2 2 0 91%
tests/test_nonempty_mapping.py NonemptyMappingTestCase.test_nonempty_mapping 11 11 0 0 0 0%
tests/test_nonempty_mapping.py (no function) 4 0 2 0 0 100%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.__init__ 1 1 0 0 0 0%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.init 1 1 0 0 0 0%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitNumericLiteral 0 0 1 0 0 100%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitStringLiteral 0 0 1 0 0 100%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitTimeLiteral 0 0 1 0 0 100%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitIdentifier 1 1 0 0 0 0%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitUnaryOp 2 2 1 0 0 0%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitBinaryOp 4 4 1 2 0 0%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitIsIn 0 0 1 0 0 100%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitParens 1 1 0 0 0 0%
tests/test_normalFormExpression.py BooleanEvaluationTreeVisitor.visitRangeLiteral 0 0 1 0 0 100%
tests/test_normalFormExpression.py NormalFormExpressionTestCase.check 19 19 0 18 0 0%
tests/test_normalFormExpression.py NormalFormExpressionTestCase.testNormalize 11 11 0 0 0 0%
tests/test_normalFormExpression.py (no function) 20 0 2 0 0 100%
tests/test_obscore.py ObsCoreTests.make_registry 4 4 0 0 0 0%
tests/test_obscore.py ObsCoreTests.make_registry_config 0 0 1 0 0 100%
tests/test_obscore.py ObsCoreTests.initialize_registry 50 50 0 18 0 0%
tests/test_obscore.py ObsCoreTests.make_obscore_config 6 6 0 4 0 0%
tests/test_obscore.py ObsCoreTests._insert_dataset 9 9 0 2 0 0%
tests/test_obscore.py ObsCoreTests._insert_datasets 1 1 0 0 0 0%
tests/test_obscore.py ObsCoreTests.test_config_errors 9 9 0 8 0 0%
tests/test_obscore.py ObsCoreTests.test_schema 25 25 0 8 0 0%
tests/test_obscore.py ObsCoreTests.test_insert_existing_collection 13 13 0 8 0 0%
tests/test_obscore.py ObsCoreTests.test_drop_datasets 16 16 0 8 0 0%
tests/test_obscore.py ObsCoreTests.test_associate 28 28 0 22 0 0%
tests/test_obscore.py ObsCoreTests.test_region_type_warning 7 7 0 4 0 0%
tests/test_obscore.py ObsCoreTests.test_update_exposure_region 25 25 0 12 0 0%
tests/test_obscore.py SQLiteObsCoreTest.setUp 1 1 0 0 0 0%
tests/test_obscore.py SQLiteObsCoreTest.tearDown 1 1 0 0 0 0%
tests/test_obscore.py SQLiteObsCoreTest.make_registry_config 5 5 0 0 0 0%
tests/test_obscore.py ClonedSqliteObscoreTest.make_registry 2 2 0 0 0 0%
tests/test_obscore.py PostgresObsCoreTest._handler 3 3 0 2 0 0%
tests/test_obscore.py PostgresObsCoreTest.setUpClass 2 2 0 0 0 0%
tests/test_obscore.py PostgresObsCoreTest.tearDownClass 3 3 0 0 0 0%
tests/test_obscore.py PostgresObsCoreTest.setUp 3 3 0 0 0 0%
tests/test_obscore.py PostgresObsCoreTest.tearDown 2 2 0 0 0 0%
tests/test_obscore.py PostgresObsCoreTest.make_registry_config 6 6 0 0 0 0%
tests/test_obscore.py PostgresPgSphereObsCoreTest._handler 7 7 0 2 0 0%
tests/test_obscore.py PostgresPgSphereObsCoreTest.make_obscore_config 3 3 0 0 0 0%
tests/test_obscore.py PostgresPgSphereObsCoreTest.test_spatial 23 23 0 10 0 0%
tests/test_obscore.py (no function) 61 0 2 16 0 100%
tests/test_packages.py PackagesFormatterTestCase.setUp 5 5 0 0 0 0%
tests/test_packages.py PackagesFormatterTestCase.tearDown 1 1 0 0 0 0%
tests/test_packages.py PackagesFormatterTestCase.testPackages 4 4 0 0 0 0%
tests/test_packages.py (no function) 11 0 2 0 0 100%
tests/test_parquet.py _makeSimpleNumpyTable 23 23 0 8 0 0%
tests/test_parquet.py _makeSingleIndexDataFrame 17 17 0 4 0 0%
tests/test_parquet.py _makeMultiIndexDataFrame 3 3 0 0 0 0%
tests/test_parquet.py _makeSimpleAstropyTable 31 31 0 2 0 0%
tests/test_parquet.py _makeSimpleArrowTable 2 2 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.setUp 6 6 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.tearDown 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrame 22 22 0 2 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrameWithLists 6 6 0 4 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testMultiIndexDataFrame 23 23 0 2 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrameEmptyString 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrameAllEmptyStrings 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testLegacyDataFrame 25 25 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testDataFrameSchema 9 9 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsAstropyTable 15 15 0 4 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameWithMaskedColsReadAsAstropyTable 14 14 0 6 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsAstropyTable 3 3 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteAstropyTableWithMaskedColsReadAsSingleIndexDataFrame 10 10 0 4 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsArrowTable 14 14 0 4 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsArrowTable 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsNumpyTable 14 14 0 2 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsNumpyTable 3 3 0 0 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsNumpyDict 7 7 0 2 0 0%
tests/test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsNumpyDict 3 3 0 0 0 0%
tests/test_parquet.py InMemoryDataFrameDelegateTestCase.testWriteMultiIndexDataFrameReadAsAstropyTable 4 4 0 2 0 0%
tests/test_parquet.py InMemoryDataFrameDelegateTestCase.testLegacyDataFrame 1 1 0 0 0 0%
tests/test_parquet.py InMemoryDataFrameDelegateTestCase.testBadInput 6 6 0 4 0 0%
tests/test_parquet.py InMemoryDataFrameDelegateTestCase.testStorageClass 9 9 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.setUp 6 6 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.tearDown 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyTable 24 24 0 4 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyTableBigEndian 4 4 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyTableWithMetadata 6 6 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testArrowAstropySchema 23 23 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyParquet 24 24 0 2 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsArrowTable 11 11 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsDataFrame 11 11 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyWithMaskedColsReadAsDataFrame 14 14 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteSingleIndexDataFrameWithMaskedColsReadAsAstropyTable 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsNumpyTable 11 11 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsNumpyDict 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowAstropyTestCase._checkAstropyTableEquality 24 24 0 14 0 0%
tests/test_parquet.py InMemoryArrowAstropyDelegateTestCase.testAstropyParquet 1 1 0 0 0 0%
tests/test_parquet.py InMemoryArrowAstropyDelegateTestCase.testBadInput 8 8 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.setUp 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.tearDown 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testNumpyTable 24 24 0 4 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testNumpyTableBigEndian 4 4 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testArrowNumpySchema 13 13 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testNumpyDictConversions 6 6 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsArrowTable 11 11 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsDataFrame 11 11 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsAstropyTable 11 11 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsNumpyDict 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyTestCase._checkNumpyTableEquality 6 6 0 4 0 0%
tests/test_parquet.py InMemoryArrowNumpyDelegateTestCase.testBadInput 8 8 0 6 0 0%
tests/test_parquet.py InMemoryArrowNumpyDelegateTestCase.testStorageClass 9 9 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.setUp 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.tearDown 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testArrowTable 28 28 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testEmptyArrowTable 20 20 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testEmptyArrowTableMultidim 19 19 0 2 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsSingleIndexDataFrame 13 13 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsMultiIndexDataFrame 13 13 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsAstropyTable 21 21 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsNumpyTable 13 13 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsNumpyDict 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase._checkAstropyTableEquality 19 19 0 8 0 0%
tests/test_parquet.py ParquetFormatterArrowTableTestCase._checkNumpyTableEquality 4 4 0 2 0 0%
tests/test_parquet.py InMemoryArrowTableDelegateTestCase.testBadInput 8 8 0 6 0 0%
tests/test_parquet.py InMemoryArrowTableDelegateTestCase.testStorageClass 9 9 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.setUp 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.tearDown 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testNumpyDict 30 30 0 14 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsArrowTable 6 6 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsDataFrame 8 8 0 2 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsAstropyTable 6 6 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsNumpyTable 6 6 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictBad 9 9 0 6 0 0%
tests/test_parquet.py ParquetFormatterArrowNumpyDictTestCase._checkNumpyDictEquality 4 4 0 2 0 0%
tests/test_parquet.py InMemoryNumpyDictDelegateTestCase.testWriteNumpyDictBad 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase.setUp 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase.tearDown 1 1 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase._makeTestSchema 2 2 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase.testArrowSchema 4 4 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase.testWriteArrowSchemaReadAsDataFrameSchema 5 5 0 0 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase.testWriteArrowSchemaReadAsArrowAstropySchema 14 14 0 8 0 0%
tests/test_parquet.py ParquetFormatterArrowSchemaTestCase.testWriteArrowSchemaReadAsArrowNumpySchema 5 5 0 0 0 0%
tests/test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeNoMetadata 8 8 0 0 0 0%
tests/test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeWithMetadata 5 5 0 0 0 0%
tests/test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeTinyTable 4 4 0 0 0 0%
tests/test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeDataFrameWithLists 4 4 0 0 0 0%
tests/test_parquet.py (no function) 216 23 2 108 0 93%
tests/test_postgresql.py _startServer 5 5 0 2 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.setUpClass 2 2 0 0 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.tearDownClass 3 3 0 0 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.makeEmptyDatabase 2 2 0 0 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.getNewConnection 1 1 0 0 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.asReadOnly 1 1 0 0 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.testNameShrinking 7 7 0 2 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.test_RangeTimespanType 27 27 0 26 0 0%
tests/test_postgresql.py PostgresqlDatabaseTestCase.test_RangeTimespanType.subquery 1 1 0 0 0 0%
tests/test_postgresql.py PostgresqlRegistryTests.setUpClass 2 2 0 0 0 0%
tests/test_postgresql.py PostgresqlRegistryTests.tearDownClass 3 3 0 0 0 0%
tests/test_postgresql.py PostgresqlRegistryTests.getDataDir 1 1 0 0 0 0%
tests/test_postgresql.py PostgresqlRegistryTests.makeRegistry 9 9 0 4 0 0%
tests/test_postgresql.py (no function) 52 2 2 16 0 97%
tests/test_progress.py MockProgressBar.__init__ 5 5 0 0 0 0%
tests/test_progress.py MockProgressBar.__iter__ 4 4 0 2 0 0%
tests/test_progress.py MockProgressBar.update 2 2 0 0 0 0%
tests/test_progress.py MockProgressHandler.get_progress_bar 1 1 0 0 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.setUp 4 4 0 0 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.tearDown 3 3 0 0 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.get_cmd 4 4 0 6 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.get_cmd.cmd 6 6 0 2 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.test_click_disabled_by_default 2 2 0 0 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.test_click_enabled 2 2 0 0 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.test_click_disabled_globally 2 2 0 0 0 0%
tests/test_progress.py ClickProgressHandlerTestCase.test_click_disabled_by_log_level 2 2 0 0 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.setUp 4 4 0 0 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.tearDown 3 3 0 0 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_bar_iterable 5 5 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_bar_update 4 4 0 4 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_fully_sized 7 7 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_with_total 7 7 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_total_false 7 7 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_not_sized 7 7 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_fully_sized 7 7 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_with_total 7 7 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_total_false 7 7 0 2 0 0%
tests/test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_not_sized 7 7 0 2 0 0%
tests/test_progress.py (no function) 37 0 2 2 0 100%
tests/test_pydantic_utils.py Inner._validate 3 3 0 2 0 0%
tests/test_pydantic_utils.py DeferredValidationTestCase.test_json_schema 1 1 0 0 0 0%
tests/test_pydantic_utils.py DeferredValidationTestCase.test_dump_and_validate 23 23 0 0 0 0%
tests/test_pydantic_utils.py SerializableExtensionsTestCase.test_region 18 18 0 8 0 0%
tests/test_pydantic_utils.py SerializableExtensionsTestCase.test_time 13 13 0 4 0 0%
tests/test_pydantic_utils.py (no function) 22 0 2 2 0 100%
tests/test_quantum.py QuantumTestCase._buildFullQuantum 33 33 0 2 0 0%
tests/test_quantum.py QuantumTestCase.testConstructor 10 10 0 0 0 0%
tests/test_quantum.py QuantumTestCase.testSerialization 23 23 0 0 0 0%
tests/test_quantum.py (no function) 12 0 2 0 0 100%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.setUp 29 29 0 12 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.tearDown 1 1 0 0 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.make_quantum 12 12 0 4 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_initialize 3 3 0 0 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_initialize_repo_index 9 9 0 4 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_from_predicted 3 3 0 2 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase._test_factory 7 7 0 4 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_getput 20 20 0 14 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_getDeferred 16 16 0 14 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_stored 22 22 0 12 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_markInputUnused 12 12 0 6 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_pruneDatasets 27 27 0 14 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_extract_provenance_data 29 29 0 16 0 0%
tests/test_quantumBackedButler.py QuantumBackedButlerTestCase.test_collect_and_transfer 21 21 0 14 0 0%
tests/test_quantumBackedButler.py (no function) 26 0 2 0 0 100%
tests/test_query_direct_postgresql.py _start_server 5 5 0 2 0 0%
tests/test_query_direct_postgresql.py DirectButlerPostgreSQLTests.setUpClass 2 2 0 0 0 0%
tests/test_query_direct_postgresql.py DirectButlerPostgreSQLTests.tearDownClass 3 3 0 0 0 0%
tests/test_query_direct_postgresql.py DirectButlerPostgreSQLTests.make_butler 7 7 0 2 0 0%
tests/test_query_direct_postgresql.py DirectButlerPostgreSQLTests.test_data_coordinate_upload_force_temp_table 1 1 0 0 0 0%
tests/test_query_direct_postgresql.py DirectButlerPostgreSQLTests.test_materialization 1 1 0 0 0 0%
tests/test_query_direct_postgresql.py (no function) 31 0 2 10 0 100%
tests/test_query_direct_sqlite.py DirectButlerSQLiteTests.make_butler 6 6 0 2 0 0%
tests/test_query_direct_sqlite.py (no function) 13 0 2 0 0 100%
tests/test_query_interface.py _TestVisitor.__init__ 4 4 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_binary_expression 15 15 0 14 0 0%
tests/test_query_interface.py _TestVisitor.visit_comparison 15 15 0 14 0 0%
tests/test_query_interface.py _TestVisitor.visit_dataset_field_reference 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_dimension_field_reference 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_dimension_key_reference 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_in_container 1 1 0 2 0 0%
tests/test_query_interface.py _TestVisitor.visit_in_range 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_in_query_tree 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_is_null 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_literal 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_reversed 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.visit_unary_expression 7 7 0 6 0 0%
tests/test_query_interface.py _TestVisitor.apply_logical_and 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.apply_logical_not 1 1 0 0 0 0%
tests/test_query_interface.py _TestVisitor.apply_logical_or 1 1 0 0 0 0%
tests/test_query_interface.py _TestQueryExecution.__init__ 3 3 0 0 0 0%
tests/test_query_interface.py _TestQueryCount.__init__ 5 5 0 0 0 0%
tests/test_query_interface.py _TestQueryAny.__init__ 4 4 0 0 0 0%
tests/test_query_interface.py _TestQueryExplainNoResults.__init__ 3 3 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.__init__ 9 9 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.universe 1 1 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.__enter__ 1 1 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.__exit__ 1 1 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.execute 5 5 0 2 0 0%
tests/test_query_interface.py _TestQueryDriver.fetch_next_page 2 2 1 0 0 0%
tests/test_query_interface.py _TestQueryDriver._make_next_page 13 13 1 8 0 0%
tests/test_query_interface.py _TestQueryDriver.materialize 3 3 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.upload_data_coordinates 3 3 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.count 1 1 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.any 1 1 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.explain_no_results 1 1 0 0 0 0%
tests/test_query_interface.py _TestQueryDriver.get_default_collections 3 3 0 2 0 0%
tests/test_query_interface.py _TestQueryDriver.get_dataset_type 4 4 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.setUp 2 2 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.query 1 1 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_int_literals 11 11 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_string_literals 11 11 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_float_literals 11 11 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_hash_literals 11 11 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_uuid_literals 12 12 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_datetime_literals 12 12 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_timespan_literals 14 14 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_region_literals 13 13 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_invalid_literal 2 2 0 2 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_dimension_key_reference 10 10 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_dimension_field_reference 13 13 0 2 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_dataset_field_reference 16 16 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_unary_negation 13 13 0 2 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_unary_timespan_begin 16 16 0 2 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_unary_timespan_end 16 16 0 2 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_binary_expression_float 13 13 0 4 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_binary_modulus 13 13 0 4 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_binary_expression_validation 6 6 0 6 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_reversed 11 11 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_trivial_predicate 21 21 0 6 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_comparison 18 18 0 6 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_overlap_comparison 19 19 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_invalid_comparison 6 6 0 6 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_is_null 15 15 0 0 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_in_container 26 26 0 4 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_in_range 24 24 0 6 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_in_query 27 27 0 8 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_complex_predicate 9 9 0 4 0 0%
tests/test_query_interface.py ColumnExpressionsTestCase.test_proxy_misc 11 11 0 4 0 0%
tests/test_query_interface.py QueryTestCase.setUp 8 8 0 0 0 0%
tests/test_query_interface.py QueryTestCase.query 4 4 0 0 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_join 13 13 0 8 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_join.check 46 46 0 16 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_join.check.check_query_tree 8 8 0 0 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_join.check.check_data_id_results 4 4 0 2 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_join.check.check_dataset_results 4 4 0 2 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_join.check.check_materialization 19 19 0 6 0 0%
tests/test_query_interface.py QueryTestCase.test_dimension_record_results 20 20 0 6 0 0%
tests/test_query_interface.py QueryTestCase.test_dimension_record_results.check 23 23 0 8 0 0%
tests/test_query_interface.py QueryTestCase.test_dimension_record_iteration 6 6 0 6 0 0%
tests/test_query_interface.py QueryTestCase.test_dimension_record_iteration.make_record 1 1 0 0 0 0%
tests/test_query_interface.py QueryTestCase.test_data_coordinate_results 14 14 0 0 0 0%
tests/test_query_interface.py QueryTestCase.test_data_coordinate_results.check 23 23 0 8 0 0%
tests/test_query_interface.py QueryTestCase.test_data_coordinate_iteration 4 4 0 2 0 0%
tests/test_query_interface.py QueryTestCase.test_data_coordinate_iteration.make_data_id 1 1 0 0 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_results 16 16 0 0 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_results.check 27 27 0 10 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_iteration 4 4 0 2 0 0%
tests/test_query_interface.py QueryTestCase.test_dataset_iteration.make_ref 1 1 0 0 0 0%
tests/test_query_interface.py QueryTestCase.test_identifiers 22 22 0 14 0 0%
tests/test_query_interface.py QueryTestCase.test_identifiers.extract_order_by 3 3 0 4 0 0%
tests/test_query_interface.py QueryTestCase.test_invalid_models 17 17 0 14 0 0%
tests/test_query_interface.py QueryTestCase.test_general_result_spec 19 19 0 8 0 0%
tests/test_query_interface.py (no function) 110 0 2 4 0 100%
tests/test_query_relations.py TestQueryRelationsTests.setUpClass 21 21 0 2 0 0%
tests/test_query_relations.py TestQueryRelationsTests.assert_relation_str 9 9 1 4 0 0%
tests/test_query_relations.py TestQueryRelationsTests.test_spatial_constraints 8 8 0 2 0 0%
tests/test_query_relations.py (no function) 14 0 2 2 0 100%
tests/test_query_remote.py RemoteButlerQueryTests.make_butler 5 5 0 2 0 0%
tests/test_query_remote.py (no function) 15 0 2 2 0 100%
tests/test_query_utilities.py ColumnSetTestCase.setUp 1 1 0 0 0 0%
tests/test_query_utilities.py ColumnSetTestCase.test_basics 36 36 0 2 0 0%
tests/test_query_utilities.py ColumnSetTestCase.test_drop_dimension_keys 16 16 0 0 0 0%
tests/test_query_utilities.py ColumnSetTestCase.test_get_column_spec 27 27 0 0 0 0%
tests/test_query_utilities.py _RecordingOverlapsVisitor.__init__ 4 4 0 0 0 0%
tests/test_query_utilities.py _RecordingOverlapsVisitor.visit_spatial_constraint 2 2 0 0 0 0%
tests/test_query_utilities.py _RecordingOverlapsVisitor.visit_spatial_join 2 2 0 0 0 0%
tests/test_query_utilities.py _RecordingOverlapsVisitor.visit_temporal_dimension_join 2 2 0 0 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.setUp 1 1 0 0 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.run_visitor 6 6 0 2 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.test_trivial 9 9 0 0 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.test_one_spatial_family 23 23 0 2 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.test_single_unambiguous_spatial_join 25 25 0 0 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.test_single_flexible_spatial_join 17 17 0 0 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.test_multiple_spatial_joins 13 13 0 4 0 0%
tests/test_query_utilities.py OverlapsVisitorTestCase.test_one_temporal_family 22 22 0 2 0 0%
tests/test_query_utilities.py NaiveDisjointSetTestCase.test_naive_disjoint_set 8 8 0 2 0 0%
tests/test_query_utilities.py (no function) 33 0 2 0 0 100%
tests/test_remote_butler.py RemoteButlerConfigTests.test_bad_config 2 2 0 2 0 0%
tests/test_remote_butler.py RemoteButlerErrorHandlingTests.setUp 3 3 0 0 0 0%
tests/test_remote_butler.py RemoteButlerErrorHandlingTests._mock_error_response 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerErrorHandlingTests.test_internal_server_error 3 3 0 2 0 0%
tests/test_remote_butler.py RemoteButlerErrorHandlingTests.test_unknown_error_type 3 3 0 2 0 0%
tests/test_remote_butler.py RemoteButlerErrorHandlingTests.test_non_json_error 3 3 0 2 0 0%
tests/test_remote_butler.py RemoteButlerErrorHandlingTests.test_malformed_error 3 3 0 2 0 0%
tests/test_remote_butler.py RemoteButlerMiscTests.test_retrieve_artifacts_security 3 3 0 2 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.setUp 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.getDataDir 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.makeRegistry 3 3 0 2 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.testBasicTransaction 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.testNestedTransaction 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.testOpaque 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.testCollectionChainPrependConcurrency 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.testCollectionChainReplaceConcurrency 1 1 0 0 0 0%
tests/test_remote_butler.py RemoteButlerRegistryTests.testAttributeManager 1 1 0 0 0 0%
tests/test_remote_butler.py (no function) 45 1 2 8 0 98%
tests/test_server.py ButlerClientServerTestCase.setUpClass 12 12 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_health_check 8 8 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_dimension_universe 2 2 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_get_dataset_type 4 4 0 2 0 0%
tests/test_server.py ButlerClientServerTestCase.test_find_dataset 21 21 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_instantiate_via_butler_http_search 14 14 0 6 0 0%
tests/test_server.py ButlerClientServerTestCase.test_instantiate_via_butler_http_search.override_read 1 1 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_get 40 40 0 8 0 0%
tests/test_server.py ButlerClientServerTestCase.test_get.check_sc_override 3 3 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_getURIs_no_components 5 5 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_getURIs_no_components.check_uri 3 3 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_getURIs_multiple_components 12 12 0 2 0 0%
tests/test_server.py ButlerClientServerTestCase.test_getURIs_multiple_components.check_uris 6 6 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_auth_check 3 3 0 2 0 0%
tests/test_server.py ButlerClientServerTestCase.test_exception_logging 17 17 0 2 0 0%
tests/test_server.py ButlerClientServerTestCase.test_exception_logging.raise_error 1 1 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_exception_logging.noop 1 1 0 0 0 0%
tests/test_server.py ButlerClientServerTestCase.test_exception_logging.get_logger 1 1 0 0 0 0%
tests/test_server.py _create_corrupted_dataset 6 6 0 0 0 0%
tests/test_server.py _create_simple_dataset 3 3 0 0 0 0%
tests/test_server.py (no function) 39 6 2 4 0 86%
tests/test_simpleButler.py SimpleButlerTests.makeButler 0 0 1 0 0 100%
tests/test_simpleButler.py SimpleButlerTests.comparableRef 1 1 0 0 0 0%
tests/test_simpleButler.py SimpleButlerTests.testReadBackwardsCompatibility 4 4 0 4 0 0%
tests/test_simpleButler.py SimpleButlerTests.testDatasetTransfers 13 13 0 10 0 0%
tests/test_simpleButler.py SimpleButlerTests.testImportTwice 14 14 0 10 0 0%
tests/test_simpleButler.py SimpleButlerTests.testCollectionTransfers 44 44 0 10 0 0%
tests/test_simpleButler.py SimpleButlerTests.testButlerGet 18 18 0 6 0 0%
tests/test_simpleButler.py SimpleButlerTests.testGetCalibration 57 57 0 8 0 0%
tests/test_simpleButler.py SimpleButlerTests.testRegistryDefaults 33 33 0 0 0 0%
tests/test_simpleButler.py SimpleButlerTests.testJson 14 14 0 6 0 0%
tests/test_simpleButler.py SimpleButlerTests.test_populated_by 8 8 0 2 0 0%
tests/test_simpleButler.py SimpleButlerTests.testJsonDimensionRecordsAndHtmlRepresentation 16 16 0 6 0 0%
tests/test_simpleButler.py SimpleButlerTests.test_dimension_records_import 6 6 0 2 0 0%
tests/test_simpleButler.py SimpleButlerTests.testWildcardQueries 13 13 0 6 0 0%
tests/test_simpleButler.py SimpleButlerTests.test_skypix_templates 11 11 0 0 0 0%
tests/test_simpleButler.py DirectSimpleButlerTestCase.setUp 1 1 0 0 0 0%
tests/test_simpleButler.py DirectSimpleButlerTestCase.tearDown 1 1 0 0 0 0%
tests/test_simpleButler.py DirectSimpleButlerTestCase.makeButler 11 11 0 0 0 0%
tests/test_simpleButler.py RemoteSimpleButlerTestCase.makeButler 5 5 0 0 0 0%
tests/test_simpleButler.py _mock_get_dataset_as_python_object 1 1 0 0 0 0%
tests/test_simpleButler.py (no function) 54 2 2 2 0 96%
tests/test_sqlite.py removeWritePermission 5 5 0 0 0 0%
tests/test_sqlite.py isEmptyDatabaseActuallyWriteable 7 7 0 2 0 0%
tests/test_sqlite.py SqliteFileDatabaseTestCase.setUp 1 1 0 0 0 0%
tests/test_sqlite.py SqliteFileDatabaseTestCase.tearDown 1 1 0 0 0 0%
tests/test_sqlite.py SqliteFileDatabaseTestCase.makeEmptyDatabase 3 3 0 0 0 0%
tests/test_sqlite.py SqliteFileDatabaseTestCase.getNewConnection 2 2 0 0 0 0%
tests/test_sqlite.py SqliteFileDatabaseTestCase.asReadOnly 2 2 0 2 0 0%
tests/test_sqlite.py SqliteFileDatabaseTestCase.testConnection 24 24 0 4 0 0%
tests/test_sqlite.py SqliteFileDatabaseTestCase.testTransactionLocking 1 1 0 0 0 0%
tests/test_sqlite.py SqliteMemoryDatabaseTestCase.makeEmptyDatabase 2 2 0 0 0 0%
tests/test_sqlite.py SqliteMemoryDatabaseTestCase.getNewConnection 1 1 0 0 0 0%
tests/test_sqlite.py SqliteMemoryDatabaseTestCase.asReadOnly 1 1 0 0 0 0%
tests/test_sqlite.py SqliteMemoryDatabaseTestCase.testConnection 14 14 0 4 0 0%
tests/test_sqlite.py SqliteMemoryDatabaseTestCase.testTransactionLocking 1 1 0 0 0 0%
tests/test_sqlite.py SqliteFileRegistryTests.setUp 1 1 0 0 0 0%
tests/test_sqlite.py SqliteFileRegistryTests.tearDown 1 1 0 0 0 0%
tests/test_sqlite.py SqliteFileRegistryTests.getDataDir 1 1 0 0 0 0%
tests/test_sqlite.py SqliteFileRegistryTests.makeRegistry 8 8 0 4 0 0%
tests/test_sqlite.py ClonedSqliteFileRegistryNameKeyCollMgrUUIDTestCase.makeRegistry 2 2 0 0 0 0%
tests/test_sqlite.py SqliteMemoryRegistryTests.getDataDir 1 1 0 0 0 0%
tests/test_sqlite.py SqliteMemoryRegistryTests.makeRegistry 5 5 0 2 0 0%
tests/test_sqlite.py SqliteMemoryRegistryTests.testMissingAttributes 4 4 0 2 0 0%
tests/test_sqlite.py (no function) 61 0 2 10 0 100%
tests/test_storageClass.py NotCopyable.__deepcopy__ 1 1 0 0 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testCreation 33 33 0 4 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testParameters 12 12 0 4 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testEquality 23 23 0 0 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testTypeEquality 5 5 0 0 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testRegistry 34 34 0 4 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testFactoryFind 12 12 0 2 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testFactoryConfig 29 29 0 2 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testPickle 7 7 0 0 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase._convert_type 3 3 0 2 0 0%
tests/test_storageClass.py StorageClassFactoryTestCase.testConverters 30 30 0 6 0 0%
tests/test_storageClass.py (no function) 29 0 2 2 0 100%
tests/test_templates.py TestFileTemplates.makeDatasetRef 10 10 0 4 0 0%
tests/test_templates.py TestFileTemplates.setUp 2 2 0 0 0 0%
tests/test_templates.py TestFileTemplates.assertTemplate 3 3 0 0 0 0%
tests/test_templates.py TestFileTemplates.testBasic 25 25 0 10 0 0%
tests/test_templates.py TestFileTemplates.testRunOrCollectionNeeded 3 3 0 2 0 0%
tests/test_templates.py TestFileTemplates.testNoRecord 4 4 0 2 0 0%
tests/test_templates.py TestFileTemplates.testOptional 13 13 0 0 0 0%
tests/test_templates.py TestFileTemplates.testComponent 14 14 0 2 0 0%
tests/test_templates.py TestFileTemplates.testFields 12 12 0 4 0 0%
tests/test_templates.py TestFileTemplates.testSimpleConfig 52 52 0 6 0 0%
tests/test_templates.py TestFileTemplates.testValidation 21 21 0 6 0 0%
tests/test_templates.py (no function) 21 0 2 0 0 100%
tests/test_testRepo.py ButlerTestRepoTestCase.setUp 1 1 0 0 0 0%
tests/test_testRepo.py ButlerTestRepoTestCase.tearDown 1 1 0 0 0 0%
tests/test_testRepo.py ButlerTestRepoTestCase.testMakeTestRepo 4 4 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.setUpClass 12 12 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.tearDownClass 1 1 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.setUp 1 1 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testButlerValid 1 1 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testButlerKwargs 4 4 0 2 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite._checkButlerDimension 3 3 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testButlerDimensions 4 4 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testAddDataIdValue 16 16 0 12 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testAddDatasetType 8 8 0 6 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testRegisterMetricsExample 8 8 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testRegisterMetricsExampleChained 12 12 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testUniqueButler 7 7 0 0 0 0%
tests/test_testRepo.py ButlerUtilsTestSuite.testExpandUniqueId 6 6 0 2 0 0%
tests/test_testRepo.py (no function) 28 0 2 4 0 100%
tests/test_thread_utils.py ThreadSafeCacheTestCase.test_cache 7 7 0 0 0 0%
tests/test_thread_utils.py NamedLocksTestCase.test_named_locks 13 13 0 2 0 0%
tests/test_thread_utils.py LockedObjectTestCase.test_named_locks 7 7 0 2 0 0%
tests/test_thread_utils.py (no function) 10 0 2 0 0 100%
tests/test_time_utils.py TimeTestCase.test_time_before_epoch 5 5 0 0 0 0%
tests/test_time_utils.py TimeTestCase.test_max_time 13 13 0 6 0 0%
tests/test_time_utils.py TimeTestCase.test_round_trip 12 12 0 6 0 0%
tests/test_time_utils.py TimeTestCase.test_times_equal 30 30 0 0 0 0%
tests/test_time_utils.py (no function) 15 2 2 0 0 87%
tests/test_timespan.py TimespanTestCase.setUp 8 8 0 10 0 0%
tests/test_timespan.py TimespanTestCase.testEmpty 23 23 0 8 0 0%
tests/test_timespan.py TimespanTestCase.testFromInstant 1 1 0 0 0 0%
tests/test_timespan.py TimespanTestCase.testInvalid 13 13 0 12 0 0%
tests/test_timespan.py TimespanTestCase.testStrings 11 11 0 8 0 0%
tests/test_timespan.py TimespanTestCase.testOperationConsistency 36 36 0 24 0 0%
tests/test_timespan.py TimespanTestCase.testPrecision 14 14 0 0 0 0%
tests/test_timespan.py TimespanTestCase.testTimescales 3 3 0 0 0 0%
tests/test_timespan.py TimespanTestCase.testFuture 10 10 0 6 0 0%
tests/test_timespan.py TimespanTestCase.test_serialization 13 13 0 4 0 0%
tests/test_timespan.py TimespanTestCase.test_day_obs 7 7 0 4 0 0%
tests/test_timespan.py (no function) 24 2 2 0 0 92%
tests/test_utils.py NamedKeyDictTest.setUp 5 5 0 0 0 0%
tests/test_utils.py NamedKeyDictTest.check 7 7 0 0 0 0%
tests/test_utils.py NamedKeyDictTest.testConstruction 2 2 0 0 0 0%
tests/test_utils.py NamedKeyDictTest.testDuplicateNameConstruction 5 5 0 4 0 0%
tests/test_utils.py NamedKeyDictTest.testNoNameConstruction 5 5 0 4 0 0%
tests/test_utils.py NamedKeyDictTest.testGetItem 7 7 0 0 0 0%
tests/test_utils.py NamedKeyDictTest.testSetItem 9 9 0 4 0 0%
tests/test_utils.py NamedKeyDictTest.testDelItem 6 6 0 0 0 0%
tests/test_utils.py NamedKeyDictTest.testIter 1 1 0 0 0 0%
tests/test_utils.py NamedKeyDictTest.testEquality 3 3 0 0 0 0%
tests/test_utils.py NamedValueSetTest.setUp 4 4 0 0 0 0%
tests/test_utils.py NamedValueSetTest.testConstruction 6 6 0 4 0 0%
tests/test_utils.py NamedValueSetTest.testNoNameConstruction 2 2 0 2 0 0%
tests/test_utils.py NamedValueSetTest.testGetItem 7 7 0 0 0 0%
tests/test_utils.py NamedValueSetTest.testEquality 4 4 0 0 0 0%
tests/test_utils.py NamedValueSetTest.checkOperator 2 2 0 0 0 0%
tests/test_utils.py NamedValueSetTest.testOperators 6 6 0 0 0 0%
tests/test_utils.py NamedValueSetTest.testPop 7 7 0 2 0 0%
tests/test_utils.py NamedValueSetTest.testRemove 9 9 0 2 0 0%
tests/test_utils.py GlobToRegexTestCase.testStarInList 1 1 0 0 0 0%
tests/test_utils.py GlobToRegexTestCase.testGlobList 9 9 0 6 0 0%
tests/test_utils.py (no function) 31 0 2 0 0 100%
tests/test_versioning.py Manager0.currentVersions 1 1 0 0 0 0%
tests/test_versioning.py Manager1.currentVersions 1 1 0 0 0 0%
tests/test_versioning.py Manager1_1.currentVersions 1 1 0 0 0 0%
tests/test_versioning.py Manager2.currentVersions 1 1 0 0 0 0%
tests/test_versioning.py Manager2._newDefaultSchemaVersion 1 1 0 0 0 0%
tests/test_versioning.py SchemaVersioningTestCase.setUp 1 1 0 0 0 0%
tests/test_versioning.py SchemaVersioningTestCase.tearDown 1 1 0 0 0 0%
tests/test_versioning.py SchemaVersioningTestCase.makeEmptyDatabase 3 3 0 0 0 0%
tests/test_versioning.py SchemaVersioningTestCase.test_new_schema 28 28 0 14 0 0%
tests/test_versioning.py SchemaVersioningTestCase.test_existing_schema 27 27 0 10 0 0%
tests/test_versioning.py SchemaVersioningTestCase.test_compatibility 7 7 0 8 0 0%
tests/test_versioning.py (no function) 36 0 2 10 0 100%
Total   40848 28597 954 16855 106 28%

No items found using the specified filter.