Coverage report: 21%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-24 08:17 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
python / lsst / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / __init__.py (no function)   100% 38 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.__new__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _butler.py Butler.from_config   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / _butler.py Butler.has_repo_config   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler.py Butler.makeRepo   0% 44 44 0   0% 20 0   0%
python / lsst / daf / butler / _butler.py Butler.get_repo_uri   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _butler.py Butler.get_known_repos   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _butler.py Butler.parse_dataset_uri   0% 23 23 0   0% 10 0   0%
python / lsst / daf / butler / _butler.py Butler.get_dataset_from_uri   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / _butler.py Butler._caching_context   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.transaction   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.put   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.getDeferred   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.get   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.getURIs   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.getURI   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _butler.py Butler.get_dataset_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.get_dataset   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.get_many_datasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.find_dataset   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.retrieve_artifacts_zip   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.retrieveArtifacts   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.exists   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler._exists_many   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.removeRuns   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.ingest   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.ingest_zip   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.export   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.import_   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.transfer_dimension_records_from   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.transfer_from   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.validateConfiguration   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.collection_chains   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.collections   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.run   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.registry   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.query   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.query_data_ids   0% 21 21 0   0% 12 0   0%
python / lsst / daf / butler / _butler.py Butler.query_datasets   0% 25 25 0   0% 16 0   0%
python / lsst / daf / butler / _butler.py Butler.query_dimension_records   0% 19 19 0   0% 10 0   0%
python / lsst / daf / butler / _butler.py Butler.query_all_datasets   0% 20 20 0   0% 12 0   0%
python / lsst / daf / butler / _butler.py Butler._query_all_datasets_by_page   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler.close   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py Butler._expand_data_ids   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler.py (no function)   100% 131 0 15   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py CollectionInfo.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.__getitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.__getitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.defaults   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.extend_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.prepend_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.redefine_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.remove_from_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.query   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.query_info   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.get_info   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.register   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections.x_remove   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _butler_collections.py ButlerCollections._filter_dataset_types   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / _butler_collections.py ButlerCollections._group_by_dataset_type   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / _butler_collections.py (no function)   100% 53 0 2   100% 0 0   100%
python / lsst / daf / butler / _butler_config.py ButlerConfig.__init__   0% 53 53 0   0% 32 0   0%
python / lsst / daf / butler / _butler_config.py ButlerConfig.get_butler_type   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / _butler_config.py (no function)   100% 19 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler_instance_options.py (no function)   100% 12 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics.reset   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics.increment_get   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics.increment_put   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics.increment_ingest   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics._timer   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics.instrument_get   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics.instrument_put   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py ButlerMetrics.instrument_ingest   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _butler_metrics.py (no function)   100% 34 0 0   100% 0 0   100%
python / lsst / daf / butler / _butler_repo_index.py ButlerRepoIndex._read_repository_index   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / _butler_repo_index.py ButlerRepoIndex._read_repository_index_from_environment   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / _butler_repo_index.py ButlerRepoIndex.get_known_repos   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _butler_repo_index.py ButlerRepoIndex.get_failure_reason   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _butler_repo_index.py ButlerRepoIndex.get_repo_uri   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / _butler_repo_index.py ButlerRepoIndex._validate_configuration   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _butler_repo_index.py (no function)   100% 30 0 0   100% 0 0   100%
python / lsst / daf / butler / _collection_type.py CollectionType.all   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _collection_type.py CollectionType.from_name   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _collection_type.py CollectionType.from_names   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _collection_type.py (no function)   100% 19 0 0   100% 0 0   100%
python / lsst / daf / butler / _config.py _doUpdate   80% 10 2 0   75% 8 2   78%
python / lsst / daf / butler / _config.py _checkNextItem   45% 20 11 0   62% 8 3   50%
python / lsst / daf / butler / _config.py Loader.__init__   80% 5 1 0   50% 2 1   71%
python / lsst / daf / butler / _config.py Loader.include   0% 16 16 0   0% 12 0   0%
python / lsst / daf / butler / _config.py Loader.extractFile   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / _config.py Config.__init__   92% 13 1 0   88% 8 1   90%
python / lsst / daf / butler / _config.py Config.ppprint   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config.py Config.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config.py Config.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config.py Config.__len__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _config.py Config.__iter__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _config.py Config.copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config.py Config.fromString   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _config.py Config.fromYaml   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config.py Config.__initFromUri   56% 16 7 0   17% 6 1   45%
python / lsst / daf / butler / _config.py Config.__initFromYaml   80% 5 1 0   50% 2 1   71%
python / lsst / daf / butler / _config.py Config.__initFromJson   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _config.py Config._processExplicitIncludes   22% 37 29 0   21% 24 3   21%
python / lsst / daf / butler / _config.py Config._splitIntoKeys   23% 22 17 0   29% 14 2   25%
python / lsst / daf / butler / _config.py Config._getKeyHierarchy   100% 4 0 0   100% 2 0   100%
python / lsst / daf / butler / _config.py Config._findInHierarchy   100% 12 0 0   100% 4 0   100%
python / lsst / daf / butler / _config.py Config.__getitem__   89% 18 2 0   70% 10 3   82%
python / lsst / daf / butler / _config.py Config.__setitem__   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / _config.py Config.__contains__   80% 5 1 0   50% 2 1   71%
python / lsst / daf / butler / _config.py Config.__delitem__   78% 9 2 0   50% 4 2   69%
python / lsst / daf / butler / _config.py Config.update   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _config.py Config.merge   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _config.py Config.nameTuples   83% 6 1 0   50% 2 1   75%
python / lsst / daf / butler / _config.py Config.nameTuples.getKeysAsTuples   100% 9 0 0   100% 6 0   100%
python / lsst / daf / butler / _config.py Config.names   0% 21 21 0   0% 12 0   0%
python / lsst / daf / butler / _config.py Config.asArray   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _config.py Config.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _config.py Config.__ne__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _config.py Config.dump   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / _config.py Config.dumpToUri   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / _config.py Config.updateParameters   0% 27 27 0   0% 26 0   0%
python / lsst / daf / butler / _config.py Config.toDict   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _config.py ConfigSubset.__init__   64% 39 14 0   54% 28 9   60%
python / lsst / daf / butler / _config.py ConfigSubset.defaultSearchPaths   67% 6 2 0   50% 2 1   62%
python / lsst / daf / butler / _config.py ConfigSubset._updateWithConfigsFromPath   75% 12 3 0   62% 8 3   70%
python / lsst / daf / butler / _config.py ConfigSubset._updateWithOtherConfigFile   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / _config.py ConfigSubset.validate   67% 3 1 0   50% 2 1   60%
python / lsst / daf / butler / _config.py (no function)   98% 86 2 2   100% 0 0   98%
python / lsst / daf / butler / _config_support.py LookupKey.__init__   38% 24 15 0   36% 14 5   37%
python / lsst / daf / butler / _config_support.py LookupKey.__str__   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / _config_support.py LookupKey.__repr__   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / _config_support.py LookupKey.__eq__   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _config_support.py LookupKey.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config_support.py LookupKey.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config_support.py LookupKey.dataId   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _config_support.py LookupKey.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _config_support.py LookupKey.clone   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / _config_support.py processLookupConfigs   0% 18 18 0   0% 12 0   0%
python / lsst / daf / butler / _config_support.py processLookupConfigList   0% 16 16 0   0% 12 0   0%
python / lsst / daf / butler / _config_support.py (no function)   100% 26 0 2   100% 0 0   100%
python / lsst / daf / butler / _dataset_association.py DatasetAssociation.from_query_result   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_association.py DatasetAssociation.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_association.py (no function)   100% 21 0 3   100% 0 0   100%
python / lsst / daf / butler / _dataset_existence.py DatasetExistence.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_existence.py (no function)   100% 19 0 0   100% 0 0   100%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.populate_cache   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.add_input   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.add_extra_provenance   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.to_flat_dict   0% 30 30 0   0% 26 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.to_flat_dict._make_key   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance._make_provenance_key   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance._find_prefix_and_sep   0% 27 27 0   0% 22 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance._find_prefix_and_sep._update_matches   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance._find_provenance_keys_in_flat_dict   0% 24 24 0   0% 16 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.strip_provenance_from_flat_dict   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.from_flat_dict   0% 37 37 0   0% 26 0   0%
python / lsst / daf / butler / _dataset_provenance.py DatasetProvenance.from_flat_dict._coerce_id   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_provenance.py (no function)   100% 32 0 3   100% 0 0   100%
python / lsst / daf / butler / _dataset_ref.py _DatasetRefGroupedIterable._iter_by_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetIdFactory.makeDatasetId   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRef.check_consistent_parameters   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRef.direct   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__init__   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.id   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__eq__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__str__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__lt__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.to_simple   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.from_simple   0% 47 47 0   0% 40 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef._unpickle   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.expanded   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.isComponent   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.isComposite   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef._lookupNames   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.groupByType   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.iter_by_type   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.makeCompositeRef   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.makeComponentRef   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.overrideStorageClass   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.replace   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / _dataset_ref.py DatasetRef.is_compatible_with   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / _dataset_ref.py MinimalistSerializableDatasetRef.to_dataset_ref   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_ref.py MinimalistSerializableDatasetRef.from_dataset_ref   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRefContainerV1.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRefContainerV1.from_refs   0% 26 26 0   0% 12 0   0%
python / lsst / daf / butler / _dataset_ref.py SerializedDatasetRefContainerV1.to_refs   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / _dataset_ref.py (no function)   100% 125 0 3   100% 0 0   100%
python / lsst / daf / butler / _dataset_type.py _safeMakeMappingProxyType   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_type.py SerializedDatasetType.direct   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.nameWithComponent   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.__init__   0% 35 35 0   0% 22 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.__repr__   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType._equal_ignoring_storage_class   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.__eq__   0% 14 14 0   0% 14 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.is_compatible_with   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.storageClass   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.storageClass_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.parentStorageClass   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.isCalibration   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.splitDatasetTypeName   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.nameAndComponent   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.component   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.componentTypeName   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.makeCompositeDatasetType   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.makeComponentDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.makeAllComponentDatasetTypes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.overrideStorageClass   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.isComponent   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.isComposite   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType._lookupNames   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.to_simple   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.from_simple   0% 21 21 0   0% 16 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py DatasetType.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py _unpickle_via_factory   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _dataset_type.py get_dataset_type_name   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _dataset_type.py (no function)   100% 68 0 3   100% 0 0   100%
python / lsst / daf / butler / _deferredDatasetHandle.py DeferredDatasetHandle.get   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / _deferredDatasetHandle.py DeferredDatasetHandle.dataId   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _deferredDatasetHandle.py (no function)   100% 17 0 5   100% 0 0   100%
python / lsst / daf / butler / _exceptions.py ButlerUserError.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _exceptions.py EmptyQueryResultError.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _exceptions.py EmptyQueryResultError.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _exceptions.py create_butler_user_error   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _exceptions.py (no function)   100% 45 0 0   100% 0 0   100%
python / lsst / daf / butler / _exceptions_legacy.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / _file_dataset.py FileDataset.__init__   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / _file_dataset.py FileDataset.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _file_dataset.py FileDataset.to_simple   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _file_dataset.py FileDataset.from_simple   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _file_dataset.py (no function)   100% 29 0 0   100% 0 0   100%
python / lsst / daf / butler / _file_descriptor.py FileDescriptor.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _file_descriptor.py FileDescriptor.__repr__   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / _file_descriptor.py FileDescriptor.readStorageClass   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _file_descriptor.py (no function)   100% 10 0 3   100% 0 0   100%
python / lsst / daf / butler / _formatter.py FormatterV2.__init__   0% 17 17 0   0% 10 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.file_descriptor   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.data_id   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.dataset_ref   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.write_parameters   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.write_recipes   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.get_write_extension   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.can_accept   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.validate_write_recipes   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2._is_disassembled   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2._check_resource_size   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2._get_cache_ref   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2._ensure_cache   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read   0% 38 38 0   0% 30 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2._read_from_possibly_cached_location_no_cache_write   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_from_possibly_cached_stream   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_from_possibly_cached_stream._open_stream   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_directly_from_possibly_cached_uri   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_directly_from_possibly_cached_uri._open_uri   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_from_possibly_cached_local_file   0% 27 27 0   0% 12 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_from_uri   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_from_stream   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.read_from_local_file   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.add_provenance   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.write   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.write_direct   0% 15 15 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.write_locally_then_move   0% 13 13 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.write_local_file   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.to_bytes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.make_updated_location   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.validate_extension   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.predict_path   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV2.segregate_parameters   0% 12 12 0   0% 10 0   0%
python / lsst / daf / butler / _formatter.py Formatter.__init__   0% 23 23 0   0% 16 0   0%
python / lsst / daf / butler / _formatter.py Formatter.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.fileDescriptor   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.dataId   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.writeParameters   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py Formatter.writeRecipes   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py Formatter.can_accept   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.validateWriteRecipes   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py Formatter.validate_write_recipes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.read   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.write   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.can_read_bytes   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.fromBytes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.toBytes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter._updateLocation   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _formatter.py Formatter.make_updated_location   0% 5 5 1   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.validate_extension   0% 11 11 1   0% 6 0   0%
python / lsst / daf / butler / _formatter.py Formatter.predict_path   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.segregate_parameters   0% 12 12 0   0% 10 0   0%
python / lsst / daf / butler / _formatter.py Formatter.write_parameters   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.write_recipes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.file_descriptor   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py Formatter.data_id   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.registerFormatters   0% 35 35 0   0% 24 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.getLookupKeys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.getFormatterClassWithMatch   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.getFormatterClass   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.getFormatterWithMatch   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.getFormatter   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterFactory.registerFormatter   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2.__init__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2.get_write_extension   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2.segregate_parameters   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2.validate_write_recipes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2.read_from_local_file   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2.to_bytes   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py FormatterV1inV2.write_local_file   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _formatter.py (no function)   100% 160 0 7   100% 0 0   100%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactoryProtocol.__call__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory.__init__   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory.__enter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory.__exit__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory.bind   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory.bind.create   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory.create_butler   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory.close   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory._get_or_create_butler_factory   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory._create_butler_factory_function   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py LabeledButlerFactory._get_config_uri   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _ButlerFactory.create_butler   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _labeled_butler_factory.py _ButlerFactory.close   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _labeled_butler_factory.py _DirectButlerFactory.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _DirectButlerFactory.create_butler   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _DirectButlerFactory.close   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _RemoteButlerFactory.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _RemoteButlerFactory.create_butler   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py _RemoteButlerFactory.close   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _labeled_butler_factory.py (no function)   100% 33 0 0   100% 0 0   100%
python / lsst / daf / butler / _limited_butler.py LimitedButler.isWriteable   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _limited_butler.py LimitedButler.put   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _limited_butler.py LimitedButler.__enter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.__exit__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.close   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.get   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.getDeferred   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.get_datastore_names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.get_datastore_roots   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.getURIs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.getURI   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.get_many_uris   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.stored   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.stored_many   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.markInputUnused   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.pruneDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _limited_butler.py LimitedButler.record_metrics   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py LimitedButler.dimensions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _limited_butler.py LimitedButler._file_transfer_source   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _limited_butler.py (no function)   100% 51 0 0   100% 0 0   100%
python / lsst / daf / butler / _location.py Location.__init__   0% 19 19 0   0% 16 0   0%
python / lsst / daf / butler / _location.py Location.clone   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.__copy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.__repr__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _location.py Location.uri   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _location.py Location.path   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.pathInStore   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.netloc   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.relativeToPathRoot   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.updateExtension   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _location.py Location.getExtension   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py Location.toAbsolute   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py LocationFactory.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py LocationFactory.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py LocationFactory.netloc   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _location.py LocationFactory.fromPath   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _location.py LocationFactory.from_uri   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _location.py (no function)   100% 33 0 0   100% 0 0   100%
python / lsst / daf / butler / _named.py Named.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyMapping.names   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedKeyMapping.byName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyMapping.keys   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedKeyMapping.__getitem__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedKeyMapping.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _named.py NamedKeyMapping.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _named.py NamedKeyMapping.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyMutableMapping.__setitem__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedKeyMutableMapping.__delitem__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedKeyMutableMapping.pop   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.byName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__getitem__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__setitem__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.__delitem__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.values   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.items   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.copy   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedKeyDict.freeze   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NamedValueAbstractSet.names   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueAbstractSet.asMapping   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueAbstractSet.__getitem__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueAbstractSet.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _named.py NamedValueAbstractSet.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / _named.py NamedValueAbstractSet.get   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueAbstractSet._from_iterable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _named.py NameMappingSetView.names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.asMapping   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__getitem__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__le__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__ge__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NameMappingSetView.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueMutableSet.__delitem__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueMutableSet.remove   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueMutableSet.discard   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueMutableSet.pop   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueSet.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _named.py NamedValueSet.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.issubset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.issuperset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.__delitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.add   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.clear   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.remove   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.discard   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.pop   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.update   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.copy   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _named.py NamedValueSet.freeze   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _named.py (no function)   100% 108 0 0   100% 0 0   100%
python / lsst / daf / butler / _quantum.py _reconstructDatasetRef   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / _quantum.py SerializedQuantum.direct   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.__init__   0% 19 19 0   0% 12 0   0%
python / lsst / daf / butler / _quantum.py Quantum.to_simple   0% 62 62 0   0% 38 0   0%
python / lsst / daf / butler / _quantum.py Quantum.from_simple   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / _quantum.py Quantum.taskClass   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _quantum.py Quantum.taskName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.dataId   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.initInputs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.inputs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.outputs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.datastore_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.__eq__   0% 6 6 0   0% 6 0   0%
python / lsst / daf / butler / _quantum.py Quantum.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py Quantum._reduceFactory   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py DimensionRecordsAccumulator.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py DimensionRecordsAccumulator.addRecord   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / _quantum.py DimensionRecordsAccumulator.makeSerializedDimensionRecordMapping   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum.py (no function)   100% 54 0 0   100% 0 0   100%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.__init__   0% 15 15 0   0% 2 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.initialize   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.from_predicted   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler._initialize   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.close   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler._retrieve_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.get   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.getDeferred   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.stored   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.stored_many   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.markInputUnused   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.put   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.pruneDatasets   0% 18 18 0   0% 20 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.retrieve_artifacts_zip   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.retrieve_artifacts   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.extract_provenance_data   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumBackedButler.export_predicted_datastore_records   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumProvenanceData.collect_and_transfer   0% 14 14 0   0% 10 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumProvenanceData.parse_raw   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _quantum_backed.py QuantumProvenanceData.direct   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py QuantumProvenanceData.direct._to_uuid_set   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _quantum_backed.py (no function)   100% 70 0 2   100% 0 0   100%
python / lsst / daf / butler / _query_all_datasets.py query_all_datasets   0% 17 17 0   0% 12 0   0%
python / lsst / daf / butler / _query_all_datasets.py _filter_collections_and_dataset_types   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / _query_all_datasets.py (no function)   100% 29 0 2   100% 0 0   100%
python / lsst / daf / butler / _registry_shim.py RegistryShim.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.refresh   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.refresh_collection_summaries   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.caching_context   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.transaction   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.resetConnectionPool   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.registerCollection   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getCollectionType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.registerRun   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.removeCollection   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getCollectionChain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.setCollectionChain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getCollectionParentChains   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getCollectionDocumentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.setCollectionDocumentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getCollectionSummary   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.registerDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.removeDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.supportsIdGenerationMode   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.findDataset   0% 33 33 0   0% 20 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.insertDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim._importDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getDataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim._fetch_run_dataset_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.removeDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.associate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.disassociate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.certify   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.decertify   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.getDatasetLocations   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.expandDataId   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.insertDimensionData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.syncDimensionData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.queryDatasetTypes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.queryCollections   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.obsCoreTableManager   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py RegistryShim.storageClasses   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _registry_shim.py (no function)   100% 66 0 4   100% 0 0   100%
python / lsst / daf / butler / _rubin / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _rubin / file_datasets.py transfer_datasets_to_datastore   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / _rubin / file_datasets.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.path   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.ospath   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.make_path   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.ingest   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.__enter__   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.__exit__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.find_orphaned_temporaries_by_path   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest.find_orphaned_temporaries_by_ref   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py TemporaryForIngest._get_temporary_suffix   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _rubin / temporary_for_ingest.py (no function)   100% 31 0 7   100% 0 0   100%
python / lsst / daf / butler / _rubin / transfer_datasets_in_place.py transfer_datasets_in_place   0% 12 12 1   100% 0 0   0%
python / lsst / daf / butler / _rubin / transfer_datasets_in_place.py (no function)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / _standalone_datastore.py instantiate_standalone_datastore   0% 13 13 0   0% 6 0   0%
python / lsst / daf / butler / _standalone_datastore.py _DatasetRecordStorageManagerDatastoreConstructionMimic.getIdColumnType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _standalone_datastore.py _DatasetRecordStorageManagerDatastoreConstructionMimic.addDatasetForeignKey   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _standalone_datastore.py (no function)   100% 17 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py StorageClass.__init__   97% 31 1 0   93% 14 1   96%
python / lsst / daf / butler / _storage_class.py StorageClass.components   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py StorageClass.derivedComponents   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py StorageClass.converters   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py StorageClass._get_converters_by_type   0% 25 25 0   0% 10 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.parameters   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py StorageClass.pytype   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.delegateClass   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.allComponents   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.delegate   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.isComposite   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass._lookupNames   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.knownParameters   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.validateParameters   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.filterParameters   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.validateInstance   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.is_type   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.can_convert   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.coerce_type   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.__eq__   0% 13 13 0   0% 12 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.__repr__   0% 17 17 0   0% 12 0   0%
python / lsst / daf / butler / _storage_class.py StorageClass.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.__init__   80% 5 1 0   50% 2 1   71%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.__str__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.__contains__   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.addFromConfig   100% 8 0 0   100% 2 0   100%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.addFromConfig.processStorageClass   91% 33 3 0   92% 12 1   91%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.getStorageClass   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.findStorageClass   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / _storage_class.py StorageClassFactory._find_storage_class   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.registerStorageClass   33% 9 6 0   17% 6 1   27%
python / lsst / daf / butler / _storage_class.py StorageClassFactory._unregisterStorageClass   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py StorageClassFactory.reset   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class.py (no function)   100% 69 0 0   100% 0 0   100%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.can_accept   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate._attrNames   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.assemble   0% 29 29 0   0% 18 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.getComponent   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.disassemble   0% 25 25 0   0% 16 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.add_provenance   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.handleParameters   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.selectResponsibleComponent   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _storage_class_delegate.py StorageClassDelegate.copy   0% 3 3 1   100% 0 0   0%
python / lsst / daf / butler / _storage_class_delegate.py (no function)   100% 30 0 3   100% 0 0   100%
python / lsst / daf / butler / _timespan.py Timespan.__init__   0% 35 35 0   0% 30 0   0%
python / lsst / daf / butler / _timespan.py Timespan.makeEmpty   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _timespan.py Timespan.fromInstant   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.from_day_obs   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / _timespan.py Timespan.begin   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _timespan.py Timespan.end   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _timespan.py Timespan.isEmpty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__str__   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__repr_astropy__   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__repr__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__lt__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.__gt__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.overlaps   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.contains   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.intersection   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.difference   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / _timespan.py Timespan.to_yaml   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _timespan.py Timespan.from_yaml   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / _timespan.py Timespan._validate   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / _timespan.py Timespan._serialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _timespan.py (no function)   97% 63 2 0   100% 0 0   97%
python / lsst / daf / butler / _topology.py TopologicalFamily.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _topology.py TopologicalFamily.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / _topology.py TopologicalFamily.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _topology.py TopologicalFamily.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _topology.py TopologicalFamily.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _topology.py TopologicalFamily.choose   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _topology.py TopologicalFamily.make_column_reference   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _topology.py TopologicalRelationshipEndpoint.name   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _topology.py TopologicalRelationshipEndpoint.topology   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / _topology.py TopologicalRelationshipEndpoint.spatial   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _topology.py TopologicalRelationshipEndpoint.temporal   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / _topology.py (no function)   100% 40 0 3   100% 0 0   100%
python / lsst / daf / butler / _utilities / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / _utilities / locked_object.py LockedObject.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / locked_object.py LockedObject.access   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / locked_object.py (no function)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / _utilities / named_locks.py NamedLocks.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / named_locks.py NamedLocks.lock   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / named_locks.py NamedLocks._get_lock   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / _utilities / named_locks.py (no function)   100% 8 0 0   100% 0 0   100%
python / lsst / daf / butler / _utilities / thread_safe_cache.py ThreadSafeCache.__init__   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / _utilities / thread_safe_cache.py ThreadSafeCache.get   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / thread_safe_cache.py ThreadSafeCache.set_or_get   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / thread_safe_cache.py ThreadSafeCache.clear   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / _utilities / thread_safe_cache.py (no function)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / _uuid.py generate_uuidv7   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / _uuid.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py ToArrow.for_primitive   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py ToArrow.for_uuid   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py ToArrow.for_region   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py ToArrow.for_timespan   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py ToArrow.for_datetime   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py ToArrow.name   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py ToArrow.nullable   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py ToArrow.data_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py ToArrow.field   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py ToArrow.dictionary_encoded   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py ToArrow.append   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py ToArrow.finish   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py _ToArrowPrimitive.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowPrimitive.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowPrimitive.nullable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowPrimitive.data_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowPrimitive.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowPrimitive.finish   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDictionary.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDictionary.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDictionary.nullable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDictionary.data_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDictionary.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDictionary.finish   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowUUID.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowUUID.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowUUID.nullable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowUUID.data_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowUUID.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowUUID.finish   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowRegion.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowRegion.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowRegion.nullable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowRegion.data_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowRegion.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowRegion.finish   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowTimespan.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowTimespan.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowTimespan.nullable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowTimespan.data_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowTimespan.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowTimespan.finish   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDateTime.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDateTime.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDateTime.nullable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDateTime.data_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDateTime.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py _ToArrowDateTime.finish   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py UUIDArrowType.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py UUIDArrowType.__arrow_ext_serialize__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py UUIDArrowType.__arrow_ext_deserialize__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py UUIDArrowType.__arrow_ext_scalar_class__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py UUIDArrowScalar.as_py   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py RegionArrowType.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py RegionArrowType.__arrow_ext_serialize__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py RegionArrowType.__arrow_ext_deserialize__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py RegionArrowType.__arrow_ext_scalar_class__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py RegionArrowScalar.as_py   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py TimespanArrowType.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py TimespanArrowType.__arrow_ext_serialize__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py TimespanArrowType.__arrow_ext_deserialize__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py TimespanArrowType.__arrow_ext_scalar_class__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py TimespanArrowScalar.as_py   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / arrow_utils.py DateTimeArrowType.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py DateTimeArrowType.__arrow_ext_serialize__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / arrow_utils.py DateTimeArrowType.__arrow_ext_deserialize__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py DateTimeArrowType.__arrow_ext_scalar_class__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py DateTimeArrowScalar.as_py   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / arrow_utils.py (no function)   100% 144 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / butler.py _importPlugin   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / butler.py LoaderCLI.localCmdPkg   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / cli / butler.py LoaderCLI.getLocalCommands   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI.list_commands   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI.get_command   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI._setupLogging   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI.getPluginList   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI._funcNameToCmdName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI._cmdNameToFuncName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI._mergeCommandLists   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI._getPluginCommands   0% 25 25 0   0% 8 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI._getCommands   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py LoaderCLI._raiseIfDuplicateCommands   0% 11 11 0   0% 10 0   0%
python / lsst / daf / butler / cli / butler.py ButlerCLI._funcNameToCmdName   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / butler.py ButlerCLI._cmdNameToFuncName   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / butler.py UncachedButlerCLI._getCommands   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py cli   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py main   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / butler.py (no function)   100% 73 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / cliLog.py PrecisionLogFormatter.formatTime   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog.root_loggers   80% 5 1 0   50% 2 1   71%
python / lsst / daf / butler / cli / cliLog.py CliLog.initLog   0% 35 35 0   0% 18 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog.resetLog   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog.setLogLevels   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog._setLogLevel   0% 13 13 0   0% 10 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog._getPyLogLevel   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog._getLsstLogLevel   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog.ComponentSettings.__init__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog.ComponentSettings.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog._recordComponentSetting   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / cli / cliLog.py CliLog.replayConfigState   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / cli / cliLog.py (no function)   96% 50 2 0   100% 0 0   96%
python / lsst / daf / butler / cli / cmd / __init__.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / cmd / _remove_collections.py remove_collections   0% 35 35 0   0% 20 0   0%
python / lsst / daf / butler / cli / cmd / _remove_collections.py (no function)   100% 22 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / cmd / _remove_runs.py _quoted   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / _remove_runs.py _print_remove   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / cli / cmd / _remove_runs.py _print_requires_confirmation   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / cli / cmd / _remove_runs.py remove_runs   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / cli / cmd / _remove_runs.py (no function)   100% 31 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / cmd / commands.py associate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py butler_import   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py create   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py config_dump   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py config_validate   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / cmd / commands.py prune_datasets   0% 42 42 0   0% 30 0   0%
python / lsst / daf / butler / cli / cmd / commands.py query_collections   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / cmd / commands.py query_dataset_types   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / cli / cmd / commands.py remove_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py query_datasets   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / cli / cmd / commands.py certify_calibrations   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py query_data_ids   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / cli / cmd / commands.py query_dimension_records   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / cli / cmd / commands.py retrieve_artifacts   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / cli / cmd / commands.py transfer_datasets   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py collection_chain   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py ingest_files   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py register_dataset_type   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / cli / cmd / commands.py export_calibs   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / cmd / commands.py ingest_zip   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / cmd / commands.py (no function)   100% 205 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / opt / __init__.py (no function)   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / opt / arguments.py (no function)   100% 11 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / opt / optionGroups.py query_datasets_options.__init__   92% 13 1 0   90% 10 1   91%
python / lsst / daf / butler / cli / opt / optionGroups.py (no function)   100% 7 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / opt / options.py CollectionTypeCallback.makeCollectionTypes   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / opt / options.py _config_split   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / cli / opt / options.py (no function)   100% 42 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / progress.py ClickProgressHandler.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / progress.py ClickProgressHandler.callback   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / progress.py ClickProgressHandler.option   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / progress.py ClickProgressHandler.get_progress_bar   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / progress.py (no function)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py astropyTablesToStr   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py printAstropyTables   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py textTypeStr   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py ClickExitFailedNicely.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py ClickExitFailedNicely._clean_tb   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py ClickExitFailedNicely.exit_click   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py ClickExitFailedNicely.exit_click_command_bad_status   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py ClickExitFailedNicely.exit_click_command_click_exception   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py LogCliRunner.invoke   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py clickResultMsg   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py command_test_env   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py addArgumentHelp   83% 12 2 0   67% 6 2   78%
python / lsst / daf / butler / cli / utils.py split_commas   0% 29 29 0   0% 22 0   0%
python / lsst / daf / butler / cli / utils.py split_kv   0% 36 36 0   0% 20 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.norm   0% 6 6 0   0% 6 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetDict.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetDict.add   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetDict.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetTuple.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetTuple.add   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py split_kv.RetTuple.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py to_upper   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py unwrap   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py unwrap.splitSection   80% 5 1 0   50% 2 1   71%
python / lsst / daf / butler / cli / utils.py option_section.__init__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py option_section.__call__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py MWPath.__init__   100% 4 0 0   50% 2 1   83%
python / lsst / daf / butler / cli / utils.py MWPath.convert   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py MWOption.make_metavar   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / cli / utils.py MWArgument.make_metavar   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / cli / utils.py OptionSection.hidden   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py OptionSection.hidden   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py OptionSection.__init__   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py OptionSection.get_help_record   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py MWOptionDecorator.__init__   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py MWOptionDecorator.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py MWOptionDecorator.opts   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py MWOptionDecorator.help   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py MWOptionDecorator.__call__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py MWArgumentDecorator.__init__   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py MWArgumentDecorator.__call__   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py MWArgumentDecorator.__call__.decorator   100% 5 0 0   100% 4 0   100%
python / lsst / daf / butler / cli / utils.py MWCommand.__init__   100% 5 0 0   50% 2 1   86%
python / lsst / daf / butler / cli / utils.py MWCommand._capture_args   0% 24 24 1   0% 12 0   0%
python / lsst / daf / butler / cli / utils.py MWCommand.parse_args   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py MWCommand.epilog   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / cli / utils.py MWCommand.epilog   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py OptionGroup.__call__   100% 3 0 0   100% 2 0   100%
python / lsst / daf / butler / cli / utils.py MWCtxObj.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py MWCtxObj.getFrom   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / cli / utils.py yaml_presets   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / cli / utils.py yaml_presets._name_for_option   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / cli / utils.py _read_yaml_presets   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py sortAstropyTable   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / cli / utils.py catch_and_exit   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / cli / utils.py catch_and_exit.inner   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / cli / utils.py (no function)   99% 108 1 3   50% 2 1   98%
python / lsst / daf / butler / column_spec.py ColumnValueSerializer.serialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / column_spec.py ColumnValueSerializer.deserialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / column_spec.py _TypeAdapterColumnValueSerializer.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py _TypeAdapterColumnValueSerializer.serialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py _TypeAdapterColumnValueSerializer.deserialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec.to_sql_spec   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec.to_arrow   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec.serializer   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec.display   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec.annotated_type   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / column_spec.py _BaseColumnSpec._get_base_annotated_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / column_spec.py make_tuple_type_adapter   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py IntColumnSpec.to_arrow   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py IntColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py StringColumnSpec.to_sql_spec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py StringColumnSpec.to_arrow   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py StringColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py HashColumnSpec.to_sql_spec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py HashColumnSpec.to_arrow   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py HashColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py FloatColumnSpec.to_arrow   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py FloatColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py BoolColumnSpec.to_arrow   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py BoolColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py UUIDColumnSpec.to_arrow   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py UUIDColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py RegionColumnSpec.to_arrow   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py RegionColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py TimespanColumnSpec.to_arrow   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py TimespanColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py DateTimeColumnSpec.to_arrow   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py DateTimeColumnSpec._get_base_annotated_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / column_spec.py (no function)   100% 107 0 2   100% 0 0   100%
python / lsst / daf / butler / datastore / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py IngestPrepData.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatastoreTransaction.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatastoreTransaction.registerUndo   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatastoreTransaction.undoWith   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatastoreTransaction.rollback   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatastoreTransaction.commit   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatasetRefURIs.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatasetRefURIs.__getitem__   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatasetRefURIs.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatasetRefURIs.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py DatasetRefURIs.iter_all   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.setConfigRoot   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.fromConfig   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore._create_from_config   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.roots   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.transaction   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore._set_trust_mode   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.knows   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.knows_these   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.mexists   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.exists   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.get   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.prepare_get_for_external_client   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.put   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.put_new   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore._overrideTransferMode   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore._prepIngest   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore._finishIngest   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.ingest   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.transfer_from   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.getManyURIs   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.getURIs   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.getURI   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.retrieveArtifacts   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.ingest_zip   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.remove   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.forget   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.trash   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.emptyTrash   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.transfer   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.export   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.validateConfiguration   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.validateKey   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.getLookupKeys   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.needs_expanded_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.import_records   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.export_records   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.export_predicted_records   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.set_retrieve_dataset_type_method   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py Datastore.get_opaque_table_definitions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.get_file_info_for_transfer   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py Datastore.locate_missing_files_for_transfer   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore._create_from_config   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.setConfigRoot   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.knows   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.exists   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.put   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.put_new   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.ingest   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.transfer_from   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.getURIs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.getURI   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.ingest_zip   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.retrieveArtifacts   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.remove   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.forget   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.trash   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.emptyTrash   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.transfer   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.export   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.validateConfiguration   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.validateKey   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.getLookupKeys   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.import_records   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.export_records   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / _datastore.py NullDatastore.get_opaque_table_definitions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / _datastore.py (no function)   100% 177 0 13   100% 0 0   100%
python / lsst / daf / butler / datastore / _transfer.py FileTransferSource.get_file_info_for_transfer   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _transfer.py FileTransferSource.locate_missing_files_for_transfer   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / _transfer.py (no function)   100% 17 0 0   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py remove_cache_directory   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py _construct_cache_path   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py _parse_cache_name   0% 10 10 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheEntry.from_file   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.cache_size   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.__setitem__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.__delitem__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry._decrement   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.values   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.items   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.pop   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / datastore / cache_manager.py CacheRegistry.get_dataset_keys   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.cache_size   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.file_count   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.__init__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.should_be_cached   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.known_to_cache   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.move_to_cache   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.find_in_cache   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.remove_from_cache   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py AbstractDatastoreCacheManager.__str__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.__init__   0% 37 37 0   0% 20 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.cache_directory   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager._temp_exempt_directory   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.cache_size   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.file_count   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.create_disabled   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.set_fallback_cache_directory_if_unset   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.should_be_cached   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager._construct_cache_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.move_to_cache   0% 13 13 0   0% 6 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.find_in_cache   0% 33 33 0   0% 10 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.remove_from_cache   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager._register_cache_entry   0% 13 13 0   0% 6 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.scan_cache   0% 19 19 0   0% 12 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.known_to_cache   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager._remove_from_cache   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager._expire_cache   0% 42 42 0   0% 28 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager._sort_cache   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager._sort_cache._sort_by_time   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreCacheManager.__str__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager.should_be_cached   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager.move_to_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager.find_in_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager.remove_from_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager.known_to_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py DatastoreDisabledCacheManager.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / cache_manager.py (no function)   100% 123 0 5   100% 0 0   100%
python / lsst / daf / butler / datastore / composites.py CompositesConfig.validate   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / datastore / composites.py CompositesMap.__init__   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / datastore / composites.py CompositesMap.shouldBeDisassembled   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / datastore / composites.py CompositesMap.__str__   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / datastore / composites.py (no function)   100% 18 0 8   100% 0 0   100%
python / lsst / daf / butler / datastore / constraints.py Constraints.__init__   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / datastore / constraints.py Constraints.__str__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastore / constraints.py Constraints.isAcceptable   0% 15 15 0   0% 8 0   0%
python / lsst / daf / butler / datastore / constraints.py Constraints.getLookupKeys   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / constraints.py (no function)   100% 19 0 5   100% 0 0   100%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.__init__   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.templates   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.validateTemplates   0% 27 27 0   0% 14 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.getLookupKeys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.getTemplateWithMatch   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplates.getTemplate   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.__init__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.grouped_fields   0% 33 33 0   0% 22 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.fields   0% 14 14 0   0% 12 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.format   0% 87 87 0   0% 58 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate.validateTemplate   0% 58 58 0   0% 34 0   0%
python / lsst / daf / butler / datastore / file_templates.py FileTemplate._determine_skypix_alias   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / datastore / file_templates.py (no function)   100% 52 0 3   100% 0 0   100%
python / lsst / daf / butler / datastore / generic_base.py GenericBaseDatastore.remove   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / generic_base.py GenericBaseDatastore.transfer   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastore / generic_base.py post_process_get   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / datastore / generic_base.py (no function)   100% 13 0 3   100% 0 0   100%
python / lsst / daf / butler / datastore / record_data.py SerializedDatastoreRecordData.direct   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastore / record_data.py DatastoreRecordData.merge_mappings   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / datastore / record_data.py DatastoreRecordData.update   0% 5 5 0   0% 6 0   0%
python / lsst / daf / butler / datastore / record_data.py DatastoreRecordData.subset   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / datastore / record_data.py DatastoreRecordData.to_simple   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / datastore / record_data.py DatastoreRecordData.from_simple   0% 20 20 0   0% 12 0   0%
python / lsst / daf / butler / datastore / record_data.py (no function)   100% 30 0 2   100% 0 0   100%
python / lsst / daf / butler / datastore / stored_file_info.py StoredDatastoreItemInfo.file_location   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / stored_file_info.py StoredDatastoreItemInfo.from_record   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / stored_file_info.py StoredDatastoreItemInfo.to_record   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / stored_file_info.py StoredDatastoreItemInfo.update   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastore / stored_file_info.py StoredDatastoreItemInfo.to_records   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredDatastoreItemInfo.from_records   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.__init__   0% 15 15 0   0% 8 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.storageClass   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.rebase   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.to_record   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.to_simple   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.file_location   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.from_record   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.from_simple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.update   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py StoredFileInfo.artifact_path   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py make_datastore_path_relative   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / datastore / stored_file_info.py (no function)   100% 68 0 2   100% 0 0   100%
python / lsst / daf / butler / datastores / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / chainedDatastore.py _IngestPrepData.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.setConfigRoot   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.__init__   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore._create_from_config   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.clone   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.roots   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.__str__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore._set_trust_mode   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.knows   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.knows_these   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.mexists   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.exists   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.get   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.prepare_get_for_external_client   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore._get_matching_datastore   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.put   0% 27 27 0   0% 16 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.put_new   0% 30 30 0   0% 16 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore._overrideTransferMode   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore._prepIngest   0% 19 19 1   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore._prepIngest.isDatasetAcceptable   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore._finishIngest   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.getManyURIs   0% 26 26 0   0% 16 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.getURIs   0% 27 27 0   0% 20 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.getURI   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.retrieveArtifacts   0% 25 25 0   0% 14 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.ingest_zip   0% 24 24 0   0% 12 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.remove   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.forget   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.trash   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.emptyTrash   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.transfer   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.validateConfiguration   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.validateKey   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.getLookupKeys   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.needs_expanded_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.import_records   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.export_records   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.export_predicted_records   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.export   0% 30 30 0   0% 20 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.get_file_info_for_transfer   0% 15 15 0   0% 4 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.locate_missing_files_for_transfer   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.transfer_from   0% 26 26 0   0% 10 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.get_opaque_table_definitions   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py ChainedDatastore.set_retrieve_dataset_type_method   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / datastores / chainedDatastore.py (no function)   0% 80 80 4   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py _IngestPrepData.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.setConfigRoot   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.makeTableSpec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.__init__   0% 22 22 0   0% 4 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._create_from_config   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.bridge   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.roots   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._set_trust_mode   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._artifact_exists   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.addStoredItemInfo   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.getStoredItemsInfo   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._register_datasets   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._get_stored_records_associated_with_refs   0% 14 14 0   0% 12 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._refs_associated_with_artifacts   0% 22 22 0   0% 14 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._registered_refs_per_artifact   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.removeStoredItemInfo   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._get_dataset_locations_info   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._can_remove_dataset_artifact   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._get_expected_dataset_locations_info   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._prepare_for_direct_get   0% 14 14 0   0% 10 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._determine_put_formatter_location   0% 13 13 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._overrideTransferMode   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._pathInStore   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._standardizeIngestPath   0% 12 12 1   0% 8 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._extractIngestInfo   0% 35 35 0   0% 22 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._prepIngest   0% 28 28 0   0% 16 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._finishIngest   0% 17 17 0   0% 12 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._calculate_ingested_datastore_name   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._write_in_memory_to_artifact   0% 25 25 0   0% 10 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._write_in_memory_to_artifact._removeFileExists   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.knows   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.knows_these   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._process_mexists_records   0% 37 37 0   0% 24 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.mexists   0% 24 24 0   0% 8 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._mexists   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._mexists_check_expected   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.exists   0% 20 20 0   0% 18 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.getURIs   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.getURI   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._predict_URIs   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.getManyURIs   0% 26 26 0   0% 16 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._locations_to_URI   0% 20 20 0   0% 16 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._find_missing_records   0% 28 28 0   0% 16 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.retrieveArtifacts   0% 42 42 0   0% 16 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.ingest_zip   0% 30 30 0   0% 20 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.get   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.prepare_get_for_external_client   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.put   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.put_new   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.trash   0% 58 58 0   0% 30 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.emptyTrash   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._empty_trash_subset   0% 55 55 0   0% 36 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.transfer_from   0% 59 59 0   0% 32 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.get_file_info_for_transfer   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.locate_missing_files_for_transfer   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._convert_stored_file_info_to_file_transfer_record   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.forget   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.validateConfiguration   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.getLookupKeys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.validateKey   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.export   0% 33 33 1   0% 22 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.computeChecksum   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.needs_expanded_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.import_records   0% 13 13 0   0% 10 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.export_records   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.export_predicted_records   0% 14 14 0   0% 8 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.set_retrieve_dataset_type_method   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore._cast_storage_class   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py FileDatastore.get_opaque_table_definitions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / fileDatastore.py (no function)   100% 131 0 3   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / get.py generate_datastore_get_information   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / datastores / file_datastore / get.py _read_artifact_into_memory   0% 18 18 0   0% 4 0   0%
python / lsst / daf / butler / datastores / file_datastore / get.py get_dataset_as_python_object_from_get_info   0% 52 52 0   0% 26 0   0%
python / lsst / daf / butler / datastores / file_datastore / get.py (no function)   100% 31 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ArtifactIndexInfo.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ArtifactIndexInfo.from_single   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ArtifactIndexInfo.subset   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.generate_uuid5   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.calculate_zip_file_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.calculate_zip_file_path_in_store   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.write_index   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.calc_relative_paths   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.from_artifact_map   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.from_zip_file   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py ZipIndex.from_open_zip   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py determine_destination_for_retrieved_artifact   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py RetrievalCallable.__call__   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py retrieve_and_zip   0% 22 22 0   0% 10 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py unpack_zips   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / datastores / file_datastore / retrieve_artifacts.py (no function)   100% 48 0 0   50% 2 1   98%
python / lsst / daf / butler / datastores / file_datastore / transfer.py retrieve_file_transfer_records   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / datastores / file_datastore / transfer.py (no function)   100% 8 0 0   100% 0 0   100%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.__init__   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore._create_from_config   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.clone   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.setConfigRoot   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore._get_stored_item_info   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore._remove_stored_item_info   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.removeStoredItemInfo   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore._get_dataset_info   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.knows   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.exists   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.get   0% 20 20 0   0% 8 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.put   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.put_new   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.getURIs   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.getURI   0% 3 3 1   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.ingest_zip   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.retrieveArtifacts   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.forget   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.trash   0% 15 15 0   0% 4 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.trash._rollbackMoveToTrash   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.emptyTrash   0% 27 27 0   0% 12 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.validateConfiguration   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore._overrideTransferMode   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.validateKey   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.getLookupKeys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.needs_expanded_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.import_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.export_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.export_predicted_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py InMemoryDatastore.get_opaque_table_definitions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / datastores / inMemoryDatastore.py (no function)   0% 66 66 5   100% 0 0   0%
python / lsst / daf / butler / ddl.py SchemaValidationError.translate   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / ddl.py SchemaValidationError.translate.decorate   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / ddl.py SchemaValidationError.translate.decorate.decorated   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py Base64Bytes.__init__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py Base64Bytes.process_bind_param   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / ddl.py Base64Bytes.process_result_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py Base64Bytes.python_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py Base64Region.process_bind_param   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py Base64Region.process_result_value   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py Base64Region.python_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py Base64Region.union_aggregate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py AstropyTimeNsecTai.process_bind_param   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / ddl.py AstropyTimeNsecTai.process_result_value   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py GUID.load_dialect_impl   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py GUID.process_bind_param   0% 13 13 0   0% 12 0   0%
python / lsst / daf / butler / ddl.py GUID.process_result_value   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py FieldSpec.__post_init__   100% 2 0 0   100% 2 0   100%
python / lsst / daf / butler / ddl.py FieldSpec.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py FieldSpec.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py FieldSpec.fromConfig   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / ddl.py FieldSpec.for_region   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py FieldSpec.isStringType   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py FieldSpec.getSizedColumnType   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / ddl.py FieldSpec.getPythonType   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / ddl.py ForeignKeySpec.fromConfig   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py IndexSpec.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py IndexSpec.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py TableSpec.__init__   100% 7 0 0   100% 0 0   100%
python / lsst / daf / butler / ddl.py TableSpec.fromConfig   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / ddl.py (no function)   100% 126 0 2   100% 0 0   100%
python / lsst / daf / butler / delegates / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / delegates / arrowtable.py ArrowTableDelegate.can_accept   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / delegates / arrowtable.py ArrowTableDelegate.getComponent   0% 41 41 0   0% 36 0   0%
python / lsst / daf / butler / delegates / arrowtable.py ArrowTableDelegate.handleParameters   0% 43 43 1   0% 34 0   0%
python / lsst / daf / butler / delegates / arrowtable.py ArrowTableDelegate._getAllDataframeColumns   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / delegates / arrowtable.py ArrowTableDelegate.add_provenance   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / delegates / arrowtable.py _add_arrow_provenance   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / delegates / arrowtable.py _checkArrowCompatibleType   0% 21 21 0   0% 16 0   0%
python / lsst / daf / butler / delegates / arrowtable.py (no function)   100% 17 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / __init__.py (no function)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _config.py DimensionConfig.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py DimensionConfig._updateWithConfigsFromPath   0% 14 14 0   0% 8 0   0%
python / lsst / daf / butler / dimensions / _config.py DimensionConfig._updateWithOtherConfigFile   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py DimensionConfig.to_simple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py DimensionConfig.from_simple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py DimensionConfig.makeBuilder   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / dimensions / _config.py _SkyPixSystemConfig.has_dependencies_in   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py _SkyPixSystemConfig.visit   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _config.py _SkyPixSectionConfig._move_extra_to_systems   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _config.py _LegacyImpliedUnionDimensionStorage.implied_union_target   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py _LegacyCachingDimensionStorage.has_own_table   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py _LegacyCachingDimensionStorage.implied_union_target   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig.has_dependencies_in   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig.visit   0% 23 23 0   0% 12 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig._primary_key_types   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig._not_nullable_keys   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig._invalid_dimension_fields   0% 6 6 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig._storage   0% 16 16 0   0% 14 0   0%
python / lsst / daf / butler / dimensions / _config.py _ElementConfig._relationship_dependencies   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _config.py (no function)   100% 118 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py SerializedDataCoordinate.direct   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _intersectRegions   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.standardize   0% 39 39 0   0% 34 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.mapping   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.required   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.required_values   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.full_values   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.makeEmpty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.make_empty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.from_required_values   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.from_full_values   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.__getitem__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.__contains__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.get   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.subset   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.union   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.expanded   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.universe   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.dimensions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.hasFull   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.hasRecords   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.records   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate._record   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.region   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.timespan   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.to_simple   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.from_simple   0% 16 16 0   0% 12 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py DataCoordinate.dataId   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRecordsView.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRecordsView.__repr__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRecordsView.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRecordsView.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRecordsView.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRecordsView.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate.required   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate.__getitem__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate.hasRecords   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate._record   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _coordinate.py _BasicTupleDataCoordinate.__getattr__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRequiredMappingView.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRequiredMappingView.__getitem__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRequiredMappingView.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRequiredMappingView.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateRequiredMappingView.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateFullMappingView.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateFullMappingView.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateFullMappingView.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateFullMappingView.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _DataCoordinateFullMappingView.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate.mapping   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate.required_values   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate.subset   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate.union   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate.expanded   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate.hasFull   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _RequiredTupleDataCoordinate.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.mapping   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.required_values   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.full_values   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.subset   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.union   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.expanded   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.hasFull   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _FullTupleDataCoordinate.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.subset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.expanded   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.union   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.hasRecords   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate._record   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.__getattr__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py _ExpandedTupleDataCoordinate.__dir__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _coordinate.py (no function)   100% 159 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.fromScalar   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.dimensions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.universe   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.hasFull   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.hasRecords   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.toSet   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.toSequence   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateIterable.subset   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.__contains__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.hasFull   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.hasRecords   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _ScalarDataCoordinateIterable.subset   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.__init__   0% 22 22 0   0% 18 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.hasFull   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.hasRecords   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.toSet   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.toSequence   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase.__contains__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py _DataCoordinateCollectionBase._subsetKwargs   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__le__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__ge__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__gt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.issubset   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.issuperset   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.isdisjoint   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__and__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__or__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__xor__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.__sub__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.intersection   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.union   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.symmetric_difference   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.difference   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.toSet   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSet.subset   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.__getitem__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.toSequence   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py DataCoordinateSequence.subset   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _data_coordinate_iterable.py (no function)   100% 87 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamily.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamily.choose   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamily.governor   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamily.make_column_reference   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamilyConstructionVisitor.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamilyConstructionVisitor.has_dependencies_in   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseTopologicalFamilyConstructionVisitor.visit   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.implied   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.metadata_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.is_cached   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.documentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.topology   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.spatial   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionElement.temporal   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimension.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimension.required   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimension.unique_keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimension.implied_union_target   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionCombination.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionCombination.required   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionCombination.alwaysJoin   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionCombination.defines_relationships   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py DatabaseDimensionCombination.populated_by   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _database.py (no function)   100% 59 0 4   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__eq__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__lt__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__le__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__gt__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__ge__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement._unpickle   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.to_simple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.from_simple   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.hasTable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.governor   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.required   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.implied   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.minimal_group   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.RecordClass   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.alternate_keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.metadata_columns   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.metadata   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.viewOf   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.alwaysJoin   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.has_own_table   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.implied_union_target   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.defines_relationships   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.is_cached   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.populated_by   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.schema   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.documentation   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement._validate   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement._serialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py DimensionElement.__get_pydantic_core_schema__   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py Dimension.unique_keys   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _elements.py Dimension.primary_key   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py Dimension.alternate_keys   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py Dimension.uniqueKeys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py Dimension.primaryKey   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py Dimension.alternateKeys   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py Dimension.populated_by   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _elements.py Dimension.to_arrow   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _elements.py (no function)   100% 110 0 7   100% 0 0   100%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.__init__   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.required   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.implied   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.topology   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.metadata_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.unique_keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.is_cached   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py GovernorDimension.documentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _governor.py (no function)   100% 26 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet._from_iterable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.as_tuple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py SortedSequenceSet.names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__new__   0% 37 37 0   0% 16 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__getnewargs__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__contains__   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.as_group   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.isdisjoint   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.issubset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.issuperset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__le__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__ge__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__lt__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__gt__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.union   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.intersection   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.difference   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__or__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__and__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__sub__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.data_coordinate_keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.lookup_order   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.lookup_order.add_to_order   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup._choose_dimension   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.region_dimension   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.timespan_dimension   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.spatial   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.temporal   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup._validate   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.from_simple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.to_simple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _group.py DimensionGroup.__get_pydantic_core_schema__   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _group.py (no function)   100% 93 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker.universe   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker.maxBits   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker._pack   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker.pack   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _packer.py DimensionPacker.unpack   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _packer.py (no function)   100% 22 0 2   100% 0 0   100%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordFactory.__call__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / _record_set.py fail_record_lookup   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.__init__   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.element   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.__contains__   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.__repr__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.issubset   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.issuperset   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.isdisjoint   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.intersection   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.difference   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.union   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.find   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.find_with_required_values   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.add   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.update   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.update_from_data_coordinates   0% 3 3 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.discard   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.remove   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.pop   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.serialize_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSet.deserialize_records   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSetDeserializer.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSetDeserializer.from_raw   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSetDeserializer.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSetDeserializer.__iter__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionRecordSetDeserializer.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataExtractor.from_element_names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataExtractor.from_dimension_group   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataExtractor.update   0% 4 4 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _record_set.py SerializableDimensionData.from_record_sets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py SerializableDimensionData.make_deserializers   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataAttacher.__init__   0% 11 11 0   0% 10 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataAttacher.attach   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / dimensions / _record_set.py DimensionDataAttacher.serialized   0% 24 24 0   0% 20 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper.element   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper.build   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper.lookup   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper._get_required_values   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper._find_implied_value   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper.fallback   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DimensionRecordLookupHelper.fetch_missing   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _DeserializingDimensionRecordLookupHelper.fallback   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py _SkyPixDimensionRecordLookupHelper.fallback   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_set.py (no function)   100% 89 0 7   100% 0 0   100%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.__init__   0% 19 19 0   0% 12 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.make_arrow_schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.element   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.__iter__   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.__getitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.__getitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.__getitem__   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.extend   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.column   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable.to_arrow   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable._make_batch   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _record_table.py DimensionRecordTable._get_record_at   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _record_table.py (no function)   100% 24 0 4   100% 0 0   100%
python / lsst / daf / butler / dimensions / _records.py _reconstructDimensionRecord   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py _subclassDimensionRecord   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _records.py _createSimpleRecordSubclass   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / dimensions / _records.py SerializedDimensionRecord.direct   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.__init__   0% 19 19 0   0% 14 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.__str__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.__reduce__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord._repr_html_   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.to_simple   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.from_simple   0% 22 22 0   0% 14 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.toDict   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.get   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.serialize_key_value   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.deserialize_key   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.deserialize_value   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _records.py DimensionRecord.__getattr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _records.py (no function)   100% 64 0 5   100% 0 0   100%
python / lsst / daf / butler / dimensions / _schema.py DimensionRecordSchema.__init__   0% 29 29 0   0% 10 0   0%
python / lsst / daf / butler / dimensions / _schema.py DimensionRecordSchema.names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _schema.py DimensionRecordSchema.__str__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _schema.py DimensionRecordSchema.to_arrow   0% 11 11 0   0% 10 0   0%
python / lsst / daf / butler / dimensions / _schema.py _makeForeignKeySpec   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _schema.py addDimensionForeignKey   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _schema.py DimensionElementFields.__init__   0% 37 37 0   0% 14 0   0%
python / lsst / daf / butler / dimensions / _schema.py DimensionElementFields.makeTableSpec   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / _schema.py DimensionElementFields.__str__   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _schema.py (no function)   100% 49 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixSystem.__init__   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixSystem.choose   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixSystem.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixSystem.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixSystem.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixSystem.make_column_reference   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.required   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.implied   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.topology   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.metadata_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.documentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.hasTable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.has_own_table   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py SkyPixDimension.unique_keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _skypix.py (no function)   100% 42 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.__new__   0% 43 43 0   0% 22 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.version   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.namespace   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.isCompatibleWith   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.getStaticElements   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.getStaticDimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.getGovernorDimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.getDatabaseElements   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.elements   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.governor_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.skypix_dimensions   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.database_elements   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.skypix   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.getElementIndex   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.getDimensionIndex   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.conform   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.sorted   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.sorted   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.sorted   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.get_elements_populated_by   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.empty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse._unpickle   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py DimensionUniverse.__deepcopy__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / _universe.py (no function)   100% 83 0 2   50% 2 1   99%
python / lsst / daf / butler / dimensions / construction.py DimensionConstructionVisitor.has_dependencies_in   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / construction.py DimensionConstructionVisitor.visit   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / dimensions / construction.py DimensionConstructionBuilder.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / construction.py DimensionConstructionBuilder.add   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / construction.py DimensionConstructionBuilder.finish   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / dimensions / construction.py (no function)   100% 27 0 3   100% 0 0   100%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.reset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.load_from   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.preload_cache   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.__contains__   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.__getitem__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / record_cache.py DimensionRecordCache.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / dimensions / record_cache.py (no function)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_butler / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.__new__   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.create_from_config   0% 19 19 0   0% 6 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.clone   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.close   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._unpickle   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.__reduce__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._caching_context   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.transaction   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._standardizeArgs   0% 23 23 0   0% 14 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._rewrite_data_id   0% 133 133 0   0% 92 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._rewrite_data_id._get_attr   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._findDatasetRef   0% 33 33 0   0% 26 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.put   0% 23 23 0   0% 8 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.getDeferred   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.get   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.getURIs   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.get_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.get_dataset   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.get_many_datasets   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.find_dataset   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.retrieve_artifacts_zip   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.retrieveArtifacts   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.exists   0% 27 27 0   0% 20 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._exists_many   0% 17 17 0   0% 16 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.removeRuns   0% 31 31 1   0% 20 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.pruneDatasets   0% 30 30 0   0% 24 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._prune_datasets   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.ingest_zip   0% 41 41 0   0% 18 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._prepare_ingest_file_datasets   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._ingest_file_datasets   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.ingest   0% 24 24 0   0% 10 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._partition_datasets_by_known   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.export   0% 28 28 0   0% 16 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.import_   0% 29 29 0   0% 22 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.import_.doImport   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.transfer_dimension_records_from   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._extract_all_dimension_records_from_data_ids   0% 31 31 0   0% 28 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._extract_dimension_records_from_data_ids   0% 12 12 0   0% 10 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._prepare_for_import_refs   0% 52 52 0   0% 32 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._import_dimension_records   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._import_grouped_refs   0% 25 25 0   0% 12 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.transfer_from   0% 25 25 0   0% 8 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.validateConfiguration   0% 62 62 0   0% 42 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.collection_chains   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.collections   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.run   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.registry   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler.query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._query_driver   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._query_all_datasets_by_page   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._preload_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py DirectButler._expand_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py _to_uuid   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py _ButlerClosed.__getattr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py _retrieve_dataset_type   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler.py (no function)   100% 141 0 8   100% 0 0   100%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.extend_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.prepend_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.redefine_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.remove_from_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.query   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.query_info   0% 26 26 0   0% 16 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.get_info   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.register   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py DirectButlerCollections.x_remove   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_butler / _direct_butler_collections.py (no function)   100% 25 0 3   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / __init__.py (no function)   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.__init__   0% 13 13 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.__enter__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.__exit__   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.universe   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.execute   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.execute   0% 17 17 0   0% 10 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._read_results   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._create_result_page_converter   0% 11 11 1   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.materialize   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.upload_data_coordinates   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.count   0% 27 27 0   0% 12 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.any   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.explain_no_results   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.get_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.get_default_collections   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.build_query   0% 18 18 0   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._analyze_query_tree   0% 27 27 0   0% 10 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._resolve_union_datasets   0% 14 14 0   0% 10 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.apply_initial_query_joins   0% 13 13 0   0% 12 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.apply_missing_dimension_joins   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.project_spatial_join_filtering   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.apply_query_projection   0% 59 59 1   0% 50 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.apply_query_find_first   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._analyze_collections   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._filter_collections   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._filter_collections.recurse   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._resolve_dataset_search   0% 17 17 0   0% 14 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver._join_materialization   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.join_dataset_search   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.join_dataset_search   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _driver.py DirectQueryDriver.join_dataset_search   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py _Cursor.__init__   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py _Cursor.close   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py _Cursor.next   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _driver.py (no function)   100% 83 0 2   50% 10 5   95%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.limit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.limit   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.gather_columns_required   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.iter_region_dimension_elements   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.iter_missing   0% 6 6 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py Postprocessing.apply   0% 18 18 0   0% 14 0   0%
python / lsst / daf / butler / direct_query_driver / _postprocessing.py (no function)   100% 29 0 2   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryJoinsAnalysis.__post_init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryJoinsAnalysis.iter_mandatory   0% 14 14 0   0% 14 0   0%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryFindFirstAnalysis.dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py QueryFindFirstAnalysis.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_analysis.py (no function)   100% 63 0 3   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.analyze_projection   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.analyze_find_first   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.apply_joins   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.apply_projection   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.apply_find_first   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.finish_select   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.finish_select   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.finish_select   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder.finish_nested   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py QueryBuilder._needs_collection_key_field   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.analyze_projection   0% 11 11 0   0% 10 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.analyze_find_first   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.apply_joins   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.apply_projection   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.apply_find_first   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.finish_select   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py SingleSelectQueryBuilder.finish_nested   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.db   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.special   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.analyze_projection   0% 19 19 0   0% 24 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.analyze_find_first   0% 7 7 1   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.apply_joins   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.apply_projection   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.apply_find_first   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.finish_select   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.finish_select   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.finish_select   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py UnionQueryBuilder.finish_nested   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _query_builder.py (no function)   100% 89 0 3   50% 8 4   96%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py ResultPageConverter.convert   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DimensionRecordResultPageConverter.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DimensionRecordResultPageConverter.convert   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _create_dimension_record_row_converter   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DimensionRecordRowConverter.convert   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _NormalDimensionRecordRowConverter.__init__   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _NormalDimensionRecordRowConverter.convert   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _SkypixDimensionRecordRowConverter.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _SkypixDimensionRecordRowConverter.convert   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _CachedDimensionRecordRowConverter.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _CachedDimensionRecordRowConverter.convert   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DataCoordinateResultPageConverter.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DataCoordinateResultPageConverter.convert   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DatasetRefResultPageConverter.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py DatasetRefResultPageConverter.convert   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DataCoordinateRowConverter.__init__   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DataCoordinateRowConverter.convert   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DimensionGroupRecordRowConverter.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DimensionGroupRecordRowConverter.convert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py GeneralResultPageConverter.__init__   0% 21 21 0   0% 14 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py GeneralResultPageConverter.convert   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _GeneralColumnConverter.convert   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DefaultGeneralColumnConverter.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _DefaultGeneralColumnConverter.convert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _TimestampGeneralColumnConverter.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _TimestampGeneralColumnConverter.convert   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _TimespanGeneralColumnConverter.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py _TimespanGeneralColumnConverter.convert   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _result_page_converter.py (no function)   100% 67 0 2   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder.copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder.handle_empty_columns   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder.select   0% 29 29 0   0% 22 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder.join   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder.into_joins_builder   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder.nested   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlSelectBuilder.union_subquery   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlColumns.extract_dimensions   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlColumns.extract_columns   0% 19 19 0   0% 16 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlJoinsBuilder.copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlJoinsBuilder.extract_dimensions   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlJoinsBuilder.extract_columns   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlJoinsBuilder.join   0% 23 23 0   0% 16 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlJoinsBuilder.where   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py SqlJoinsBuilder.to_select_builder   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py make_table_spec   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py _make_table_indices   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_builders.py (no function)   100% 63 0 3   100% 0 0   100%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_literal   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_dimension_key_reference   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_dimension_field_reference   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_dataset_field_reference   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_unary_expression   0% 7 7 1   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_binary_expression   0% 13 13 1   0% 8 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_reversed   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_boolean_wrapper   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_comparison   0% 32 32 3   0% 24 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_is_null   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_in_container   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_in_range   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.visit_in_query_tree   0% 11 11 1   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.apply_logical_and   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.apply_logical_or   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.apply_logical_not   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.expect_scalar   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor._convert_datetime_to_ingest_date   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor._convert_ingest_date_to_datetime   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py SqlColumnVisitor.expect_timespan   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / direct_query_driver / _sql_column_visitor.py (no function)   100% 33 0 3   100% 0 0   100%
python / lsst / daf / butler / formatters / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / formatters / astropyTable.py AstropyTableFormatter.get_write_extension   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / formatters / astropyTable.py AstropyTableFormatter.read_from_local_file   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / formatters / astropyTable.py AstropyTableFormatter.write_local_file   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / astropyTable.py (no function)   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter._readFile   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter._writeFile   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter._assembleDataset   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter._coerceBuiltinType   0% 12 12 0   0% 12 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter._coerceType   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter.read   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter.fromBytes   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter.write   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / formatters / file.py FileFormatter.toBytes   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / formatters / file.py (no function)   0% 18 18 2   100% 0 0   0%
python / lsst / daf / butler / formatters / json.py JsonFormatter.read_from_uri   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / formatters / json.py JsonFormatter.to_bytes   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / formatters / json.py (no function)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / formatters / logs.py ButlerLogRecordsFormatter._get_read_pytype   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / formatters / logs.py ButlerLogRecordsFormatter.read_from_local_file   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / logs.py ButlerLogRecordsFormatter.to_bytes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / logs.py (no function)   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / formatters / matplotlib.py MatplotlibFormatter.write_local_file   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / formatters / matplotlib.py (no function)   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / formatters / packages.py PackagesFormatter.get_write_extension   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / formatters / packages.py PackagesFormatter.read_from_uri   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / formatters / packages.py PackagesFormatter.to_bytes   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / packages.py (no function)   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py generic_open   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / formatters / parquet.py ParquetFormatter.can_accept   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ParquetFormatter.read_from_uri   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ParquetFormatter.read_from_local_file   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ParquetFormatter._read_parquet   0% 40 40 0   0% 26 0   0%
python / lsst / daf / butler / formatters / parquet.py ParquetFormatter.add_provenance   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ParquetFormatter.write_local_file   0% 17 17 0   0% 12 0   0%
python / lsst / daf / butler / formatters / parquet.py arrow_to_pandas   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py arrow_to_astropy   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py arrow_to_numpy   0% 14 14 0   0% 8 0   0%
python / lsst / daf / butler / formatters / parquet.py arrow_to_numpy_dict   0% 30 30 0   0% 18 0   0%
python / lsst / daf / butler / formatters / parquet.py _numpy_dict_to_numpy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py _numpy_to_numpy_dict   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py numpy_to_arrow   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py numpy_dict_to_arrow   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py astropy_to_arrow   0% 24 24 0   0% 10 0   0%
python / lsst / daf / butler / formatters / parquet.py astropy_to_pandas   0% 14 14 0   0% 8 0   0%
python / lsst / daf / butler / formatters / parquet.py add_pandas_index_to_astropy   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / formatters / parquet.py _astropy_to_numpy_dict   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py pandas_to_arrow   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / formatters / parquet.py pandas_to_astropy   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / formatters / parquet.py _pandas_to_numpy_dict   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py numpy_to_astropy   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py arrow_schema_to_pandas_index   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py arrow_schema_to_column_list   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.from_arrow   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.to_arrow_schema   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.to_arrow_numpy_schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.to_arrow_astropy_schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py DataFrameSchema.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.from_arrow   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.to_arrow_schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.to_dataframe_schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.to_arrow_numpy_schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowAstropySchema.__eq__   0% 12 12 0   0% 12 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.from_arrow   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.to_arrow_astropy_schema   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.to_dataframe_schema   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.to_arrow_schema   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.schema   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / parquet.py ArrowNumpySchema.__eq__   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py _split_multi_index_column_names   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py _standardize_multi_index_columns   0% 22 22 0   0% 20 0   0%
python / lsst / daf / butler / formatters / parquet.py _apply_astropy_metadata   0% 21 21 0   0% 18 0   0%
python / lsst / daf / butler / formatters / parquet.py _arrow_string_to_numpy_dtype   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py _append_numpy_string_metadata   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py _append_numpy_multidim_metadata   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / formatters / parquet.py _multidim_shape_from_metadata   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / formatters / parquet.py _schema_to_dtype_list   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / formatters / parquet.py _numpy_dtype_to_arrow_types   0% 22 22 0   0% 10 0   0%
python / lsst / daf / butler / formatters / parquet.py _numpy_dict_to_dtype   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / formatters / parquet.py _numpy_style_arrays_to_arrow_arrays   0% 20 20 0   0% 10 0   0%
python / lsst / daf / butler / formatters / parquet.py compute_row_group_size   0% 26 26 0   0% 18 0   0%
python / lsst / daf / butler / formatters / parquet.py (no function)   100% 96 0 10   100% 0 0   100%
python / lsst / daf / butler / formatters / pickle.py PickleFormatter.read_from_uri   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / formatters / pickle.py PickleFormatter.to_bytes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / formatters / pickle.py (no function)   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / formatters / typeless.py TypelessFormatter.read   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / formatters / typeless.py TypelessFormatter._assemble_dataset   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / formatters / typeless.py TypelessFormatter._coerce_builtin_type   0% 12 12 0   0% 12 0   0%
python / lsst / daf / butler / formatters / typeless.py TypelessFormatter._coerce_type   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / formatters / typeless.py (no function)   100% 10 0 3   100% 0 0   100%
python / lsst / daf / butler / formatters / yaml.py YamlFormatter.read_from_uri   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / formatters / yaml.py YamlFormatter.to_bytes   0% 19 19 0   0% 12 0   0%
python / lsst / daf / butler / formatters / yaml.py (no function)   100% 15 0 0   100% 0 0   100%
python / lsst / daf / butler / json.py SupportsSimple.to_simple   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / json.py SupportsSimple.from_simple   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / json.py to_json_pydantic   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / json.py from_json_pydantic   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / json.py to_json_generic   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / json.py from_json_generic   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / json.py (no function)   100% 13 0 3   50% 2 1   93%
python / lsst / daf / butler / logging.py MDCDict.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py MDCDict.__str__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / logging.py MDCDict.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerMDC.MDC   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerMDC.MDCRemove   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerMDC.clear_mdc   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerMDC.set_mdc   0% 13 13 0   0% 6 0   0%
python / lsst / daf / butler / logging.py ButlerMDC.add_mdc_log_record_factory   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerMDC.add_mdc_log_record_factory.record_factory   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / logging.py ButlerMDC.restore_log_record_factory   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecord.from_record   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecord.format   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecord.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py _ButlerLogRecordsModelV1.wrap   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py _ButlerLogRecordsModel.wrap   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.from_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.from_file   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords._from_record_subset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords._generic_startswith   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords._detect_model   0% 15 15 0   0% 12 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.from_stream   0% 24 24 0   0% 16 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.from_raw   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.to_json_data   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.log_format   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.log_format   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.set_log_format   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__setitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / logging.py ButlerLogRecords.__setitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / logging.py ButlerLogRecords.__setitem__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__getitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / logging.py ButlerLogRecords.__getitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / logging.py ButlerLogRecords.__getitem__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__delitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords._validate_record   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.insert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.append   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecords.write_streaming_extra   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecordHandler.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / logging.py ButlerLogRecordHandler.emit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / logging.py JsonLogFormatter.format   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / logging.py (no function)   100% 116 0 0   100% 0 0   100%
python / lsst / daf / butler / mapping_factory.py MappingFactory.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory.__contains__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory.getLookupKeys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory.getClassFromRegistryWithMatch   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory.getClassFromRegistry   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory.getFromRegistryWithMatch   0% 21 21 0   0% 12 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory.getFromRegistry   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory.placeInRegistry   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / mapping_factory.py MappingFactory._getNameKey   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / mapping_factory.py (no function)   100% 18 0 0   100% 0 0   100%
python / lsst / daf / butler / name_shrinker.py NameShrinker.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / name_shrinker.py NameShrinker.shrink   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / name_shrinker.py NameShrinker.expand   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / name_shrinker.py NameShrinker.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / name_shrinker.py NameShrinker.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / name_shrinker.py NameShrinker.update   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / name_shrinker.py (no function)   100% 11 0 0   100% 0 0   100%
python / lsst / daf / butler / nonempty_mapping.py Copyable.copy   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.__iter__   0% 3 3 0   0% 4 0   0%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.__getitem__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.get   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.get   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / nonempty_mapping.py NonemptyMapping.copy   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / nonempty_mapping.py (no function)   100% 18 0 0   100% 0 0   100%
python / lsst / daf / butler / persistence_context.py PersistenceContextVars._getContextVars   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / persistence_context.py PersistenceContextVars.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / persistence_context.py PersistenceContextVars._functionRunner   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / persistence_context.py PersistenceContextVars.run   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / persistence_context.py (no function)   100% 32 0 6   100% 0 0   100%
python / lsst / daf / butler / progress.py ProgressBar.update   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / progress.py Progress.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / progress.py Progress.set_handler   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / progress.py Progress.is_enabled   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / progress.py Progress.at   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / progress.py Progress.bar   0% 13 13 0   0% 10 0   0%
python / lsst / daf / butler / progress.py Progress.wrap   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / progress.py Progress.iter_chunks   0% 29 29 0   0% 20 0   0%
python / lsst / daf / butler / progress.py Progress.iter_item_chunks   0% 29 29 0   0% 20 0   0%
python / lsst / daf / butler / progress.py ProgressHandler.get_progress_bar   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / progress.py _NullProgressBar.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / progress.py _NullProgressBar.context   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / progress.py _NullProgressBar.__iter__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / progress.py _NullProgressBar.update   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / progress.py (no function)   100% 34 0 0   100% 0 0   100%
python / lsst / daf / butler / pydantic_utils.py get_universe_from_context   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation.from_validated   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation.validated   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation.__init_subclass__   67% 6 2 0   100% 0 0   67%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation._get_wrapped_type_adapter   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation._serialize   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation.__get_pydantic_core_schema__   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / pydantic_utils.py DeferredValidation.__get_pydantic_json_schema__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / pydantic_utils.py _deserialize_region   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py _serialize_region   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / pydantic_utils.py _deserialize_bytes_hex   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py _deserialize_time   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py _serialize_time   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / pydantic_utils.py _serialize_ellipsis   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py _deserialize_ellipsis   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / pydantic_utils.py (no function)   100% 39 0 2   100% 0 0   100%
python / lsst / daf / butler / queries / __init__.py (no function)   100% 6 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _base.py QueryBase.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py QueryBase.any   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py QueryBase.explain_no_results   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py QueryBase.where   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / _base.py QueryResultsBase.dimensions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / _base.py QueryResultsBase.count   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / _base.py QueryResultsBase.order_by   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py QueryResultsBase.limit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py QueryResultsBase.where   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _base.py QueryResultsBase._get_datasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / _base.py QueryResultsBase._copy   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / _base.py (no function)   100% 29 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults.__iter__   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults.has_dimension_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults.with_dimension_records   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults.count   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults._copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py DataCoordinateQueryResults._get_datasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _data_coordinate_query_results.py (no function)   100% 20 0 2   100% 0 0   100%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.__iter__   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults._iter_pages   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.data_ids   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.has_dimension_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.with_dimension_records   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults.count   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults._copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py DatasetRefQueryResults._get_datasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dataset_query_results.py (no function)   100% 28 0 2   100% 0 0   100%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults.__iter__   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults.iter_table_pages   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults.iter_set_pages   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults.element   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults.count   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults._copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py DimensionRecordQueryResults._get_datasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _dimension_record_query_results.py (no function)   100% 22 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _expression_strings.py convert_expression_string_to_predicate   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ColExpr.column_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitBinaryOp   0% 26 26 0   0% 24 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitIsIn   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitIdentifier   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitBind   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitNumericLiteral   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitParens   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitPointNode   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitCircleNode   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitBoxNode   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitPolygonNode   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitRegionNode   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitRangeLiteral   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitStringLiteral   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitTimeLiteral   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitUuidLiteral   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitTupleNode   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitUnaryOp   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _ConversionVisitor.visitGlobNode   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _make_literal   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _to_timespan_bound   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _convert_comparison_operator   0% 8 8 1   0% 6 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _convert_in_clause_to_predicate   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _get_boolean_column_reference   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / _expression_strings.py _get_float_literal_value   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / queries / _expression_strings.py (no function)   100% 55 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults.__iter__   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults.iter_tuples   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults.has_dimension_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults.with_dimension_records   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults.count   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults._copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults._with_added_dataset_field   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults._get_datasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults._make_data_id   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults._make_dimension_record   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults._get_cached_dimension_records   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / _general_query_results.py GeneralQueryResults._add_dimension_records   0% 4 4 0   0% 6 0   0%
python / lsst / daf / butler / queries / _general_query_results.py (no function)   100% 37 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _identifiers.py IdentifierContext.__init__   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / _identifiers.py interpret_identifier   0% 57 57 0   0% 46 0   0%
python / lsst / daf / butler / queries / _identifiers.py (no function)   100% 17 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / _query.py Query.__init__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / _query.py Query.constraint_dataset_types   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query.constraint_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query.expression_factory   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query.data_ids   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / queries / _query.py Query.datasets   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query.dimension_records   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / _query.py Query.general   0% 52 52 0   0% 36 0   0%
python / lsst / daf / butler / queries / _query.py Query.materialize   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / queries / _query.py Query.join_dataset_search   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query.join_data_coordinates   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / queries / _query.py Query.join_data_coordinate_table   0% 17 17 0   0% 10 0   0%
python / lsst / daf / butler / queries / _query.py Query.join_dimensions   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query.where   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query._skip_governor_validation   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / _query.py Query._join_dataset_search_impl   0% 33 33 0   0% 24 0   0%
python / lsst / daf / butler / queries / _query.py (no function)   100% 48 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / convert_args.py convert_where_args   0% 17 17 0   0% 10 0   0%
python / lsst / daf / butler / queries / convert_args.py convert_order_by_args   0% 20 20 0   0% 14 0   0%
python / lsst / daf / butler / queries / convert_args.py (no function)   100% 12 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py DimensionRecordResultPage.as_table   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / driver.py DimensionRecordResultPage.as_set   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / driver.py QueryDriver.universe   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.execute   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / queries / driver.py QueryDriver.execute   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.materialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.upload_data_coordinates   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.count   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.any   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.explain_no_results   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.get_default_collections   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py QueryDriver.get_dataset_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / driver.py (no function)   100% 59 0 0   50% 6 3   95%
python / lsst / daf / butler / queries / expression_factory.py ExpressionProxy.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionProxy.is_null   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionProxy._make_expression   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionProxy._make_comparison   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionProxy._expression   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.desc   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.as_boolean   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__eq__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__ne__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__lt__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__le__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__gt__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__ge__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__neg__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__add__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__radd__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__sub__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__rsub__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__mul__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__rmul__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__truediv__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__rtruediv__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__mod__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.__rmod__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.in_range   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.in_iterable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.in_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ScalarExpressionProxy.glob   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ResolvedScalarExpressionProxy.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ResolvedScalarExpressionProxy._expression   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py BooleanScalarExpressionProxy.__init__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expression_factory.py BooleanScalarExpressionProxy.is_null   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py BooleanScalarExpressionProxy.as_boolean   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py BooleanScalarExpressionProxy._expression   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py TimespanProxy.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py TimespanProxy.begin   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py TimespanProxy.end   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py TimespanProxy.overlaps   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py TimespanProxy._expression   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py RegionProxy.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py RegionProxy.overlaps   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py RegionProxy._expression   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy._expression   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy.__getattr__   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy.region   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy.timespan   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DimensionElementProxy.__dir__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DatasetTypeProxy.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DatasetTypeProxy.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DatasetTypeProxy.__getattr__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / expression_factory.py DatasetTypeProxy.timespan   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py DatasetTypeProxy.__dir__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.__getattr__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.not_   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.all   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.any   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.literal   0% 9 9 1   0% 4 0   0%
python / lsst / daf / butler / queries / expression_factory.py ExpressionFactory.unwrap   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expression_factory.py (no function)   100% 99 0 3   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / categorize.py categorizeConstant   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / categorize.py (no function)   100% 7 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / __init__.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py _strip_parens   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Node.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Node.visit   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BinaryOp.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BinaryOp.visit   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BinaryOp.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UnaryOp.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UnaryOp.visit   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UnaryOp.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py StringLiteral.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py StringLiteral.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py StringLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TimeLiteral.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TimeLiteral.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TimeLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py NumericLiteral.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py NumericLiteral.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py NumericLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UuidLiteral.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UuidLiteral.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py UuidLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Identifier.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Identifier.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Identifier.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BindName.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BindName.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BindName.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RangeLiteral.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RangeLiteral.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RangeLiteral.__str__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py IsIn.__init__   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py IsIn.visit   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py IsIn.__str__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Parens.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Parens.visit   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py Parens.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TupleNode.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TupleNode.visit   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py TupleNode.__str__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py FunctionCall.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py FunctionCall.visit   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py FunctionCall.__str__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PointNode.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PointNode.visit   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PointNode.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py CircleNode.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py CircleNode.visit   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py CircleNode.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BoxNode.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BoxNode.visit   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py BoxNode.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PolygonNode.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PolygonNode.visit   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py PolygonNode.__str__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RegionNode.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RegionNode.visit   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py RegionNode.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py GlobNode.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py GlobNode.visit   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py GlobNode.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py function_call   0% 53 53 0   0% 50 0   0%
python / lsst / daf / butler / queries / expressions / parser / exprTree.py (no function)   100% 88 0 3   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / parser.py parse_expression   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parser.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLexError.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.make_lexer   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_newline   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_TIME_LITERAL   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_STRING_LITERAL   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_RANGE_LITERAL   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_NUMERIC_LITERAL   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_QUALIFIED_IDENTIFIER   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_SIMPLE_IDENTIFIER   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_BIND_NAME   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py ParserLex.t_error   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserLex.py (no function)   100% 45 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py YaccProduction.__getitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py YaccProduction.__setitem__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py YaccProduction.__len__   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py YaccProduction.lineno   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py YaccProduction.lexpos   100% 1 0 0   50% 2 1   67%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py _parseTimeString   0% 42 42 0   0% 32 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParseError.__init__   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParseError._posInLine   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserEOFError.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc._parser_factory   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.parse   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_input   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_empty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_expr   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_bool_primary   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_predicate   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_simple_id   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_qualified_id   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_identifier   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_literal_or_id_list   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_bind_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_bit_expr   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_simple_expr_lit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_simple_expr_unary   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_simple_expr_paren   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_simple_expr_tuple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_literal_num   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_literal_num_signed   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_literal_str   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_literal_time   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_literal_range   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_function_call   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_expr_list   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py ParserYacc.p_error   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / parserYacc.py (no function)   98% 80 2 0   100% 0 0   98%
python / lsst / daf / butler / queries / expressions / parser / ply / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexError.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexToken.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexToken.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py PlyLogger.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py PlyLogger.critical   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py PlyLogger.warning   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py PlyLogger.error   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py NullLogger.__getattribute__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py NullLogger.__call__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.__init__   0% 23 23 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.clone   0% 20 20 0   0% 12 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.writetab   0% 27 27 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.readtab   0% 28 28 0   0% 12 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.input   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.begin   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.push_state   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.pop_state   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.current_state   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.skip   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.token   0% 76 76 0   0% 30 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py Lexer.next   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py _get_regex   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py get_caller_module_dict   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py _funcs_to_names   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py _names_to_funcs   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py _form_master_re   0% 25 25 0   0% 12 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py _statetoken   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.get_all   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.validate_all   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.get_tokens   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.validate_tokens   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.get_literals   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.validate_literals   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.get_states   0% 24 24 0   0% 14 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.get_rules   0% 49 49 0   0% 36 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.validate_rules   0% 75 75 0   0% 38 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py LexerReflect.validate_module   0% 21 21 0   0% 8 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py lex   0% 120 120 0   0% 78 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py runmain   0% 21 21 0   0% 8 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py TOKEN   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py TOKEN.set_regex   75% 4 1 0   50% 2 1   67%
python / lsst / daf / butler / queries / expressions / parser / ply / lex.py (no function)   100% 65 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py PlyLogger.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py PlyLogger.debug   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py PlyLogger.warning   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py PlyLogger.error   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py NullLogger.__getattribute__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py NullLogger.__call__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py format_result   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py format_stack_entry   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py errok   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py restart   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py token   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py call_errorfunc   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccSymbol.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccSymbol.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.__getitem__   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.__setitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.__getslice__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.lineno   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.set_lineno   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.linespan   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.lexpos   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.set_lexpos   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.lexspan   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py YaccProduction.error   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.errok   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.restart   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.set_defaulted_states   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.disable_defaulted_states   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.parse   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.parsedebug   0% 186 186 0   0% 66 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.parseopt   0% 172 172 0   0% 64 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRParser.parseopt_notrack   0% 156 156 0   0% 56 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.__init__   0% 18 18 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.__nonzero__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.lr_item   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Production.bind   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py MiniProduction.__init__   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py MiniProduction.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py MiniProduction.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py MiniProduction.bind   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRItem.__init__   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRItem.__str__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRItem.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py rightmost_terminal   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.__init__   0% 13 13 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.__getitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.set_precedence   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.add_production   0% 53 53 0   0% 34 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.set_start   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.find_unreachable   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.find_unreachable.mark_reachable_from   0% 6 6 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.infinite_cycles   0% 29 29 0   0% 24 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.undefined_symbols   0% 8 8 0   0% 8 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.unused_terminals   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.unused_rules   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.unused_precedence   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar._first   0% 13 13 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.compute_first   0% 18 18 0   0% 16 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.compute_follow   0% 30 30 0   0% 28 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py Grammar.build_lritems   0% 23 23 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRTable.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRTable.read_table   0% 13 13 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRTable.read_pickle   0% 20 20 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRTable.bind_callables   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py digraph   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py traverse   0% 20 20 0   0% 12 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.__init__   0% 22 22 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.lr0_closure   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.lr0_goto   0% 25 25 0   0% 14 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.lr0_items   0% 20 20 0   0% 12 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.compute_nullable_nonterminals   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.find_nonterminal_transitions   0% 9 9 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.dr_relation   0% 12 12 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.reads_relation   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.compute_lookback_includes   0% 44 44 0   0% 32 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.compute_read_sets   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.compute_follow_sets   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.add_lookaheads   0% 8 8 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.add_lalr_lookaheads   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.lr_parse_table   0% 127 127 0   0% 78 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.write_table   0% 67 67 0   0% 38 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py LRGeneratedTable.pickle_table   0% 16 16 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py get_caller_module_dict   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py parse_grammar   0% 27 27 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.__init__   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.get_all   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.validate_all   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.signature   0% 14 14 0   0% 10 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.validate_modules   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.get_start   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.validate_start   0% 3 3 0   0% 4 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.get_error_func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.validate_error_func   0% 16 16 0   0% 8 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.get_tokens   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.validate_tokens   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.get_precedence   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.validate_precedence   0% 27 27 0   0% 16 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.get_pfunctions   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py ParserReflect.validate_pfunctions   0% 43 43 0   0% 28 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py yacc   0% 199 199 0   0% 114 0   0%
python / lsst / daf / butler / queries / expressions / parser / ply / yacc.py (no function)   99% 155 1 0   50% 2 1   99%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitNumericLiteral   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitStringLiteral   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitUuidLiteral   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitTimeLiteral   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitRangeLiteral   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitIdentifier   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitBind   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitUnaryOp   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitBinaryOp   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitIsIn   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitParens   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitTupleNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitFunctionCall   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitPointNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitCircleNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitBoxNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitPolygonNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitRegionNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py TreeVisitor.visitGlobNode   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / expressions / parser / treeVisitor.py (no function)   100% 44 0 3   100% 0 0   100%
python / lsst / daf / butler / queries / overlaps.py _NaiveDisjointSet.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py _NaiveDisjointSet.merge   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / queries / overlaps.py _NaiveDisjointSet.subsets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py _NaiveDisjointSet.n_subsets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalEndpoint.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalEndpoint.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalEndpoint.topology   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalFamily.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalFamily.choose   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py CalibrationTemporalFamily.make_column_reference   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.run   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_comparison   0% 8 8 1   0% 6 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor._add_join_operand_connections   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor._add_automatic_joins   0% 15 15 0   0% 8 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_spatial_overlap   0% 10 10 2   0% 6 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_temporal_overlap   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_spatial_join   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_spatial_constraint   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_temporal_dimension_join   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_validity_range_dimension_join   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py OverlapsVisitor.visit_validity_range_join   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / overlaps.py (no function)   100% 41 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / predicate_constraints_summary.py PredicateConstraintsSummary.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py PredicateConstraintsSummary.apply_default_data_id   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _create_data_id_predicate   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_comparison   0% 20 20 0   0% 14 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_binary_expression   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_unary_expression   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_literal   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_dimension_key_reference   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_dimension_field_reference   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_dataset_field_reference   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / predicate_constraints_summary.py _DataIdExtractionVisitor.visit_reversed   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / predicate_constraints_summary.py (no function)   100% 26 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / result_specs.py ResultSpecBase.validate_tree   0% 18 18 0   0% 14 0   0%
python / lsst / daf / butler / queries / result_specs.py ResultSpecBase.find_first_dataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / result_specs.py ResultSpecBase.get_result_columns   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / result_specs.py DataCoordinateResultSpec.get_result_columns   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / result_specs.py DimensionRecordResultSpec.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / result_specs.py DimensionRecordResultSpec.get_result_columns   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / result_specs.py DatasetRefResultSpec.find_first_dataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / result_specs.py DatasetRefResultSpec.get_result_columns   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / queries / result_specs.py GeneralResultSpec.find_first_dataset   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / result_specs.py GeneralResultSpec.get_result_columns   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / queries / result_specs.py GeneralResultSpec._validate   0% 13 13 0   0% 14 0   0%
python / lsst / daf / butler / queries / result_specs.py SerializedResultSpec.to_result_spec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / result_specs.py _add_dimension_records_to_column_set   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / queries / result_specs.py (no function)   100% 74 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / __init__.py (no function)   100% 12 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _base.py AnyDatasetType.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py AnyDatasetType.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py is_dataset_field   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py ColumnExpressionBase.column_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _base.py ColumnExpressionBase.get_literal_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py ColumnExpressionBase.gather_required_columns   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _base.py ColumnExpressionBase.gather_governors   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _base.py ColumnExpressionBase.visit   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _base.py ColumnLiteralBase.get_literal_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py ColumnLiteralBase.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py ColumnLiteralBase.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py ColumnLiteralBase.column_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py ColumnLiteralBase.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _base.py (no function)   100% 49 0 4   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _column_expression.py UnaryExpression.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py UnaryExpression.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py UnaryExpression.column_type   0% 5 5 1   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py UnaryExpression.__str__   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py UnaryExpression._validate_types   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py UnaryExpression.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py BinaryExpression.gather_required_columns   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py BinaryExpression.gather_governors   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py BinaryExpression.column_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py BinaryExpression.__str__   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py BinaryExpression._validate_types   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py BinaryExpression.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py Reversed.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py Reversed.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py Reversed.column_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py Reversed.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py Reversed.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py validate_order_expression   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py is_one_timespan_and_one_datetime   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py is_one_datetime_and_one_ingest_date   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py is_one_timespan_and_one_ingest_date   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py is_numeric   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_expression.py (no function)   100% 67 0 2   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _column_literal.py IntColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py IntColumnLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py StringColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py StringColumnLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py FloatColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py FloatColumnLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py HashColumnLiteral.value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py HashColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py HashColumnLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py UUIDColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py UUIDColumnLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py DateTimeColumnLiteral.value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py DateTimeColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py DateTimeColumnLiteral.__str__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py TimespanColumnLiteral.value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py TimespanColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py TimespanColumnLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py RegionColumnLiteral.value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py RegionColumnLiteral.from_value   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py RegionColumnLiteral.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py make_column_literal   0% 32 32 0   0% 26 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py _make_region_literal_from_lonlat   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_literal.py (no function)   100% 94 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionKeyReference.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionKeyReference.gather_governors   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionKeyReference.column_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionKeyReference.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionKeyReference.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionFieldReference.gather_required_columns   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionFieldReference.gather_governors   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionFieldReference.column_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionFieldReference.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionFieldReference.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DimensionFieldReference._validate_field   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DatasetFieldReference.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DatasetFieldReference.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DatasetFieldReference.column_type   0% 11 11 1   0% 8 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DatasetFieldReference.__str__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py DatasetFieldReference.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_reference.py (no function)   100% 52 0 3   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.dimension_fields   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.dataset_fields   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.__bool__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.__eq__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.issubset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.issuperset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.isdisjoint   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.copy   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.update_dimensions   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.update   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.drop_dimension_keys   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.drop_implied_dimension_keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.restore_dimension_keys   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.get_column_order   0% 16 16 0   0% 14 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.is_timespan   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.get_qualified_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet.get_column_spec   0% 18 18 1   0% 12 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnSet._get_dimension_keys   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ResultColumn.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnOrder.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnOrder.columns   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnOrder.dimension_key_names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py ColumnOrder.extract_dimension_key_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _column_set.py (no function)   100% 47 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _predicate.py PredicateLeafBase.gather_required_columns   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _predicate.py PredicateLeafBase.gather_governors   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _predicate.py PredicateLeafBase.invert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py PredicateLeafBase.visit   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.column_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.from_bool   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.from_bool_expression   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.compare   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.is_null   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.in_container   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.in_range   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.in_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.gather_required_columns   0% 3 3 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.gather_governors   0% 3 3 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.logical_and   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.logical_or   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.logical_not   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.__str__   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate._from_leaf   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate._from_or_group   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate._impl_and   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Predicate._impl_or   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py LogicalNot.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py LogicalNot.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py LogicalNot.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py LogicalNot.invert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py LogicalNot.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py BooleanWrapper.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py BooleanWrapper.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py BooleanWrapper.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py BooleanWrapper.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py IsNull.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py IsNull.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py IsNull.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py IsNull.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Comparison.gather_required_columns   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Comparison.gather_governors   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Comparison.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Comparison.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py Comparison._validate_column_types   0% 21 21 0   0% 16 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InContainer.gather_required_columns   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InContainer.gather_governors   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InContainer.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InContainer.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InContainer._validate   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InRange.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InRange.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InRange.__str__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InRange.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InRange._validate   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InQuery.gather_required_columns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InQuery.gather_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InQuery.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InQuery.visit   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py InQuery._validate_column_types   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / queries / tree / _predicate.py (no function)   100% 147 0 4   100% 0 0   100%
python / lsst / daf / butler / queries / tree / _query_tree.py make_identity_query_tree   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.iter_all_dataset_searches   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.get_joined_dimension_groups   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.join_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.join_data_coordinate_upload   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.join_materialization   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.join_dataset   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.join_any_dataset   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree.where   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree._validate_join_operands   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py QueryTree._validate_required_columns   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py SerializedQueryTree.to_query_tree   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / tree / _query_tree.py (no function)   100% 51 0 0   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor.visit_literal   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor.visit_dimension_key_reference   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor.visit_dimension_field_reference   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor.visit_dataset_field_reference   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor.visit_unary_expression   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor.visit_binary_expression   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py ColumnExpressionVisitor.visit_reversed   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.visit_boolean_wrapper   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.visit_comparison   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.visit_is_null   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.visit_in_container   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.visit_in_range   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.visit_in_query_tree   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.apply_logical_not   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.apply_logical_or   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor.apply_logical_and   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor._visit_logical_not   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor._visit_logical_or   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / visitors.py PredicateVisitor._visit_logical_and   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.visit_boolean_wrapper   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.visit_comparison   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.visit_is_null   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.visit_in_container   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.visit_in_range   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.visit_in_query_tree   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.apply_logical_not   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.apply_logical_or   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / visitors.py SimplePredicateVisitor.apply_logical_and   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / queries / visitors.py (no function)   100% 64 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / __init__.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _caching_context.py CachingContext.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / _caching_context.py CachingContext.enable_collection_record_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _caching_context.py CachingContext.enable_collection_summary_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _caching_context.py CachingContext.collection_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _caching_context.py CachingContext.collection_summaries   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _caching_context.py _CacheToggle.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / _caching_context.py _CacheToggle.enable   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / _caching_context.py (no function)   100% 20 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.full   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.add   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.set   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.clear   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.discard   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.get_by_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.get_by_key   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py CollectionRecordCache.records   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / _collection_record_cache.py (no function)   100% 15 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.add_datasets_generator   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.add_datasets   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.add_data_ids_generator   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.add_data_ids   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.update   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.union   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.is_compatible_with   0% 13 13 0   0% 10 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.to_simple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_summary.py CollectionSummary.from_simple   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_summary.py _copy_governors   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_summary.py (no function)   100% 31 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _collection_summary_cache.py CollectionSummaryCache.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_summary_cache.py CollectionSummaryCache.update   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _collection_summary_cache.py CollectionSummaryCache.find_summaries   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / registry / _collection_summary_cache.py (no function)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _config.py RegistryConfig.getDialect   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / _config.py RegistryConfig.getDatabaseClass   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / _config.py RegistryConfig.makeDefaultDatabaseUri   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / _config.py RegistryConfig.replaceRoot   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _config.py RegistryConfig.connectionString   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _config.py RegistryConfig.areTemporaryTablesAllowed   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / registry / _config.py (no function)   100% 20 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / _defaults.py RegistryDefaults.__init__   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / registry / _defaults.py RegistryDefaults.from_data_id   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / _defaults.py RegistryDefaults.from_butler_instance_options   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _defaults.py RegistryDefaults.clone   0% 13 13 0   0% 12 0   0%
python / lsst / daf / butler / registry / _defaults.py RegistryDefaults.__repr__   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / registry / _defaults.py RegistryDefaults.finish   0% 19 19 0   0% 14 0   0%
python / lsst / daf / butler / registry / _defaults.py (no function)   100% 28 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / _exceptions.py (no function)   100% 13 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.isWriteable   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.dimensions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.defaults   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.defaults   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.refresh   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.refresh_collection_summaries   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.caching_context   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.transaction   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.resetConnectionPool   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _registry.py Registry.registerCollection   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getCollectionType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.registerRun   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.removeCollection   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getCollectionChain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.setCollectionChain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getCollectionParentChains   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getCollectionDocumentation   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.setCollectionDocumentation   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getCollectionSummary   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.registerDatasetType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.removeDatasetType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getDatasetType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.supportsIdGenerationMode   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.findDataset   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.insertDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry._importDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getDataset   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry._fetch_run_dataset_ids   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.removeDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.associate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.disassociate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.certify   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.decertify   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.getDatasetLocations   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.expandDataId   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.insertDimensionData   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.syncDimensionData   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.queryDatasetTypes   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.queryCollections   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.queryDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.queryDataIds   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.queryDimensionRecords   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.queryDatasetAssociations   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py Registry.obsCoreTableManager   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _registry.py Registry.storageClasses   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / _registry.py (no function)   100% 116 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase.queryDatasets   0% 22 22 0   0% 14 0   0%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase.queryDataIds   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase.queryDimensionRecords   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase._convert_common_query_arguments   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase.queryDatasetAssociations   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / _registry_base.py RegistryBase._resolve_dataset_types   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / registry / _registry_base.py (no function)   100% 26 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / _registry_factory.py _RegistryFactory.__init__   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / registry / _registry_factory.py _RegistryFactory.create_from_config   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _registry_factory.py _RegistryFactory.from_config   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / _registry_factory.py (no function)   100% 13 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.initialize   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.get   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.set   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.delete   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.items   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.empty   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / attributes.py DefaultButlerAttributeManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / attributes.py (no function)   100% 22 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / bridge / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.insert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.ensure   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.forget   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge._rollbackMoveToTrash   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.moveToTrash   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.check   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.__contains__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py EphemeralDatastoreRegistryBridge.emptyTrash   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / registry / bridge / ephemeral.py (no function)   100% 18 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / bridge / monolithic.py _makeTableSpecs   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge._refsToRows   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.ensure   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.insert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.forget   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.moveToTrash   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.check   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.emptyTrash   0% 28 28 0   0% 12 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridge.emptyTrash.join_records   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager.initialize   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager.refresh   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager.register   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager.findDatastores   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py MonolithicDatastoreRegistryBridgeManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / bridge / monolithic.py (no function)   100% 37 0 4   100% 0 0   100%
python / lsst / daf / butler / registry / collections / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / collections / _base.py _makeCollectionForeignKey   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py makeRunTableSpec   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / _base.py makeCollectionChainTableSpec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.refresh   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._fetch_all   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.register   0% 18 18 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.remove   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.find   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._find_many   0% 25 25 0   0% 16 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._find_many.check_cache   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._find_many.order   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.__getitem__   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.resolve_wildcard   0% 28 28 0   0% 26 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.resolve_wildcard.filter_types   0% 4 4 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.getDocumentation   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.get_docs   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.setDocumentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._addCachedRecord   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._removeCachedRecord   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._getByName   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._fetch_by_name   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._fetch_by_key   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.update_chain   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.prepend_collection_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.extend_collection_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._add_to_collection_chain   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager.remove_from_collection_chain   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._modify_collection_chain   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._sanity_check_collection_cycles   0% 3 3 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._insert_collection_chain_rows   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._remove_collection_chain_rows   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._find_prepend_position   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._find_extend_position   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._find_position_in_collection_chain   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._find_and_lock_collection_chain   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._select_pkey_by_name   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / collections / _base.py DefaultCollectionManager._query_recursive   0% 15 15 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / _base.py (no function)   0% 65 65 3   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py _makeTableSpecs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.initialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.getCollectionForeignKeyName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.getRunForeignKeyName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.addCollectionForeignKey   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.addRunForeignKey   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.getParentChains   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.lookup_name_sql   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.join_collections_sql   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager._fetch_by_name   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager._fetch_by_key   0% 23 23 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager._rows_to_records   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager._rows_to_chains   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager._select_pkey_by_name   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py NameKeyCollectionManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / nameKey.py (no function)   0% 38 38 3   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py _makeTableSpecs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.initialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.getCollectionForeignKeyName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.getRunForeignKeyName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.addCollectionForeignKey   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.addRunForeignKey   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.getParentChains   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.lookup_name_sql   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.join_collections_sql   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager._fetch_by_name   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager._fetch_by_key   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager._fetch   0% 24 24 0   0% 4 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager._rows_to_records   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager._rows_to_chains   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager._select_pkey_by_name   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py SynthIntKeyCollectionManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / collections / synthIntKey.py (no function)   0% 39 39 3   100% 0 0   0%
python / lsst / daf / butler / registry / connectionString.py ConnectionStringFactory.fromConfig   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / registry / connectionString.py (no function)   100% 9 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / databases / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.__init__   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase._init   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.clone   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.makeEngine   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.fromEngine   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase._transaction   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.temporary_table   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase._lockTables   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.shrinkDatabaseEntityName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.expandDatabaseEntityName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase._convertExclusionConstraintSpec   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase._make_temporary_table   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.getTimespanRepresentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.replace   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.ensure   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.constant_rows   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.has_distinct_on   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.has_any_aggregate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.apply_any_aggregate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.glob_expression   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py PostgresqlDatabase.glob_expression._escape   0% 22 22 0   0% 16 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanType.process_bind_param   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanType.process_result_value   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.makeFieldSpecs   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.getFieldNames   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.update   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.extract   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.fromLiteral   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.from_columns   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.isNull   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.isEmpty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.__gt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.overlaps   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.contains   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.lower   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.upper   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.flatten   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py _RangeTimespanRepresentation.apply_any_aggregate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py get_postgres_server_version   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / postgresql.py (no function)   100% 79 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / databases / sqlite.py _onSqlite3Connect   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase._init   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.clone   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.makeDefaultUri   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.makeEngine   0% 27 27 2   0% 12 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.makeEngine.creator   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.makeEngine._onSqlite3Begin   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.fromEngine   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.__str__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase._lockTables   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.declareStaticTables   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase._convertFieldSpec   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase._makeColumnConstraints   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase._convertTableSpec   0% 11 11 1   0% 6 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.replace   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.ensure   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.constant_rows   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.get_constant_rows_max   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.has_distinct_on   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.has_any_aggregate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.apply_any_aggregate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.glob_expression   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py SqliteDatabase.glob_expression._escape   0% 18 18 0   0% 12 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py _find_database_filename   0% 13 13 0   0% 10 0   0%
python / lsst / daf / butler / registry / databases / sqlite.py (no function)   100% 46 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / datasets / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / datasets / byDimensions / __init__.py (no function)   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.clone   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.full   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.add   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.set   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.clear   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.get   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.get_by_id   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.items   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.add_by_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py DatasetTypeCache.get_by_dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _dataset_type_cache.py (no function)   0% 19 19 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py _DatasetTypeRecord.make_dynamic_tables   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py _DatasetTypeRecord.update_dynamic_tables   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.__init__   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.initialize   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.makeStaticTableSpecs   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.addDatasetForeignKey   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._newDefaultSchemaVersion   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.refresh   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.remove_dataset_type   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.get_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.register_dataset_type   0% 20 20 0   0% 14 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.resolve_wildcard   0% 29 29 0   0% 24 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.get_dataset_refs   0% 34 34 0   0% 12 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._fetch_dataset_type_record   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._record_from_row   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._dataset_type_from_row   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.preload_cache   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._fetch_dataset_types   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._get_dataset_type_by_id   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._find_storage   0% 19 19 0   0% 8 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._get_dynamic_tables   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.getCollectionSummary   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.fetch_summaries   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.fetch_run_dataset_ids   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.ingest_date_dtype   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.insert   0% 20 20 0   0% 8 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.import_   0% 20 20 0   0% 10 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._import_guarded   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._update_summaries   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._validate_import   0% 21 21 0   0% 8 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._import_new   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.delete   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.associate   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.disassociate   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.certify   0% 36 36 0   0% 18 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.decertify   0% 37 37 0   0% 16 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.make_joins_builder   0% 30 30 1   0% 16 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._finish_query_builder   0% 43 43 0   0% 26 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID.refresh_collection_summaries   0% 15 15 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._get_tags_table   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py ByDimensionsDatasetRecordStorageManagerUUID._get_calibs_table   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py _create_case_expression_for_collections   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py _ensure_dimension_groups_match   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / _manager.py (no function)   0% 99 99 2   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryTables.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryTables.makeTableSpecs   0% 11 11 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager.initialize   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager.update   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager.fetch_summaries   0% 52 52 0   0% 32 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager.get_collection_ids   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py CollectionSummaryManager.delete_collections   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / summaries.py (no function)   0% 31 31 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py addDatasetForeignKey   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py makeStaticTableSpecs   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py makeTagTableName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py makeCalibTableName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py makeTagTableSpec   0% 17 17 0   0% 8 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py makeCalibTableSpec   0% 21 21 0   0% 8 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables.copy   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables.from_dimensions_key   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables.create   0% 4 4 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables.add_calibs   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables.tags   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py DynamicTables.calibs   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / datasets / byDimensions / tables.py (no function)   0% 35 35 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.initialize   0% 20 20 0   0% 12 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.fetch_cache_dict   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.insert   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.sync   0% 17 17 0   0% 12 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.fetch_one   0% 27 27 0   0% 12 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.save_dimension_group   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.load_dimension_group   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.make_joins_builder   0% 15 15 0   0% 10 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.process_query_overlaps   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager._make_skypix_overlap_tables   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager._make_legacy_overlap_tables   0% 21 21 0   0% 14 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager._make_record_db_rows   0% 16 16 0   0% 14 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager._compute_common_skypix_overlap_deletes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager._compute_common_skypix_overlap_inserts   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / registry / dimensions / static.py StaticDimensionRecordStorageManager._insert_overlaps   0% 15 15 0   0% 8 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionGroupStorage.__init__   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionGroupStorage.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionGroupStorage.initialize   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionGroupStorage.refresh   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionGroupStorage.save   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _DimensionGroupStorage.load   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _CommonSkyPixMediatedOverlapsVisitor.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _CommonSkyPixMediatedOverlapsVisitor.visit_spatial_constraint   0% 27 27 0   0% 12 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _CommonSkyPixMediatedOverlapsVisitor.visit_spatial_join   0% 17 17 0   0% 10 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _CommonSkyPixMediatedOverlapsVisitor._join_common_skypix_overlap   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / dimensions / static.py _CommonSkyPixMediatedOverlapsVisitor._make_common_skypix_overlap_joins_builder   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / dimensions / static.py (no function)   0% 68 68 0   100% 0 0   0%
python / lsst / daf / butler / registry / expand_data_ids.py expand_data_ids   0% 14 14 0   0% 10 0   0%
python / lsst / daf / butler / registry / expand_data_ids.py (no function)   100% 7 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / __init__.py (no function)   100% 9 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.get   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.set   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.delete   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.items   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.empty   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py ButlerAttributeManager.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _attributes.py (no function)   100% 24 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef.__eq__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef.datasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py FakeDatasetRef._datastore_records   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge.insert   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge.ensure   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge.forget   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge.moveToTrash   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge.check   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridge.emptyTrash   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridgeManager.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridgeManager.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridgeManager.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridgeManager.refresh   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridgeManager.register   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py DatastoreRegistryBridgeManager.findDatastores   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _bridge.py (no function)   100% 58 0 9   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionRecord.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionRecord.__eq__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionRecord.__hash__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionRecord.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionRecord.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py RunRecord.__init__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py RunRecord.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py ChainedCollectionRecord.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py ChainedCollectionRecord.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.addCollectionForeignKey   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.addRunForeignKey   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.getCollectionForeignKeyName   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.getRunForeignKeyName   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.refresh   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.register   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.remove   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.find   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.__getitem__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.resolve_wildcard   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.getDocumentation   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.get_docs   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.setDocumentation   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.getParentChains   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.update_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.prepend_collection_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.extend_collection_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.remove_from_collection_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.lookup_name_sql   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager.join_collections_sql   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py CollectionManager._block_for_concurrency_test   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _collections.py (no function)   100% 94 0 3   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py _checkExistingTableDefinition   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py StaticTablesContext.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py StaticTablesContext.addTable   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py StaticTablesContext.addTableTuple   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py StaticTablesContext.addInitializer   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.dispose   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.__repr__   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.makeDefaultUri   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.fromUri   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.makeEngine   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.fromEngine   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.session   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.transaction   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.temporary_table   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._session   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._transaction   0% 18 18 0   0% 8 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._lockTables   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.isTableWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.assertTableWriteable   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.declareStaticTables   0% 20 20 0   0% 10 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.isWriteable   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.isInTransaction   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.__str__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.dialect   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.shrinkDatabaseEntityName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.expandDatabaseEntityName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._makeColumnConstraints   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._convertFieldSpec   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._convertForeignKeySpec   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._convertExclusionConstraintSpec   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database._convertTableSpec   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.ensureTableExists   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.getExistingTable   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._make_temporary_table   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.getTimespanRepresentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.sync   0% 39 39 0   0% 26 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.sync.check   0% 21 21 0   0% 12 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.sync.check.safeNotEqual   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.sync._format_bad   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.insert   0% 24 24 0   0% 16 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.replace   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.ensure   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.delete   0% 38 38 0   0% 18 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.deleteWhere   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.update   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.query   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database._log_query_and_plan   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.constant_rows   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.get_constant_rows_max   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.glob_expression   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.has_distinct_on   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.has_any_aggregate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py Database.supports_temporary_tables   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py Database.apply_any_aggregate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseMetadata.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseMetadata.add_table   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseMetadata.get_table   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseMetadata.remove_table   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py DatabaseMetadata.create_all   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database.py (no function)   100% 129 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _database_explain.py get_query_plan   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _database_explain.py _Explain.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database_explain.py _compile_explain   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _database_explain.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.preload_cache   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.addDatasetForeignKey   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.refresh   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.get_dataset_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.conform_exact_dataset_type   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.register_dataset_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.remove_dataset_type   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.resolve_wildcard   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.get_dataset_refs   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.getCollectionSummary   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.fetch_summaries   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.fetch_run_dataset_ids   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.ingest_date_dtype   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.insert   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.import_   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.delete   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.associate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.disassociate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.certify   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.decertify   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.make_joins_builder   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py DatasetRecordStorageManager.refresh_collection_summaries   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _datasets.py (no function)   100% 65 0 7   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.fetch_cache_dict   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.insert   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.sync   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.fetch_one   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.save_dimension_group   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.load_dimension_group   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.make_joins_builder   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py DimensionRecordStorageManager.process_query_overlaps   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _dimensions.py (no function)   100% 32 0 4   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.set_query_function   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.config_json   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.add_datasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.associate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.disassociate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.update_exposure_regions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py ObsCoreTableManager.query   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _obscore.py (no function)   100% 30 0 9   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorage.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorage.insert   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorage.ensure   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorage.replace   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorage.fetch   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorage.delete   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorageManager.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorageManager.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorageManager.__getitem__   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorageManager.get   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorageManager.register   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py OpaqueTableStorageManager.clone   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _opaque.py (no function)   100% 34 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionTuple.fromString   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionTuple.checkCompatibility   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionTuple.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension.extensionName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension.currentVersions   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension.newSchemaVersion   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension.clsNewSchemaVersion   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension._newDefaultSchemaVersion   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension.checkCompatibility   0% 5 5 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py VersionedExtension.checkNewSchemaVersion   0% 5 5 0   0% 6 0   0%
python / lsst / daf / butler / registry / interfaces / _versioning.py (no function)   100% 30 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / managers.py RegistryManagerTypes.fromConfig   0% 27 27 0   0% 16 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerTypes.makeRepo   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerTypes.loadRepo   0% 22 22 0   0% 10 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerTypes.as_dict   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerInstances.caching_context_manager   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerInstances.initialize   0% 16 16 0   0% 4 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerInstances.clone   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerInstances.as_dict   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / managers.py RegistryManagerInstances.refresh   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / managers.py (no function)   100% 62 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / nameShrinker.py (no function)   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / __init__.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _config.py ObsCoreManagerConfig.validate_collection_type   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / obscore / _config.py (no function)   100% 83 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _manager.py _ExposureRegionFactory.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py _ExposureRegionFactory.derived_region   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.__init__   0% 23 23 0   0% 8 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.clone   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.initialize   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager._get_query_object   0% 2 2 1   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.set_query_function   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.config_json   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.add_datasets   0% 17 17 0   0% 12 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.associate   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.disassociate   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager._populate   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager._check_dataset_run   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.update_exposure_regions   0% 17 17 0   0% 4 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py ObsCoreLiveTableManager.query   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / registry / obscore / _manager.py (no function)   100% 41 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _records.py DerivedRegionFactory.derived_region   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.__init__   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.region_dimension   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.make_generic_records   0% 42 42 0   0% 18 0   0%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.make_universe_records   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.__call__   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.make_spatial_records   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.finalize_format_keywords   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _records.py RecordFactory.get_record_type_from_universe   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / registry / obscore / _records.py DafButlerRecordFactory.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _records.py DafButlerRecordFactory.make_universe_records   0% 37 37 0   0% 24 0   0%
python / lsst / daf / butler / registry / obscore / _records.py DafButlerRecordFactory._exposure_records   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _records.py DafButlerRecordFactory._visit_records   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _records.py DafButlerRecordFactory.region_dimension   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / registry / obscore / _records.py DafButlerRecordFactory.finalize_format_keywords   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / obscore / _records.py (no function)   100% 39 0 6   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _schema.py ObsCoreSchema.__init__   0% 36 36 0   0% 24 0   0%
python / lsst / daf / butler / registry / obscore / _schema.py ObsCoreSchema.table_spec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _schema.py ObsCoreSchema.dataset_fk   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _schema.py ObsCoreSchema.dimension_column   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / _schema.py (no function)   100% 20 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py SpatialObsCorePlugin.initialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py SpatialObsCorePlugin.extend_table_spec   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py SpatialObsCorePlugin.make_records   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / _spatial.py SpatialObsCorePlugin.load_plugins   0% 15 15 0   0% 8 0   0%
python / lsst / daf / butler / registry / obscore / _spatial.py (no function)   100% 20 0 5   100% 0 0   100%
python / lsst / daf / butler / registry / obscore / default_spatial.py DefaultSpatialObsCorePlugin.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / default_spatial.py DefaultSpatialObsCorePlugin.initialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / default_spatial.py DefaultSpatialObsCorePlugin.extend_table_spec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / default_spatial.py DefaultSpatialObsCorePlugin.make_records   0% 16 16 0   0% 6 0   0%
python / lsst / daf / butler / registry / obscore / default_spatial.py (no function)   0% 15 15 3   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePoint.get_col_spec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePoint.bind_processor   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePoint.bind_processor._process   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePolygon.get_col_spec   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePolygon.bind_processor   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSpherePolygon.bind_processor._process   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSphereObsCorePlugin.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSphereObsCorePlugin.initialize   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSphereObsCorePlugin.extend_table_spec   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py PgSphereObsCorePlugin.make_records   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / registry / obscore / pgsphere.py (no function)   0% 26 26 3   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.insert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.ensure   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.replace   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.fetch   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.fetch._batch_in_clause   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.fetch._batch_in_clauses   0% 10 10 0   0% 8 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorage.delete   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorageManager.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorageManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorageManager.initialize   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorageManager.get   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorageManager.register   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / opaque.py ByNameOpaqueTableStorageManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / opaque.py (no function)   100% 28 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / queries / __init__.py (no function)   100% 1 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_common.py CommonQueryArguments.replaceCollections   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py CommonQueryArguments.replaceDatasetTypes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin.count   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin.any   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin.order_by   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin.limit   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin.explain_no_results   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin._build_query   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin._apply_result_modifiers   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py LegacyQueryResultsMixin._build_result   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_common.py resolve_collections   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / registry / queries / _query_common.py (no function)   100% 38 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults._build_result   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.hasFull   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.hasRecords   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.__iter__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.materialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.expanded   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.subset   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.findDatasets   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py QueryDriverDataCoordinateQueryResults.findRelatedDatasets   0% 11 11 0   0% 6 0   0%
python / lsst / daf / butler / registry / queries / _query_data_coordinates.py (no function)   100% 28 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults.__init__   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults._build_result   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults._iterate_rows   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults.parentDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults.dataIds   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults.byParentDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults.expanded   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py QueryDriverDatasetRefQueryResults.explain_no_results   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_datasets.py (no function)   100% 21 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py QueryDriverDimensionRecordQueryResults.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py QueryDriverDimensionRecordQueryResults.element   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py QueryDriverDimensionRecordQueryResults.__iter__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py QueryDriverDimensionRecordQueryResults.run   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py QueryDriverDimensionRecordQueryResults._build_result   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _query_dimension_records.py (no function)   100% 14 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py LimitedQueryResultsBase.count   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py LimitedQueryResultsBase.any   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py LimitedQueryResultsBase.explain_no_results   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py QueryResultsBase.order_by   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py QueryResultsBase.limit   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DataCoordinateQueryResults.materialize   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DataCoordinateQueryResults.expanded   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DataCoordinateQueryResults.subset   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DataCoordinateQueryResults.findDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DataCoordinateQueryResults.findRelatedDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DatasetQueryResults.byParentDatasetType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DatasetQueryResults.expanded   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DatasetQueryResults._iter_by_dataset_type   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / queries / _results.py ParentDatasetQueryResults.parentDatasetType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py ParentDatasetQueryResults.dataIds   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.__iter__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.byParentDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.expanded   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.count   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.any   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / queries / _results.py ChainedDatasetQueryResults.explain_no_results   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / queries / _results.py DimensionRecordQueryResults.element   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py DimensionRecordQueryResults.run   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / queries / _results.py (no function)   100% 62 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.forceRegistryConfig   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.createFromConfig   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.fromConfig   0% 14 14 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.__init__   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.close   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.copy   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.defaults   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.refresh   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.refresh_collection_summaries   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.caching_context   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.transaction   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.resetConnectionPool   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.registerOpaqueTable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.insertOpaqueData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.fetchOpaqueData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.deleteOpaqueData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.registerCollection   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getCollectionType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.get_collection_record   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.registerRun   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.removeCollection   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getCollectionChain   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.setCollectionChain   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getCollectionParentChains   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getCollectionDocumentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.setCollectionDocumentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getCollectionSummary   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.registerDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.removeDatasetType   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getDatasetType   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.supportsIdGenerationMode   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.insertDatasets   0% 21 21 0   0% 10 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry._importDatasets   0% 22 22 0   0% 10 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getDataset   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry._fetch_run_dataset_ids   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.removeDatasets   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.associate   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.disassociate   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.certify   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.decertify   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getDatastoreBridgeManager   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.getDatasetLocations   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.expandDataId   0% 31 31 0   0% 26 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.expand_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.expand_refs   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.insertDimensionData   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.syncDimensionData   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.queryDatasetTypes   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.queryCollections   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry._query   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry._query_driver   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.get_datastore_records   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.store_datastore_records   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.make_datastore_tables   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.preload_cache   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / sql_registry.py SqlRegistry.obsCoreTableManager   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / sql_registry.py (no function)   100% 119 0 5   100% 0 0   100%
python / lsst / daf / butler / registry / tests / __init__.py (no function)   100% 2 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _database.py _patch_getExistingTable   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py _patch_getExistingTable._getExistingTable   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.makeEmptyDatabase   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.asReadOnly   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.getNewConnection   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.query_list   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.query_scalar   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.checkTable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.checkStaticSchema   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testDeclareStaticTables   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testDeclareStaticTablesTwice   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testRepr   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testDynamicTables   0% 23 23 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testDynamicTablesConcurrency   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTemporaryTables   0% 18 18 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testSchemaSeparation   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testInsertQueryDelete   0% 48 48 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testDeleteWhere   0% 17 17 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testUpdate   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testSync   0% 31 31 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testReplace   0% 19 19 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.test_replace_pkey_only   0% 10 10 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testEnsure   0% 30 30 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTransactionNesting   0% 20 20 0   0% 6 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTransactionLocking   0% 10 10 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTransactionLocking._side1   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTransactionLocking._side2   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTransactionLocking._side2._toRunInThread   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTransactionLocking._testProblemsWithNoLocking   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTransactionLocking._testSolutionWithLocking   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTimespanDatabaseRepresentation   0% 98 98 0   0% 26 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTimespanDatabaseRepresentation._convertRowForInsert   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testTimespanDatabaseRepresentation._convertRowFromSelect   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.testConstantRows   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _database.py DatabaseTests.test_aggregate   0% 18 18 1   0% 4 0   0%
python / lsst / daf / butler / registry / tests / _database.py (no function)   100% 53 0 0   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.makeRegistryConfig   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.make_butler   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.load_data   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.checkQueryResults   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testOpaque   0% 18 18 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDatasetType   0% 35 35 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDatasetTypeCache   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDimensions   0% 27 27 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testNumpyDataId   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDataIdRelationships   0% 13 13 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDataset   0% 15 15 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_get_many_datasets   0% 14 14 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_fetch_run_dataset_ids   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testFindDataset   0% 58 58 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testRemoveDatasetTypeSuccess   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testRemoveDatasetTypeFailure   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testImportDatasetsUUID   0% 41 41 0   0% 14 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testComponentLookups   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollections   0% 114 114 0   0% 4 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_collection_clearing   0% 20 20 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainCaching   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainFlatten   0% 10 10 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainPrependConcurrency   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainPrependConcurrency.blocked_thread_func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainPrependConcurrency.unblocked_thread_func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainReplaceConcurrency   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainReplaceConcurrency.blocked_thread_func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainReplaceConcurrency.unblocked_thread_func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainRemoveConcurrency   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainRemoveConcurrency.blocked_thread_func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionChainRemoveConcurrency.unblocked_thread_func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests._do_collection_concurrency_test   0% 25 25 0   0% 4 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests._do_collection_concurrency_test.wait_for_barrier   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testBasicTransaction   0% 15 15 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testNestedTransaction   0% 17 17 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testInstrumentDimensions   0% 81 81 0   0% 18 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testSkyMapDimensions   0% 45 45 0   0% 10 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testSkyMapDimensions.do_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testSpatialJoin   0% 27 27 0   0% 14 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testAbstractQuery   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testAttributeManager   0% 29 29 0   0% 4 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDatasetsDeduplication   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDatasetsExtraDimensions   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryResults   0% 45 45 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testStorageClassPropagation   0% 23 23 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testEmptyDimensionsQueries   0% 50 50 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDimensionDataModifications   0% 51 51 0   0% 8 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDimensionDataModifications._unpack_range_set   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDimensionDataModifications._range_set_hull   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCalibrationCollections   0% 159 159 0   0% 12 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCalibrationCollections._assertLookup   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testSkipCalibs   0% 27 27 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testIngestTimeQuery   0% 28 28 0   0% 6 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testTimespanQueries   0% 38 38 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testTimespanQueries.query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testCollectionSummaries   0% 29 29 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testBindInQueryDatasets   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryIntRangeExpressions   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryResultSummaries   0% 61 61 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDataIdsExpressionError   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDataIdsOrderBy   0% 39 39 0   0% 12 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDataIdsOrderBy.do_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDataIdsGovernorExceptions   0% 29 29 0   0% 12 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDataIdsGovernorExceptions.do_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDimensionRecordsOrderBy   0% 23 23 0   0% 10 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDimensionRecordsOrderBy.do_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDimensionRecordsOrderBy.do_test   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testQueryDimensionRecordsExceptions   0% 16 16 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDatasetConstrainedDimensionRecordQueries   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testSkyPixDatasetQueries   0% 14 14 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testDatasetIdFactory   0% 15 15 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.testExposureQueries   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_long_query_names   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_skypix_constraint_queries   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_spatial_constraint_queries   0% 19 19 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_query_empty_collections   0% 31 31 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_dataset_followup_spatial_joins   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_expanded_data_id_queries   0% 38 38 0   100% 0 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_collection_summary   0% 30 30 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py RegistryTests.test_temp_table_config   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / registry / tests / _registry.py (no function)   98% 116 2 0   100% 0 0   98%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager._managerConfigKey   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager._managerVersionKey   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager._manager_data   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager.checkCompatibility   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager.storeManagersConfig   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager._attributesEmpty   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager.checkManagersConfig   0% 18 18 0   0% 10 0   0%
python / lsst / daf / butler / registry / versions.py ButlerVersionsManager.managerVersions   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / registry / versions.py (no function)   100% 28 0 2   100% 0 0   100%
python / lsst / daf / butler / registry / wildcards.py CategorizedWildcard.fromExpression   0% 38 38 0   0% 28 0   0%
python / lsst / daf / butler / registry / wildcards.py CategorizedWildcard.fromExpression.process   0% 48 48 0   0% 22 0   0%
python / lsst / daf / butler / registry / wildcards.py CollectionWildcard.__post_init__   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / registry / wildcards.py CollectionWildcard.from_expression   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / registry / wildcards.py CollectionWildcard.from_names   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / wildcards.py CollectionWildcard.require_ordered   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / registry / wildcards.py CollectionWildcard.empty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / registry / wildcards.py CollectionWildcard.__str__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / wildcards.py DatasetTypeWildcard.from_expression   0% 19 19 0   0% 14 0   0%
python / lsst / daf / butler / registry / wildcards.py DatasetTypeWildcard.__str__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / registry / wildcards.py (no function)   100% 46 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / __init__.py (no function)   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _collection_args.py convert_collection_arg_to_glob_string_list   0% 13 13 0   0% 12 0   0%
python / lsst / daf / butler / remote_butler / _collection_args.py convert_dataset_type_arg_to_glob_string_list   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / remote_butler / _collection_args.py (no function)   0% 16 16 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _config.py (no function)   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _defaults.py DefaultsHolder.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _defaults.py DefaultsHolder.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _defaults.py DefaultsHolder.set   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _defaults.py (no function)   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _errors.py serialize_butler_user_error   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _errors.py deserialize_butler_user_error   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _errors.py (no function)   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _factory.py RemoteButlerFactory.__init__   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _factory.py RemoteButlerFactory.create_factory_from_config   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _factory.py RemoteButlerFactory.create_factory_for_url   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _factory.py RemoteButlerFactory._create_butler   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _factory.py RemoteButlerFactory.create_butler_for_access_token   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _factory.py RemoteButlerFactory.create_butler_with_credentials_from_environment   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _factory.py (no function)   0% 22 22 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _get.py get_dataset_as_python_object   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _get.py convert_http_url_to_resource_path   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _get.py _to_dataset_location_information   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _get.py (no function)   0% 14 14 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection.post   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection.post_with_stream_response   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection._build_post_request   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection.get   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection._get_url   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection._build_request   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection._send_request   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection._send_request_with_stream_response   0% 10 10 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection._send_with_retries   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py RemoteButlerHttpConnection._handle_http_status   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py _needs_retry   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py parse_model   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py _try_to_parse_model   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py ButlerServerError.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py quote_path_variable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _http_connection.py (no function)   0% 46 46 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.__init__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.__exit__   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.universe   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.execute   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.execute   0% 1 1 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.execute   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.materialize   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.upload_data_coordinates   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.count   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.any   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.explain_no_results   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.get_default_collections   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver.get_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py RemoteQueryDriver._create_query_input   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py _convert_query_result_page   0% 11 11 1   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py _convert_general_result   0% 14 14 0   0% 8 0   0%
python / lsst / daf / butler / remote_butler / _query_driver.py (no function)   0% 41 41 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _query_results.py read_query_results   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _query_results.py convert_dataset_ref_results   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_results.py _received_keep_alive   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _query_results.py (no function)   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _ref_utils.py apply_storage_class_override   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _ref_utils.py normalize_dataset_type_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _ref_utils.py simplify_dataId   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _ref_utils.py _extract_dataset_type   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _ref_utils.py (no function)   0% 13 13 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.defaults   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.refresh   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.refresh_collection_summaries   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.caching_context   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.transaction   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.registerCollection   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getCollectionType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.registerRun   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.removeCollection   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getCollectionChain   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.setCollectionChain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getCollectionParentChains   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getCollectionDocumentation   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.setCollectionDocumentation   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getCollectionSummary   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.registerDatasetType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.removeDatasetType   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.supportsIdGenerationMode   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.findDataset   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.insertDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry._importDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getDataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry._fetch_run_dataset_ids   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.removeDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.associate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.disassociate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.certify   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.decertify   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.getDatasetLocations   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.expandDataId   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.insertDimensionData   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.syncDimensionData   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.queryDatasetTypes   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.queryCollections   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py RemoteButlerRegistry.storageClasses   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _registry.py _is_component_dataset_type   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _registry.py (no function)   0% 66 66 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.__new__   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.collection_chains   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.collections   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.dimensions   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._cache_manager   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._caching_context   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.transaction   100% 0 0 2   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.put   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.getDeferred   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.get   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._get_dataset_as_python_object   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._get_file_info   0% 7 7 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._get_file_info_for_ref   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.getURIs   0% 12 12 1   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.get_dataset_type   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.get_dataset   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.get_many_datasets   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.find_dataset   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._retrieve_artifacts   0% 32 32 0   0% 16 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.retrieve_artifacts_zip   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.retrieveArtifacts   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.exists   0% 14 14 0   0% 10 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._exists_many   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.removeRuns   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.ingest   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.ingest_zip   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.export   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.import_   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.transfer_dimension_records_from   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.transfer_from   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.validateConfiguration   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.run   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.registry   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.query   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._query_all_datasets_by_page   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.pruneDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._normalize_collections   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.clone   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.close   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._expand_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._file_transfer_source   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButler._serialize_default_data_id   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py _to_file_payload   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py _to_uuid_string   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py _RemoteButlerCacheData.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py RemoteButlerCache.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler.py (no function)   0% 109 109 7   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.extend_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.prepend_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.redefine_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.remove_from_chain   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.query_info   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.get_info   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.register   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py RemoteButlerCollections.x_remove   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / remote_butler / _remote_butler_collections.py (no function)   0% 25 25 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py RemoteFileTransferSource.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py RemoteFileTransferSource.get_file_info_for_transfer   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py RemoteFileTransferSource.locate_missing_files_for_transfer   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py RemoteFileTransferSource._deserialize_file_transfer_record   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py _tweak_uri_for_unit_test   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py mock_file_transfer_uris_for_unit_test   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / _remote_file_transfer_source.py (no function)   0% 23 23 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / authentication / cadc.py CadcAuthenticationProvider.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / cadc.py CadcAuthenticationProvider.create_from_environment   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / authentication / cadc.py CadcAuthenticationProvider.get_server_headers   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / cadc.py CadcAuthenticationProvider.get_datastore_headers   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / cadc.py _get_authentication_token_from_environment   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / authentication / cadc.py (no function)   0% 14 14 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / interface.py RemoteButlerAuthenticationProvider.get_server_headers   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / authentication / interface.py RemoteButlerAuthenticationProvider.get_datastore_headers   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / authentication / interface.py (no function)   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py RubinAuthenticationProvider.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py RubinAuthenticationProvider.create_from_environment   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py RubinAuthenticationProvider.get_server_headers   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py RubinAuthenticationProvider.get_datastore_headers   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py _get_authentication_token_from_environment   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / authentication / rubin.py (no function)   0% 15 15 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / registry / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / remote_butler / server / __init__.py (no function)   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _config.py ButlerServerConfig.gafaelfawr_enabled   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _config.py load_config   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _config.py mock_config   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _config.py (no function)   0% 29 29 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py butler_factory_dependency   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py authorizer_dependency   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py user_name_dependency   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py repository_authorization_dependency   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py logger_dependency   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py factory_dependency   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py reset_dependency_caches   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _dependencies.py (no function)   0% 18 18 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _factory.py Factory.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _factory.py Factory.create_butler   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _factory.py Factory.repository   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _factory.py (no function)   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py GafaelfawrClient.__init__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py GafaelfawrClient.get_groups   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py GafaelfawrGroupAuthorizer.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py GafaelfawrGroupAuthorizer.is_user_authorized_for_repository   0% 12 12 0   0% 8 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py MockGafaelfawrGroupAuthorizer.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py MockGafaelfawrGroupAuthorizer.set_response   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py MockGafaelfawrGroupAuthorizer.is_user_authorized_for_repository   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _gafaelfawr.py (no function)   0% 20 20 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _server.py create_app   0% 18 18 0   0% 6 0   0%
python / lsst / daf / butler / remote_butler / server / _server.py create_app._log_exceptions_middleware   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _server.py create_app.butler_exception_handler   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _server.py (no function)   0% 20 20 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py TelemetryContext.span   0% 1 1 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py NullTelemetryContext.span   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py SentryTelemetryContext.span   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py enable_telemetry   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py get_telemetry_context   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py _decide_whether_to_sample_trace   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / remote_butler / server / _telemetry.py (no function)   0% 20 20 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server_models.py DatasetRefResultModel.from_refs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / remote_butler / server_models.py (no function)   0% 183 183 0   100% 0 0   0%
python / lsst / daf / butler / repo_relocation.py replaceRoot   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / repo_relocation.py (no function)   100% 7 0 0   100% 0 0   100%
python / lsst / daf / butler / script / __init__.py (no function)   100% 22 0 0   100% 0 0   100%
python / lsst / daf / butler / script / _associate.py associate   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / script / _associate.py (no function)   100% 7 0 0   100% 0 0   100%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.__init__   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.dryRun   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.confirm   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.finished   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.errPurgeAndDisassociate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.errNoCollectionRestriction   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.errPruneOnNotRun   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py PruneDatasetsResult.errNoOp   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py pruneDatasets   0% 32 32 0   0% 20 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py pruneDatasets.doPruneDatasets   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / script / _pruneDatasets.py (no function)   100% 37 0 2   100% 0 0   100%
python / lsst / daf / butler / script / butlerImport.py butlerImport   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / script / butlerImport.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / script / certifyCalibrations.py certifyCalibrations   0% 14 14 0   0% 6 0   0%
python / lsst / daf / butler / script / certifyCalibrations.py (no function)   100% 6 0 0   100% 0 0   100%
python / lsst / daf / butler / script / collectionChain.py collectionChain   0% 17 17 0   0% 10 0   0%
python / lsst / daf / butler / script / collectionChain.py _modify_collection_chain   0% 12 12 0   0% 10 0   0%
python / lsst / daf / butler / script / collectionChain.py _find_children_to_pop   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / script / collectionChain.py _find_children_to_pop.convert_index   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / script / collectionChain.py (no function)   100% 8 0 0   100% 0 0   100%
python / lsst / daf / butler / script / configDump.py configDump   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / script / configDump.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / script / configValidate.py configValidate   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / script / configValidate.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / script / createRepo.py createRepo   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / script / createRepo.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / script / exportCalibs.py find_calibration_datasets   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / script / exportCalibs.py exportCalibs   0% 31 31 0   0% 10 0   0%
python / lsst / daf / butler / script / exportCalibs.py (no function)   100% 13 0 2   100% 0 0   100%
python / lsst / daf / butler / script / ingest_files.py ingest_files   0% 15 15 0   0% 4 0   0%
python / lsst / daf / butler / script / ingest_files.py extract_datasets_from_table   0% 14 14 0   0% 2 0   0%
python / lsst / daf / butler / script / ingest_files.py parse_data_id_tuple   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / script / ingest_files.py (no function)   100% 15 0 3   100% 0 0   100%
python / lsst / daf / butler / script / ingest_zip.py ingest_zip   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / script / ingest_zip.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / script / queryCollections.py _parseDatasetTypes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / queryCollections.py _getTable   0% 21 21 0   0% 14 0   0%
python / lsst / daf / butler / script / queryCollections.py _getTable.addDatasetTypes   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / script / queryCollections.py _getTable.addCollection   0% 22 22 0   0% 14 0   0%
python / lsst / daf / butler / script / queryCollections.py _getTree   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / script / queryCollections.py _getTree.addCollection   0% 21 21 0   0% 16 0   0%
python / lsst / daf / butler / script / queryCollections.py _getList   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / script / queryCollections.py _getList.addCollection   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / script / queryCollections.py queryCollections   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / script / queryCollections.py (no function)   100% 13 0 0   100% 0 0   100%
python / lsst / daf / butler / script / queryDataIds.py _Table.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / queryDataIds.py _Table.__len__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / queryDataIds.py _Table.pop_last   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / script / queryDataIds.py _Table.getAstropyTable   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / script / queryDataIds.py queryDataIds   0% 52 52 1   0% 34 0   0%
python / lsst / daf / butler / script / queryDataIds.py (no function)   100% 16 0 2   100% 0 0   100%
python / lsst / daf / butler / script / queryDatasetTypes.py queryDatasetTypes   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / script / queryDatasetTypes.py (no function)   100% 6 0 0   100% 0 0   100%
python / lsst / daf / butler / script / queryDatasets.py _Table.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / script / queryDatasets.py _Table.add   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / script / queryDatasets.py _Table.getAstropyTable   0% 20 20 0   0% 10 0   0%
python / lsst / daf / butler / script / queryDatasets.py QueryDatasets.__init__   0% 19 19 1   0% 4 0   0%
python / lsst / daf / butler / script / queryDatasets.py QueryDatasets.getTables   0% 22 22 0   0% 20 0   0%
python / lsst / daf / butler / script / queryDatasets.py QueryDatasets.getDatasets   0% 28 28 0   0% 12 0   0%
python / lsst / daf / butler / script / queryDatasets.py QueryDatasets._query_multiple_dataset_types   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / script / queryDatasets.py QueryDatasets._query_single_dataset_type   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / script / queryDatasets.py (no function)   100% 29 0 3   100% 0 0   100%
python / lsst / daf / butler / script / queryDimensionRecords.py queryDimensionRecords   0% 36 36 1   0% 20 0   0%
python / lsst / daf / butler / script / queryDimensionRecords.py queryDimensionRecords.conform   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / script / queryDimensionRecords.py (no function)   100% 10 0 0   100% 0 0   100%
python / lsst / daf / butler / script / register_dataset_type.py register_dataset_type   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / script / register_dataset_type.py (no function)   100% 5 0 0   100% 0 0   100%
python / lsst / daf / butler / script / removeCollections.py _getCollectionInfo   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / script / removeCollections.py removeCollections   0% 11 11 0   0% 4 0   0%
python / lsst / daf / butler / script / removeCollections.py removeCollections._doRemove   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / script / removeCollections.py (no function)   100% 23 0 0   100% 0 0   100%
python / lsst / daf / butler / script / removeDatasetType.py removeDatasetType   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / script / removeDatasetType.py (no function)   100% 4 0 0   100% 0 0   100%
python / lsst / daf / butler / script / removeRuns.py _getCollectionInfo   0% 19 19 0   0% 6 0   0%
python / lsst / daf / butler / script / removeRuns.py removeRuns   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / script / removeRuns.py removeRuns._doRemove   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / script / removeRuns.py (no function)   100% 20 0 0   100% 0 0   100%
python / lsst / daf / butler / script / retrieveArtifacts.py retrieveArtifacts   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / script / retrieveArtifacts.py (no function)   100% 9 0 2   100% 0 0   100%
python / lsst / daf / butler / script / transferDatasets.py transferDatasets   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / script / transferDatasets.py (no function)   100% 8 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / __init__.py (no function)   100% 6 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / _datasetsHelper.py DatasetTestHelper.makeDatasetRef   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py DatasetTestHelper._makeDatasetRef   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py DatastoreTestHelper.setUpDatastoreTests   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py DatastoreTestHelper.makeDatastore   0% 8 8 0   0% 4 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py BadWriteFormatter.read_from_uri   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py BadWriteFormatter.write_direct   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py BadNoWriteFormatter.write_direct   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py MultiDetectorFormatter.read_from_uri   0% 9 9 0   0% 6 0   0%
python / lsst / daf / butler / tests / _datasetsHelper.py (no function)   100% 30 0 3   100% 0 0   100%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage.insert   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage.replace   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage.ensure   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage._insert   0% 21 21 0   0% 16 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage.fetch   0% 17 17 0   0% 16 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorage.delete   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorageManager.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorageManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorageManager.initialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorageManager.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorageManager.register   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyOpaqueTableStorageManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager.clone   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager.initialize   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager.refresh   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager.register   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager.findDatastores   0% 3 3 0   0% 4 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyDatastoreRegistryBridgeManager.currentVersions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyRegistry.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py DummyRegistry.getDatastoreBridgeManager   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _dummyRegistry.py (no function)   100% 38 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / _examplePythonTypes.py registerMetricsExample   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py _addFullStorageClass   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py _getAllFormatterRegistries   0% 12 12 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample.__eq__   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample.__str__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample.__repr__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample.exportAsDict   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample._asdict   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample.makeFromDict   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExample.from_model   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsExampleModel.from_metrics   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py ListDelegate.handleParameters   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsDelegate.handleParameters   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsDelegate.getComponent   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py MetricsDelegate.selectResponsibleComponent   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / _examplePythonTypes.py (no function)   100% 44 0 2   100% 0 0   100%
python / lsst / daf / butler / tests / _testRepo.py makeTestRepo   0% 15 15 0   0% 8 0   0%
python / lsst / daf / butler / tests / _testRepo.py makeTestCollection   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / tests / _testRepo.py _makeRecords   0% 20 20 0   0% 18 0   0%
python / lsst / daf / butler / tests / _testRepo.py _fillAllKeys   0% 14 14 0   0% 8 0   0%
python / lsst / daf / butler / tests / _testRepo.py _makeRandomDataIdValue   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / tests / _testRepo.py expandUniqueId   0% 7 7 0   0% 2 0   0%
python / lsst / daf / butler / tests / _testRepo.py _findOrInventDataIdValue   0% 8 8 0   0% 2 0   0%
python / lsst / daf / butler / tests / _testRepo.py _makeDimensionRecordDict   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / tests / _testRepo.py addDataIdValue   0% 31 31 0   0% 16 0   0%
python / lsst / daf / butler / tests / _testRepo.py addDatasetType   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / tests / _testRepo.py DatastoreMock.apply   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / _testRepo.py DatastoreMock._mock_export   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / tests / _testRepo.py DatastoreMock._mock_get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / _testRepo.py (no function)   100% 25 0 2   100% 0 0   100%
python / lsst / daf / butler / tests / butler_queries.py make_detector_tuples   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.make_butler   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.load_data   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.check_detector_records   0% 20 20 0   0% 4 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.check_detector_records_returned   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_simple_record_query   0% 22 22 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_simple_data_coordinate_query   0% 22 22 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_simple_dataset_query   0% 44 44 0   0% 4 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_general_query   0% 82 82 0   0% 4 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_query_ingest_date   0% 20 20 0   0% 2 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_implied_union_record_query   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_dataset_constrained_record_query   0% 18 18 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_duplicate_overlaps   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_spatial_overlaps   0% 50 50 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_spatial_overlaps._check_visit_id   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_auto_spatial_joins   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_common_skypix_overlaps   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_spatial_constraint_queries   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_data_coordinate_upload   0% 9 9 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_data_coordinate_upload_force_temp_table   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_materialization   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_materialization_find_first   0% 16 16 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_materialization_no_results   0% 16 16 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_timespan_results   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_direct_driver_paging   0% 12 12 0   0% 4 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_column_expressions   0% 35 35 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_boolean_columns   0% 40 40 0   0% 4 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_boolean_columns._run_registry_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_boolean_columns._run_simple_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_boolean_columns._run_query   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_boolean_columns.do_query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_dataset_region_queries   0% 24 24 0   0% 4 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_dataset_time_queries   0% 14 14 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_calibration_join_queries   0% 51 51 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_collection_query_info   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_dataset_queries   0% 22 22 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_multiple_instrument_queries   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_default_data_id   0% 30 30 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_unusual_column_literals   0% 12 12 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_query_all_datasets   0% 58 58 0   0% 2 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_irrelevant_governor_constraints   0% 14 14 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_inferred_primary_key   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_glob_expression   0% 13 13 0   0% 2 0   0%
python / lsst / daf / butler / tests / butler_queries.py ButlerQueryTests.test_dataset_id_queries   0% 11 11 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py _get_exposure_ids_from_dimension_records   0% 6 6 0   0% 2 0   0%
python / lsst / daf / butler / tests / butler_queries.py _ref_uuids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / butler_queries.py (no function)   100% 68 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.defaultExpected   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.command   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.cli   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.mock   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.mockFuncName   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.setUp   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.makeExpected   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.run_command   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.run_test   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.run_missing   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py CliCmdTestBase.test_help   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliCmdTestBase.py (no function)   100% 31 0 8   100% 0 0   100%
python / lsst / daf / butler / tests / cliLogTestBase.py butlerCli   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py command_log_settings_test   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.setUp   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.PythonLogger.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.LsstLogger.__init__   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.runTest   0% 17 17 0   0% 2 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.test_butlerCliLog   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase._test_levels   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.test_helpLogReset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.testLongLog   0% 17 17 0   0% 6 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.testFileLogging   0% 20 20 0   0% 4 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py CliLogTestBase.testLogTty   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / tests / cliLogTestBase.py (no function)   92% 59 5 10   100% 0 0   92%
python / lsst / daf / butler / tests / deferredFormatter.py DeferredFormatter.read   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / deferredFormatter.py DeferredFormatter.write   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / deferredFormatter.py (no function)   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / tests / dict_convertible_model.py DictConvertibleModel.from_dict   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / dict_convertible_model.py DictConvertibleModel.to_dict   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / dict_convertible_model.py (no function)   100% 12 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.__new__   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler._caching_context   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.transaction   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.record_metrics   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.put   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.getDeferred   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.get   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.getURIs   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.getURI   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.get_dataset_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.get_dataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.get_many_datasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.find_dataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.retrieve_artifacts_zip   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.retrieveArtifacts   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.exists   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler._exists_many   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.removeRuns   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.ingest_zip   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.ingest   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.export   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.import_   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.transfer_dimension_records_from   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.transfer_from   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.validateConfiguration   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.run   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.registry   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.query   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.clone   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.pruneDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler._extract_all_dimension_records_from_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler._expand_data_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.collection_chains   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.collections   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler._query_all_datasets_by_page   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler._file_transfer_source   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py HybridButler.close   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler.py (no function)   0% 78 78 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.__init__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.extend_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.prepend_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.redefine_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.remove_from_chain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.query_info   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.get_info   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.register   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py HybridButlerCollections.x_remove   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_collections.py (no function)   0% 18 18 3   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.isWriteable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.dimensions   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.defaults   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.defaults   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.refresh   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.refresh_collection_summaries   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.caching_context   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.transaction   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.registerCollection   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getCollectionType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.registerRun   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.removeCollection   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getCollectionChain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.setCollectionChain   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getCollectionParentChains   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getCollectionDocumentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.setCollectionDocumentation   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getCollectionSummary   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.registerDatasetType   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.removeDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getDatasetType   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.supportsIdGenerationMode   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.findDataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.insertDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry._importDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getDataset   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry._fetch_run_dataset_ids   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.removeDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.associate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.disassociate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.certify   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.decertify   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.getDatasetLocations   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.expandDataId   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.insertDimensionData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.syncDimensionData   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.queryDatasetTypes   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.queryCollections   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.queryDatasets   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.queryDataIds   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.queryDimensionRecords   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.queryDatasetAssociations   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.storageClasses   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / hybrid_butler_registry.py HybridButlerRegistry.storageClasses   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / hybrid_butler_registry.py (no function)   0% 67 67 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py setup_postgres_test_db   0% 10 10 0   0% 2 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance.url   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance.begin   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance.patch_butler_config   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance.patch_registry_config   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance.generate_namespace_name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py TemporaryPostgresInstance.server_major_version   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / postgresql.py (no function)   100% 25 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / registry_data / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / tests / registry_data / spatial.py main   0% 14 14 0   0% 4 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py make_plots   0% 39 39 0   0% 20 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py write_yaml   0% 42 42 0   0% 10 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py lonlat_tuple   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py make_tangent_wcs   0% 6 6 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py project_polygon_center   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py project_polygon_vertices   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py plot_pixels   0% 6 6 0   0% 4 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py plot_hull   0% 10 10 0   0% 4 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py polygons   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py polygons.func   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py index_labels   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py index_labels.func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py labels   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py labels.func   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py flatten_ranges   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / tests / registry_data / spatial.py (no function)   0% 34 34 2   100% 0 0   0%
python / lsst / daf / butler / tests / server.py create_test_server   0% 30 30 0   0% 10 0   0%
python / lsst / daf / butler / tests / server.py _make_remote_butler   0% 7 7 0   100% 0 0   0%
python / lsst / daf / butler / tests / server.py _add_root_exception_handler   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / server.py _add_root_exception_handler.convert_exception_types   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / server.py (no function)   0% 48 48 0   100% 0 0   0%
python / lsst / daf / butler / tests / server_available.py (no function)   76% 17 4 0   50% 2 1   74%
python / lsst / daf / butler / tests / server_utils.py add_auth_header_check_middleware   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / server_utils.py add_auth_header_check_middleware.check_auth_headers   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / tests / server_utils.py _is_authenticated_endpoint   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / tests / server_utils.py (no function)   0% 5 5 0   100% 0 0   0%
python / lsst / daf / butler / tests / testFormatters.py DoNothingFormatter.read   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / testFormatters.py DoNothingFormatter.write   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / testFormatters.py FormatterTest.read   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / testFormatters.py FormatterTest.write   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / tests / testFormatters.py FormatterTest.validate_write_recipes   0% 6 6 0   0% 6 0   0%
python / lsst / daf / butler / tests / testFormatters.py LenientYamlFormatter.validate_extension   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleFormatter.read_from_stream   0% 21 21 0   0% 16 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleFormatter.to_bytes   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleDataFormatter.read   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleDataFormatter.write   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / testFormatters.py MetricsExampleModelProvenanceFormatter.add_provenance   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / testFormatters.py (no function)   100% 41 0 3   100% 0 0   100%
python / lsst / daf / butler / tests / utils.py makeTestTempDir   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / utils.py removeTestTempDir   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / tests / utils.py safeTestTempDir   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / utils.py create_populated_sqlite_registry   0% 9 9 0   0% 4 0   0%
python / lsst / daf / butler / tests / utils.py ButlerTestHelper.assertAstropyTablesEqual   0% 23 23 0   0% 10 0   0%
python / lsst / daf / butler / tests / utils.py readTable   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / utils.py MetricTestRepo._makeExampleMetrics   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / tests / utils.py MetricTestRepo.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / utils.py MetricTestRepo.create_from_butler   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / tests / utils.py MetricTestRepo._do_init   0% 17 17 0   0% 2 0   0%
python / lsst / daf / butler / tests / utils.py MetricTestRepo.addDataset   0% 5 5 0   0% 2 0   0%
python / lsst / daf / butler / tests / utils.py mock_env   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / tests / utils.py (no function)   100% 47 0 7   100% 0 0   100%
python / lsst / daf / butler / time_utils.py _FastTimeUnixTai._check_val_type   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / time_utils.py _FastTimeUnixTai.set_jds   0% 13 13 0   0% 4 0   0%
python / lsst / daf / butler / time_utils.py TimeConverter.__init__   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / time_utils.py TimeConverter.astropy_to_nsec   0% 15 15 0   0% 6 0   0%
python / lsst / daf / butler / time_utils.py TimeConverter.nsec_to_astropy   0% 4 4 0   100% 0 0   0%
python / lsst / daf / butler / time_utils.py TimeConverter.times_equal   0% 9 9 0   0% 2 0   0%
python / lsst / daf / butler / time_utils.py _AstropyTimeToYAML.to_yaml   0% 4 4 0   0% 2 0   0%
python / lsst / daf / butler / time_utils.py _AstropyTimeToYAML.from_yaml   0% 2 2 0   0% 2 0   0%
python / lsst / daf / butler / time_utils.py (no function)   95% 43 2 0   100% 0 0   95%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.makeFieldSpecs   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.getFieldNames   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.fromLiteral   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.from_columns   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.update   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.extract   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.hasExclusionConstraint   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.name   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.isNull   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.flatten   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.isEmpty   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.__lt__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.__gt__   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.overlaps   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.contains   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.lower   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.upper   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py TimespanDatabaseRepresentation.apply_any_aggregate   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.makeFieldSpecs   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.getFieldNames   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.update   0% 12 12 0   0% 6 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.extract   0% 11 11 0   0% 8 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.from_columns   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.fromLiteral   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.name   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.isNull   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.isEmpty   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.__lt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.__gt__   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.overlaps   0% 5 5 0   0% 4 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.contains   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.lower   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.upper   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.flatten   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation.apply_any_aggregate   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py _CompoundTimespanDatabaseRepresentation._is_null_literal   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / timespan_database_representation.py (no function)   98% 91 2 2   100% 0 0   98%
python / lsst / daf / butler / transfers / __init__.py (no function)   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / transfers / _context.py RepoExportContext.__init__   0% 8 8 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _context.py RepoExportContext.saveCollection   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _context.py RepoExportContext.saveDimensionData   0% 8 8 0   0% 8 0   0%
python / lsst / daf / butler / transfers / _context.py RepoExportContext.saveDataIds   0% 13 13 0   0% 14 0   0%
python / lsst / daf / butler / transfers / _context.py RepoExportContext.saveDatasets   0% 19 19 0   0% 12 0   0%
python / lsst / daf / butler / transfers / _context.py RepoExportContext._finish   0% 17 17 0   0% 14 0   0%
python / lsst / daf / butler / transfers / _context.py RepoExportContext._computeSortedCollections   0% 16 16 0   0% 10 0   0%
python / lsst / daf / butler / transfers / _context.py RepoExportContext._computeDatasetAssociations   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / transfers / _context.py (no function)   100% 21 0 4   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoExportBackend.saveDimensionData   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoExportBackend.saveCollection   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoExportBackend.saveDatasets   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoExportBackend.saveDatasetAssociations   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoExportBackend.finish   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoImportBackend.register   100% 0 0 0   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py RepoImportBackend.load   100% 0 0 1   100% 0 0   100%
python / lsst / daf / butler / transfers / _interfaces.py (no function)   100% 32 0 2   100% 0 0   100%
python / lsst / daf / butler / transfers / _yaml.py _RefMapper.__missing__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py _uuid_representer   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py _uuid_constructor   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoExportBackend.__init__   0% 3 3 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoExportBackend.saveDimensionData   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoExportBackend.saveCollection   0% 10 10 0   0% 6 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoExportBackend.saveDatasets   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoExportBackend.saveDatasetAssociations   0% 8 8 0   0% 6 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoExportBackend.finish   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py _DayObsOffsetCalculator.__init__   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py _DayObsOffsetCalculator.__setitem__   0% 1 1 0   100% 0 0   0%
python / lsst / daf / butler / transfers / _yaml.py _DayObsOffsetCalculator.get_offset   0% 16 16 0   0% 4 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoImportBackend.__init__   0% 151 151 0   0% 112 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoImportBackend.register   0% 9 9 0   0% 8 0   0%
python / lsst / daf / butler / transfers / _yaml.py YamlRepoImportBackend.load   0% 31 31 0   0% 22 0   0%
python / lsst / daf / butler / transfers / _yaml.py (no function)   100% 55 0 3   100% 0 0   100%
python / lsst / daf / butler / utils.py transactional   100% 3 0 0   100% 0 0   100%
python / lsst / daf / butler / utils.py transactional.inner   0% 2 2 0   100% 0 0   0%
python / lsst / daf / butler / utils.py stripIfNotNone   0% 3 3 0   0% 2 0   0%
python / lsst / daf / butler / utils.py globToRegex   0% 13 13 0   0% 8 0   0%
python / lsst / daf / butler / utils.py has_globs   0% 7 7 0   0% 6 0   0%
python / lsst / daf / butler / utils.py (no function)   100% 20 0 0   100% 0 0   100%
python / lsst / daf / butler / version.py (no function)   100% 5 0 0   100% 0 0   100%
tests / test_astropyTableFormatter.py AstropyTableFormatterTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests / test_astropyTableFormatter.py AstropyTableFormatterTestCase.tearDown   0% 2 2 0   100% 0 0   0%
tests / test_astropyTableFormatter.py AstropyTableFormatterTestCase.testAstropyTableFormatter   0% 9 9 0   100% 0 0   0%
tests / test_astropyTableFormatter.py (no function)   100% 11 0 2   100% 0 0   100%
tests / test_authentication.py TestButlerClientAuthentication.test_explicit_butler_token   0% 3 3 0   100% 0 0   0%
tests / test_authentication.py TestButlerClientAuthentication.test_jupyter_token_with_safe_server   0% 3 3 0   100% 0 0   0%
tests / test_authentication.py TestButlerClientAuthentication.test_jupyter_token_with_unsafe_server   0% 3 3 0   100% 0 0   0%
tests / test_authentication.py TestButlerClientAuthentication.test_missing_token   0% 3 3 0   100% 0 0   0%
tests / test_authentication.py TestButlerClientAuthentication.test_header_generation   0% 3 3 0   100% 0 0   0%
tests / test_authentication.py TestButlerClientAuthentication.test_cadc_auth   0% 6 6 0   100% 0 0   0%
tests / test_authentication.py (no function)   86% 14 2 0   50% 2 1   81%
tests / test_butler.py clean_environment   0% 2 2 0   0% 2 0   0%
tests / test_butler.py makeExampleMetrics   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerConfigTests.testSearchPath   0% 11 11 0   100% 0 0   0%
tests / test_butler.py ButlerPutGetTests.addDatasetType   0% 3 3 0   100% 0 0   0%
tests / test_butler.py ButlerPutGetTests.setUpClass   0% 3 3 0   0% 2 0   0%
tests / test_butler.py ButlerPutGetTests.assertGetComponents   0% 9 9 0   0% 2 0   0%
tests / test_butler.py ButlerPutGetTests.tearDown   0% 2 2 0   0% 2 0   0%
tests / test_butler.py ButlerPutGetTests.create_empty_butler   0% 5 5 0   0% 2 0   0%
tests / test_butler.py ButlerPutGetTests.create_butler   0% 15 15 0   0% 2 0   0%
tests / test_butler.py ButlerPutGetTests.runPutGetTest   0% 141 141 0   0% 24 0   0%
tests / test_butler.py ButlerPutGetTests.testDeferredCollectionPassing   0% 26 26 0   100% 0 0   0%
tests / test_butler.py ButlerTests.setUp   0% 3 3 0   100% 0 0   0%
tests / test_butler.py ButlerTests.are_uris_equivalent   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testConstructor   0% 81 81 0   0% 8 0   0%
tests / test_butler.py ButlerTests.testClose   0% 13 13 0   0% 6 0   0%
tests / test_butler.py ButlerTests.testGarbageCollection   0% 22 22 0   0% 8 0   0%
tests / test_butler.py ButlerTests.testDafButlerRepositories   0% 8 8 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testBasicPutGet   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testCompositePutGetConcrete   0% 20 20 0   0% 2 0   0%
tests / test_butler.py ButlerTests.testCompositePutGetVirtual   0% 30 30 0   0% 10 0   0%
tests / test_butler.py ButlerTests.testStorageClassOverrideGet   0% 29 29 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testPytypePutCoercion   0% 21 21 0   100% 0 0   0%
tests / test_butler.py ButlerTests.test_ingest_zip   0% 38 38 0   0% 2 0   0%
tests / test_butler.py ButlerTests.testIngest   0% 84 84 0   0% 14 0   0%
tests / test_butler.py ButlerTests.testPickle   0% 8 8 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testGetDatasetTypes   0% 28 28 0   0% 10 0   0%
tests / test_butler.py ButlerTests.testTransaction   0% 27 27 0   0% 2 0   0%
tests / test_butler.py ButlerTests.testMakeRepo   0% 28 28 0   0% 2 0   0%
tests / test_butler.py ButlerTests.testStringification   0% 12 12 0   0% 10 0   0%
tests / test_butler.py ButlerTests.testButlerRewriteDataId   0% 27 27 0   0% 6 0   0%
tests / test_butler.py ButlerTests.testGetDatasetCollectionCaching   0% 8 8 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testCollectionChainRedefine   0% 8 8 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testCollectionChainPrepend   0% 10 10 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testCollectionChainExtend   0% 10 10 0   100% 0 0   0%
tests / test_butler.py ButlerTests.testCollectionChainRemove   0% 11 11 0   100% 0 0   0%
tests / test_butler.py ButlerTests._setup_to_test_collection_chain   0% 8 8 0   0% 2 0   0%
tests / test_butler.py ButlerTests._check_chain   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ButlerTests._test_common_chain_functionality   0% 15 15 0   0% 2 0   0%
tests / test_butler.py ButlerTests.test_transfer_dimension_records_from   0% 48 48 0   100% 0 0   0%
tests / test_butler.py ButlerTests.test_transfer_dimension_records_from._fetch_record   0% 3 3 0   100% 0 0   0%
tests / test_butler.py FileDatastoreButlerTests.checkFileExists   0% 2 2 0   100% 0 0   0%
tests / test_butler.py FileDatastoreButlerTests.testPutTemplates   0% 36 36 0   0% 4 0   0%
tests / test_butler.py FileDatastoreButlerTests.testImportExport   0% 2 2 0   100% 0 0   0%
tests / test_butler.py FileDatastoreButlerTests.testImportExportVirtualComposite   0% 2 2 0   100% 0 0   0%
tests / test_butler.py FileDatastoreButlerTests.runImportExportTest   0% 29 29 0   0% 2 0   0%
tests / test_butler.py FileDatastoreButlerTests.testRemoveRuns   0% 35 35 0   100% 0 0   0%
tests / test_butler.py FileDatastoreButlerTests.remove_dataset_out_of_band   0% 4 4 0   100% 0 0   0%
tests / test_butler.py FileDatastoreButlerTests.testPruneDatasets   0% 112 112 0   0% 20 0   0%
tests / test_butler.py FileDatastoreButlerTests.test_butler_metrics   0% 26 26 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreButlerTestCase.testPathConstructor   0% 12 12 0   0% 2 0   0%
tests / test_butler.py PosixDatastoreButlerTestCase.testExportTransferCopy   0% 18 18 0   0% 6 0   0%
tests / test_butler.py PosixDatastoreButlerTestCase.testPytypeCoercion   0% 26 26 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreButlerTestCase.test_provenance   0% 35 35 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreButlerTestCase.test_specialized_file_datasets_functions   0% 46 46 0   0% 6 0   0%
tests / test_butler.py PosixDatastoreButlerTestCase.test_temporary_for_ingest   0% 12 12 0   100% 0 0   0%
tests / test_butler.py PostgresPosixDatastoreButlerTestCase.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_butler.py PostgresPosixDatastoreButlerTestCase.setUp   0% 8 8 0   100% 0 0   0%
tests / test_butler.py PostgresPosixDatastoreButlerTestCase.tearDown   0% 3 3 0   0% 2 0   0%
tests / test_butler.py PostgresPosixDatastoreButlerTestCase.testMakeRepo   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ClonedPostgresPosixDatastoreButlerTestCase.create_butler   0% 2 2 0   100% 0 0   0%
tests / test_butler.py InMemoryDatastoreButlerTestCase.testIngest   0% 1 1 0   100% 0 0   0%
tests / test_butler.py InMemoryDatastoreButlerTestCase.test_ingest_zip   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ClonedSqliteButlerTestCase.create_butler   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ChainedDatastoreButlerTestCase.testPruneDatasets   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerExplicitRootTestCase.setUp   0% 12 12 0   100% 0 0   0%
tests / test_butler.py ButlerExplicitRootTestCase.testFileLocations   0% 4 4 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileTestCase.tearDown   0% 3 3 0   0% 2 0   0%
tests / test_butler.py ButlerMakeRepoOutfileTestCase.testConfigExistence   0% 5 5 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileTestCase.testPutGet   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileDirTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileDirTestCase.testConfigExistence   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ButlerMakeRepoOutfileUriTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_butler.py S3DatastoreButlerTestCase.genRoot   0% 2 2 0   100% 0 0   0%
tests / test_butler.py S3DatastoreButlerTestCase.setUp   0% 17 17 0   0% 2 0   0%
tests / test_butler.py S3DatastoreButlerTestCase.tearDown   0% 16 16 0   0% 6 0   0%
tests / test_butler.py DatastoreTransfers.setUpClass   0% 1 1 0   100% 0 0   0%
tests / test_butler.py DatastoreTransfers.setUp   0% 4 4 0   100% 0 0   0%
tests / test_butler.py DatastoreTransfers.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_butler.py DatastoreTransfers.create_butler   0% 7 7 0   0% 2 0   0%
tests / test_butler.py DatastoreTransfers.assertButlerTransfers   0% 119 119 0   0% 46 0   0%
tests / test_butler.py PosixDatastoreTransfers.create_butlers   0% 2 2 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferUuidToUuid   0% 2 2 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferFromChainedUuidToUuid   0% 2 2 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferFromIncompatibleUuidToUuid   0% 3 3 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferFromIncompatibleChainUuidToUuid   0% 3 3 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferFromFileUuidToUuid   0% 2 2 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferMissing   0% 3 3 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferMissingDisassembly   0% 3 3 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferDifferingStorageClasses   0% 2 2 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testTransferDifferingStorageClassesDisassembly   0% 2 2 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testUnsafeDirectTransfer   0% 8 8 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testAbsoluteURITransferDirect   0% 1 1 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testAbsoluteURITransferUnsafeDirect   0% 1 1 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers.testAbsoluteURITransferCopy   0% 1 1 0   100% 0 0   0%
tests / test_butler.py PosixDatastoreTransfers._absolute_transfer   0% 21 21 0   0% 2 0   0%
tests / test_butler.py PosixDatastoreTransfers.test_shared_dimension_group   0% 20 20 0   100% 0 0   0%
tests / test_butler.py ButlerServerDatastoreTransfers.test_transfers_from_remote_to_direct   0% 7 7 0   100% 0 0   0%
tests / test_butler.py ButlerServerDatastoreTransfers.test_transfers_from_remote_to_direct._remap_transfer_url   0% 2 2 0   100% 0 0   0%
tests / test_butler.py TransferDatasetsInPlace.test_file_datastore   0% 9 9 0   100% 0 0   0%
tests / test_butler.py TransferDatasetsInPlace.test_chained_datastore   0% 9 9 0   100% 0 0   0%
tests / test_butler.py TransferDatasetsInPlace._test_transfer_datasets_in_place   0% 17 17 0   100% 0 0   0%
tests / test_butler.py NullDatastoreTestCase.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_butler.py NullDatastoreTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_butler.py NullDatastoreTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_butler.py NullDatastoreTestCase.test_fallback   0% 24 24 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.setUp   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.are_uris_equivalent   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.create_empty_butler   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.remove_dataset_out_of_band   0% 2 2 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testConstructor   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testDafButlerRepositories   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testGetDatasetTypes   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testMakeRepo   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testPickle   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testStringification   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testTransaction   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerTests.testPutTemplates   0% 1 1 0   100% 0 0   0%
tests / test_butler.py ButlerServerPostgresTests.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_butler.py setup_module   0% 1 1 0   100% 0 0   0%
tests / test_butler.py _get_test_data_path   0% 1 1 0   100% 0 0   0%
tests / test_butler.py (no function)   98% 285 7 6   100% 0 0   98%
tests / test_butler_factory.py ButlerFactoryTestCase.setUpClass   0% 4 4 0   100% 0 0   0%
tests / test_butler_factory.py ButlerFactoryTestCase.test_factory_via_global_repository_index   0% 6 6 0   0% 2 0   0%
tests / test_butler_factory.py ButlerFactoryTestCase.test_factory_via_custom_index   0% 7 7 0   100% 0 0   0%
tests / test_butler_factory.py ButlerFactoryTestCase._test_factory   0% 6 6 0   100% 0 0   0%
tests / test_butler_factory.py (no function)   100% 12 0 2   100% 0 0   100%
tests / test_cliCmdAssociate.py AssociateTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdAssociate.py AssociateTestCase.test_defaults   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdAssociate.py AssociateTestCase.test_values   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdAssociate.py (no function)   100% 10 0 2   100% 0 0   100%
tests / test_cliCmdConfigDump.py ConfigDumpTest.defaultExpected   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpTest.command   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.test_stdout   0% 9 9 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.test_file   0% 10 10 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.test_subset   0% 16 16 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.test_invalidSubset   0% 6 6 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.test_presets   0% 30 30 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.test_presetsDashedName   0% 12 12 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py ConfigDumpUseTest.test_presetsDashedName.cmd   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdConfigDump.py (no function)   100% 25 0 2   100% 0 0   100%
tests / test_cliCmdConfigValidate.py ValidateTest.defaultExpected   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdConfigValidate.py ValidateTest.command   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdConfigValidate.py ConfigValidateUseTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdConfigValidate.py ConfigValidateUseTest.testConfigValidate   0% 6 6 0   100% 0 0   0%
tests / test_cliCmdConfigValidate.py ConfigValidateUseTest.testConfigValidate_ignore   0% 6 6 0   100% 0 0   0%
tests / test_cliCmdConfigValidate.py (no function)   100% 15 0 2   100% 0 0   100%
tests / test_cliCmdCreate.py CreateTest.defaultExpected   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdCreate.py CreateTest.command   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdCreate.py CreateTest.test_minimal   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdCreate.py CreateTest.test_requiredMissing   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdCreate.py CreateTest.test_all   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdCreate.py (no function)   100% 12 0 2   100% 0 0   100%
tests / test_cliCmdImport.py ImportTestCase.defaultExpected   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdImport.py ImportTestCase.command   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdImport.py ImportTestCase.test_minimal   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdImport.py ImportTestCase.test_all   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdImport.py ImportTestCase.test_missingArgument   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdImport.py (no function)   100% 13 0 2   100% 0 0   100%
tests / test_cliCmdIngestFiles.py CliIngestFilesTest.setUp   0% 17 17 0   0% 2 0   0%
tests / test_cliCmdIngestFiles.py CliIngestFilesTest.testIngestRelativePath   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdIngestFiles.py CliIngestFilesTest.testIngestAbsoluteWithDataId   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdIngestFiles.py CliIngestFilesTest.testIngestRelativeWithDataId   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdIngestFiles.py CliIngestFilesTest.assertIngest   0% 14 14 0   0% 2 0   0%
tests / test_cliCmdIngestFiles.py (no function)   100% 17 0 2   100% 0 0   100%
tests / test_cliCmdPruneDatasets.py getTables   0% 3 3 0   0% 2 0   0%
tests / test_cliCmdPruneDatasets.py getDatasets   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py getRefs   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py makeQueryDatasets   0% 3 3 0   0% 2 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.makeQueryDatasetsArgs   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.makePruneDatasetsArgs   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.run_test   0% 22 22 0   0% 12 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_defaults_doContinue   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_defaults_doNotContinue   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_dryRun_unstore   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_dryRun_disassociate   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_dryRun_unstoreAndDisassociate   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_noConfirm   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_quiet   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_quietWithDryRun   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_noCollections   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_noDatasets   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeWithDisassociate   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeNoOp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeImpliedArgs   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeImpliedArgsWithCollections   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_purgeOnNonRunCollection   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_disassociateImpliedArgs   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py PruneDatasetsTestCase.test_disassociateImpliedArgsWithCollections   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py QueryDatasetsCLITest.setUp   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py QueryDatasetsCLITest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py QueryDatasetsCLITest.test_no_confirm   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py QueryDatasetsCLITest.test_confirm   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdPruneDatasets.py (no function)   100% 56 0 2   100% 0 0   100%
tests / test_cliCmdQueryCollections.py QueryCollectionsCmdTest.defaultExpected   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsCmdTest.command   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsCmdTest.test_minimal   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsCmdTest.test_all   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsCmdTest.test_show_dataset_types   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsCmdTest.test_exclude_dataset_types   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsScriptTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py QueryCollectionsScriptTest.testGetCollections   0% 19 19 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py ChainedCollectionsTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py ChainedCollectionsTest.assertChain   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py ChainedCollectionsTest.testChained   0% 55 55 0   100% 0 0   0%
tests / test_cliCmdQueryCollections.py (no function)   100% 27 0 2   100% 0 0   100%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest._queryDataIds   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.setUp   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.loadData   0% 6 6 0   0% 2 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.testDimensions   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.testNoDimensions   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.testNoResultsEasy   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.testNoResultsHard   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.testWhere   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py QueryDataIdsTest.testDatasetsAndCollections   0% 18 18 0   100% 0 0   0%
tests / test_cliCmdQueryDataIds.py (no function)   100% 21 0 2   100% 0 0   100%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.defaultExpected   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.command   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.test_minimal   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.test_requiredMissing   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesCmdTest.test_all   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest.testQueryDatasetTypes   0% 35 35 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest.testRemoveDatasetTypes   0% 23 23 0   0% 2 0   0%
tests / test_cliCmdQueryDatasetTypes.py QueryDatasetTypesScriptTest.assertDatasetTypes   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdQueryDatasetTypes.py (no function)   100% 21 0 2   100% 0 0   100%
tests / test_cliCmdQueryDatasets.py expectedFilesystemDatastoreTables   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest._queryDatasets   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.setUp   0% 2 2 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.testChained   0% 6 6 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.testShowURI   0% 6 6 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.testShowUriNoDisassembly   0% 7 7 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.testNoShowURI   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.testWhere   0% 9 9 0   0% 2 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.testGlobDatasetType   0% 10 10 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.test_limit_order   0% 19 19 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsTest.testFindFirstAndCollections   0% 18 18 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsCLITest.setUp   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsCLITest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py QueryDatasetsCLITest.test_simple   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdQueryDatasets.py (no function)   100% 31 0 2   100% 0 0   100%
tests / test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.setUp   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testBasic   0% 6 6 0   100% 0 0   0%
tests / test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testWhere   0% 5 5 0   100% 0 0   0%
tests / test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testCollection   0% 15 15 0   100% 0 0   0%
tests / test_cliCmdQueryDimensionRecords.py QueryDimensionRecordsTest.testSkymap   0% 10 10 0   100% 0 0   0%
tests / test_cliCmdQueryDimensionRecords.py (no function)   100% 20 0 2   100% 0 0   100%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest.setUp   0% 4 4 0   100% 0 0   0%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest._verify_remove   0% 14 14 0   100% 0 0   0%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest._verify_remove._query_collection_column_names   0% 5 5 0   0% 4 0   0%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest.testRemoveScript   0% 5 5 0   0% 2 0   0%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest.testRemoveCmd   0% 33 33 0   0% 2 0   0%
tests / test_cliCmdRemoveCollections.py RemoveCollectionTest.testRemoveFromParents   0% 17 17 0   100% 0 0   0%
tests / test_cliCmdRemoveCollections.py (no function)   100% 21 0 2   100% 0 0   100%
tests / test_cliCmdRemoveRuns.py RemoveCollectionTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdRemoveRuns.py RemoveCollectionTest.test_removeRuns   0% 68 68 0   100% 0 0   0%
tests / test_cliCmdRemoveRuns.py (no function)   100% 11 0 2   100% 0 0   100%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.setUp   0% 3 3 0   100% 0 0   0%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.find_files   0% 1 1 0   100% 0 0   0%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testRetrieveAll   0% 11 11 0   0% 2 0   0%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testRetrieveSubset   0% 9 9 0   100% 0 0   0%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testRetrieveAsZip   0% 8 8 0   100% 0 0   0%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testOverwriteLink   0% 8 8 0   0% 2 0   0%
tests / test_cliCmdRetrieveArtifacts.py CliRetrieveArtifactsTest.testClobber   0% 9 9 0   100% 0 0   0%
tests / test_cliCmdRetrieveArtifacts.py (no function)   100% 20 0 2   100% 0 0   100%
tests / test_cliLog.py ConvertPyLogLevelTestCase.test_convertToPyLogLevel   0% 5 5 0   100% 0 0   0%
tests / test_cliLog.py (no function)   83% 12 2 2   100% 0 0   83%
tests / test_cliPluginLoader.py command_test   0% 1 1 0   100% 0 0   0%
tests / test_cliPluginLoader.py duplicate_command_test_env   0% 5 5 0   100% 0 0   0%
tests / test_cliPluginLoader.py uncached_cli   0% 1 1 0   100% 0 0   0%
tests / test_cliPluginLoader.py FailedLoadTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliPluginLoader.py FailedLoadTest.test_unimportablePlugin   0% 6 6 0   100% 0 0   0%
tests / test_cliPluginLoader.py FailedLoadTest.test_unimportableLocalPackage   0% 9 9 0   100% 0 0   0%
tests / test_cliPluginLoader.py FailedLoadTest.test_unimportableLocalPackage.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliPluginLoader.py PluginLoaderTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliPluginLoader.py PluginLoaderTest.test_loadAndExecutePluginCommand   0% 4 4 0   100% 0 0   0%
tests / test_cliPluginLoader.py PluginLoaderTest.test_loadAndExecuteLocalCommand   0% 4 4 0   100% 0 0   0%
tests / test_cliPluginLoader.py PluginLoaderTest.test_loadTopHelp   0% 4 4 0   100% 0 0   0%
tests / test_cliPluginLoader.py PluginLoaderTest.test_getLocalCommands   0% 2 2 0   100% 0 0   0%
tests / test_cliPluginLoader.py PluginLoaderTest.test_mergeCommandLists   0% 6 6 0   100% 0 0   0%
tests / test_cliPluginLoader.py PluginLoaderTest.test_listCommands_duplicate   0% 5 5 0   100% 0 0   0%
tests / test_cliPluginLoader.py (no function)   100% 28 0 2   100% 0 0   100%
tests / test_cliUtilSplitCommas.py cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.test_separate   0% 4 4 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.test_single   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.test_multiple   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.test_singlePair   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.test_multiplePair   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.test_none   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilSplitCommas.py SplitCommasTestCase.test_parens   0% 7 7 0   0% 4 0   0%
tests / test_cliUtilSplitCommas.py (no function)   100% 17 0 2   100% 0 0   100%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_single_dict   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_single_tuple   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_multiple_dict   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_multiple_tuple   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_unseparated   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_notMultiple   0% 2 2 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_wrongSeparator   0% 2 2 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_missingSeparator   0% 2 2 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_unseparatedOkay   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_unseparatedOkay_list   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_unseparatedOkay_defaultKey   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_dashSeparator   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_reverseKv   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvTestCase.test_invalidResultType   0% 2 2 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_cli   0% 16 16 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_cli.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_choice   0% 17 17 0   0% 2 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_choice.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorDash   0% 8 8 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorDash.split_kv_dash   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorDash.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorFunctoolsDash   0% 7 7 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorFunctoolsDash.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorSpace   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorSpace.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorComma   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_separatorComma.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_normalizeWithoutChoice   0% 7 7 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_normalizeWithoutChoice.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_addToDefaultValue   0% 7 7 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_addToDefaultValue.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_replaceDefaultValue   0% 7 7 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py SplitKvCmdTestCase.test_replaceDefaultValue.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilSplitKv.py (no function)   89% 35 4 2   100% 0 0   89%
tests / test_cliUtilToUpper.py cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilToUpper.py ToUpperTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliUtilToUpper.py ToUpperTestCase.test_isolated   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilToUpper.py ToUpperTestCase.test_lowerToUpper   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilToUpper.py ToUpperTestCase.test_upperToUpper   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilToUpper.py ToUpperTestCase.test_mixedToUpper   0% 3 3 0   100% 0 0   0%
tests / test_cliUtilToUpper.py (no function)   100% 12 0 2   100% 0 0   100%
tests / test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelp   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelp.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelpWrapped   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py ArgumentHelpGeneratorTestCase.testHelpWrapped.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py ArgumentHelpGeneratorTestCase.runTest   0% 4 4 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase.test_leadingNewline   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase.test_leadingContent   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase.test_trailingNewline   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase.test_oneLine   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase.test_oneLineWithLeading   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase.test_oneLineWithTrailing   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py UnwrapStringTestCase.test_lineBreaks   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionTest.test_addEllipsisToMultiple   0% 7 7 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionTest.test_addEllipsisToMultiple.cmd   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionTest.test_addEllipsisToNargs   0% 8 8 0   0% 2 0   0%
tests / test_cliUtils.py MWOptionTest.test_addEllipsisToNargs.cmd   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWArgumentDecoratorTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWArgumentDecoratorTest.test_help   0% 13 13 0   0% 4 0   0%
tests / test_cliUtils.py MWArgumentDecoratorTest.test_help.cmd   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWArgumentDecoratorTest.testUse   0% 8 8 0   100% 0 0   0%
tests / test_cliUtils.py MWArgumentDecoratorTest.testUse.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionDecoratorTest.testGetName   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionDecoratorTest.testGetOpts   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionDecoratorTest.testUse   0% 8 8 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionDecoratorTest.testUse.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionDecoratorTest.testOverride   0% 8 8 0   100% 0 0   0%
tests / test_cliUtils.py MWOptionDecoratorTest.testOverride.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py SectionOptionTest.cli   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py SectionOptionTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py SectionOptionTest.test_section_help   0% 3 3 0   100% 0 0   0%
tests / test_cliUtils.py SectionOptionTest.test_section_function   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py MWPathTest.getCmd   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py MWPathTest.getCmd.cmd   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWPathTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_cliUtils.py MWPathTest.test_exist   0% 20 20 0   100% 0 0   0%
tests / test_cliUtils.py MWCommandTest.setUp   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py MWCommandTest.testCaptureOptions   0% 18 18 0   0% 2 0   0%
tests / test_cliUtils.py MWCommandTest.testCaptureOptions.cmd   0% 2 2 0   100% 0 0   0%
tests / test_cliUtils.py (no function)   86% 59 8 2   100% 0 0   86%
tests / test_column_spec.py ColumnSpecTestCase.setUp   0% 3 3 0   100% 0 0   0%
tests / test_column_spec.py ColumnSpecTestCase.test_serialize_tuple   0% 5 5 0   100% 0 0   0%
tests / test_column_spec.py (no function)   100% 10 0 0   100% 0 0   100%
tests / test_composites.py TestCompositesConfig.setUpClass   0% 1 1 0   100% 0 0   0%
tests / test_composites.py TestCompositesConfig.testBadConfig   0% 2 2 0   100% 0 0   0%
tests / test_composites.py TestCompositesConfig.testConfig   0% 7 7 0   0% 2 0   0%
tests / test_composites.py TestCompositesConfig.testMap   0% 26 26 0   100% 0 0   0%
tests / test_composites.py (no function)   100% 11 0 2   100% 0 0   100%
tests / test_config.py modified_environment   0% 6 6 0   100% 0 0   0%
tests / test_config.py ConfigTestCase.testBadConfig   0% 6 6 0   0% 4 0   0%
tests / test_config.py ConfigTestCase.testBasics   0% 45 45 0   0% 14 0   0%
tests / test_config.py ConfigTestCase.testDict   0% 7 7 0   100% 0 0   0%
tests / test_config.py ConfigTestCase.assertSplit   0% 3 3 0   0% 2 0   0%
tests / test_config.py ConfigTestCase.testSplitting   0% 12 12 0   100% 0 0   0%
tests / test_config.py ConfigTestCase.testEscape   0% 9 9 0   100% 0 0   0%
tests / test_config.py ConfigTestCase.testOperators   0% 6 6 0   100% 0 0   0%
tests / test_config.py ConfigTestCase.testMerge   0% 9 9 0   100% 0 0   0%
tests / test_config.py ConfigTestCase.testUpdate   0% 16 16 0   100% 0 0   0%
tests / test_config.py ConfigTestCase.testHierarchy   0% 72 72 0   0% 12 0   0%
tests / test_config.py ConfigTestCase.testSerializedString   0% 19 19 0   0% 2 0   0%
tests / test_config.py ConfigSubsetTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testEmpty   0% 2 2 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testPathlib   0% 2 2 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testDefaults   0% 10 10 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testExternalOverride   0% 3 3 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testSearchPaths   0% 10 10 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testExternalHierarchy   0% 4 4 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testNoDefaults   0% 6 6 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testAbsPath   0% 15 15 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testClassDerived   0% 12 12 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testInclude   0% 14 14 0   0% 2 0   0%
tests / test_config.py ConfigSubsetTestCase.testStringInclude   0% 5 5 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testIncludeConfigs   0% 34 34 0   100% 0 0   0%
tests / test_config.py ConfigSubsetTestCase.testResource   0% 8 8 0   100% 0 0   0%
tests / test_config.py FileWriteConfigTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_config.py FileWriteConfigTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_config.py FileWriteConfigTestCase.testDump   0% 9 9 0   0% 2 0   0%
tests / test_config.py (no function)   100% 65 0 2   100% 0 0   100%
tests / test_connectionString.py ConnectionStringBuilderTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_connectionString.py ConnectionStringBuilderTestCase.testBuilder   0% 5 5 0   0% 2 0   0%
tests / test_connectionString.py ConnectionStringBuilderTestCase.testRelVsAbsPath   0% 4 4 0   100% 0 0   0%
tests / test_connectionString.py ConnectionStringBuilderTestCase.testRaises   0% 5 5 0   100% 0 0   0%
tests / test_connectionString.py (no function)   100% 18 0 2   100% 0 0   100%
tests / test_constraints.py ConstraintsTestCase.setUp   0% 8 8 0   100% 0 0   0%
tests / test_constraints.py ConstraintsTestCase.testSimpleAccept   0% 23 23 0   100% 0 0   0%
tests / test_constraints.py ConstraintsTestCase.testSimpleReject   0% 4 4 0   100% 0 0   0%
tests / test_constraints.py ConstraintsTestCase.testAcceptReject   0% 18 18 0   100% 0 0   0%
tests / test_constraints.py ConstraintsTestCase.testWildcardReject   0% 9 9 0   100% 0 0   0%
tests / test_constraints.py ConstraintsTestCase.testWildcardAccept   0% 16 16 0   100% 0 0   0%
tests / test_constraints.py ConstraintsTestCase.testEdgeCases   0% 3 3 0   100% 0 0   0%
tests / test_constraints.py (no function)   100% 12 0 2   100% 0 0   100%
tests / test_datasets.py DatasetTypeTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testConstructor   0% 11 11 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testConstructor2   0% 8 8 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testNameValidation   0% 22 22 0   0% 8 0   0%
tests / test_datasets.py DatasetTypeTestCase.testEquality   0% 20 20 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testCompatibility   0% 13 13 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testOverrideStorageClass   0% 19 19 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testJson   0% 4 4 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testSorting   0% 9 9 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testHashability   0% 18 18 0   0% 6 0   0%
tests / test_datasets.py DatasetTypeTestCase.testDeepCopy   0% 14 14 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.testPickle   0% 32 32 0   100% 0 0   0%
tests / test_datasets.py DatasetTypeTestCase.test_composites   0% 26 26 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.setUp   0% 12 12 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase._make_datastore_records   0% 3 3 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testConstructor   0% 20 20 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testSorting   0% 16 16 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testOverrideStorageClass   0% 16 16 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testReplace   0% 19 19 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testPickle   0% 3 3 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testJson   0% 8 8 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testFileDataset   0% 24 24 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.testFileDataset.load_dataset_type   0% 2 2 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.test_container   0% 6 6 0   100% 0 0   0%
tests / test_datasets.py DatasetRefTestCase.test_dataset_provenance   0% 101 101 0   0% 4 0   0%
tests / test_datasets.py ZipIndexTestCase.test_v1   0% 20 20 0   100% 0 0   0%
tests / test_datasets.py (no function)   100% 40 0 2   100% 0 0   100%
tests / test_datastore.py makeExampleMetrics   0% 4 4 0   0% 2 0   0%
tests / test_datastore.py DatastoreTestsBase.setUpClass   0% 6 6 0   100% 0 0   0%
tests / test_datastore.py DatastoreTestsBase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_datastore.py DatastoreTestsBase.tearDown   0% 2 2 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests.testConfigRoot   0% 7 7 0   0% 4 0   0%
tests / test_datastore.py DatastoreTests.testConstructor   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testConfigurationValidation   0% 11 11 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests.testParameterValidation   0% 11 11 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testBasicPutGet   0% 63 63 0   0% 8 0   0%
tests / test_datastore.py DatastoreTests.testTrustGetRequest   0% 86 86 0   0% 18 0   0%
tests / test_datastore.py DatastoreTests.testTrustGetRequest._stored_dataset_type   0% 3 3 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests.testDisassembly   0% 34 34 0   0% 8 0   0%
tests / test_datastore.py DatastoreTests.prepDeleteTest   0% 14 14 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests.testRemove   0% 9 9 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testForget   0% 9 9 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testTransfer   0% 11 11 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testBasicTransaction   0% 27 27 0   0% 8 0   0%
tests / test_datastore.py DatastoreTests.testNestedTransaction   0% 26 26 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests._prepareIngestTest   0% 6 6 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.runIngestTest   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testIngestNoTransfer   0% 14 14 0   0% 6 0   0%
tests / test_datastore.py DatastoreTests.testIngestNoTransfer.succeed   0% 8 8 0   0% 4 0   0%
tests / test_datastore.py DatastoreTests.testIngestNoTransfer.failInputDoesNotExist   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testIngestNoTransfer.failOutsideRoot   0% 6 6 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests.testIngestNoTransfer.failNotImplemented   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testIngestTransfer   0% 10 10 0   0% 4 0   0%
tests / test_datastore.py DatastoreTests.testIngestTransfer.succeed   0% 6 6 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests.testIngestTransfer.failInputDoesNotExist   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testIngestTransfer.failNotImplemented   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.testIngestSymlinkOfSymlink   0% 21 21 0   0% 6 0   0%
tests / test_datastore.py DatastoreTests._populate_export_datastore   0% 15 15 0   0% 6 0   0%
tests / test_datastore.py DatastoreTests.testExportImportRecords   0% 24 24 0   0% 4 0   0%
tests / test_datastore.py DatastoreTests.testExportPredictedRecords   0% 12 12 0   0% 4 0   0%
tests / test_datastore.py DatastoreTests.testExport   0% 16 16 0   0% 2 0   0%
tests / test_datastore.py DatastoreTests.test_pydantic_dict_storage_class_conversions   0% 10 10 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.test_simple_class_put_get   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.test_dataclass_put_get   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.test_pydantic_put_get   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests.test_tuple_put_get   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreTests._assert_different_puts   0% 4 4 0   0% 2 0   0%
tests / test_datastore.py PosixDatastoreTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py PosixDatastoreTestCase.testAtomicWrite   0% 11 11 0   100% 0 0   0%
tests / test_datastore.py PosixDatastoreTestCase.testCanNotDeterminePutFormatterLocation   0% 15 15 0   100% 0 0   0%
tests / test_datastore.py PosixDatastoreTestCase.testCanNotDeterminePutFormatterLocation.raiser   0% 1 1 0   100% 0 0   0%
tests / test_datastore.py PosixDatastoreTestCase.test_roots   0% 5 5 0   0% 4 0   0%
tests / test_datastore.py PosixDatastoreTestCase.test_prepare_get_for_external_client   0% 6 6 0   100% 0 0   0%
tests / test_datastore.py PosixDatastoreNoChecksumsTestCase.testChecksum   0% 14 14 0   100% 0 0   0%
tests / test_datastore.py PosixDatastoreNoChecksumsTestCase.test_repeat_ingest   0% 11 11 0   100% 0 0   0%
tests / test_datastore.py TrashDatastoreTestCase.testTrash   0% 24 24 0   100% 0 0   0%
tests / test_datastore.py TrashDatastoreTestCase.test_empty_trash   0% 23 23 0   0% 4 0   0%
tests / test_datastore.py CleanupPosixDatastoreTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py CleanupPosixDatastoreTestCase.testCleanup   0% 22 22 0   0% 2 0   0%
tests / test_datastore.py DatastoreConstraintsTests.testConstraints   0% 27 27 0   0% 8 0   0%
tests / test_datastore.py PosixDatastoreConstraintsTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py ChainedDatastorePerStoreConstraintsTests.setUp   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py ChainedDatastorePerStoreConstraintsTests.testConstraints   0% 35 35 0   0% 12 0   0%
tests / test_datastore.py DatastoreCacheTestCase.setUpClass   0% 4 4 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.setUp   0% 26 26 0   0% 6 0   0%
tests / test_datastore.py DatastoreCacheTestCase.tearDown   0% 2 2 0   0% 2 0   0%
tests / test_datastore.py DatastoreCacheTestCase._make_cache_manager   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testNoCacheDir   0% 5 5 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testNoCacheDirReversed   0% 3 3 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testEnvvarCacheDir   0% 29 29 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testExplicitCacheDir   0% 5 5 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testUnexpectedFilesInCacheDir   0% 8 8 0   0% 2 0   0%
tests / test_datastore.py DatastoreCacheTestCase.assertCache   0% 18 18 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testNoCache   0% 7 7 0   0% 2 0   0%
tests / test_datastore.py DatastoreCacheTestCase._expiration_config   0% 1 1 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testCacheExpiryFiles   0% 28 28 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testCacheExpiryDatasets   0% 6 6 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testCacheExpiryDatasetsFromDisabled   0% 6 6 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testExpirationModeOverride   0% 17 17 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testMissingThreshold   0% 6 6 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testCacheExpiryDatasetsComposite   0% 14 14 0   0% 4 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testCacheExpirySize   0% 6 6 0   100% 0 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testDisabledCache   0% 17 17 0   0% 4 0   0%
tests / test_datastore.py DatastoreCacheTestCase.assertExpiration   0% 9 9 0   0% 6 0   0%
tests / test_datastore.py DatastoreCacheTestCase.testCacheExpiryAge   0% 18 18 0   0% 4 0   0%
tests / test_datastore.py NullDatastoreTestCase.test_basics   0% 44 44 0   100% 0 0   0%
tests / test_datastore.py DatasetRefURIsTestCase.testSequenceAccess   0% 17 17 0   100% 0 0   0%
tests / test_datastore.py DatasetRefURIsTestCase.testRepr   0% 2 2 0   100% 0 0   0%
tests / test_datastore.py StoredFileInfoTestCase.test_StoredFileInfo   0% 15 15 0   100% 0 0   0%
tests / test_datastore.py StoredFileInfoTestCase.test_make_datastore_path_relative   0% 4 4 0   100% 0 0   0%
tests / test_datastore.py StoredFileInfoTestCase.test_datastore_record_data_json_types   0% 8 8 0   100% 0 0   0%
tests / test_datastore.py _temp_yaml_file   0% 7 7 0   100% 0 0   0%
tests / test_datastore.py (no function)   100% 174 0 2   100% 0 0   100%
tests / test_ddl.py AstropyTimeNsecTaiTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_ddl.py AstropyTimeNsecTaiTestCase.test_value_none   0% 4 4 0   100% 0 0   0%
tests / test_ddl.py AstropyTimeNsecTaiTestCase.test_time_before_epoch   0% 5 5 0   100% 0 0   0%
tests / test_ddl.py AstropyTimeNsecTaiTestCase.test_max_time   0% 4 4 0   100% 0 0   0%
tests / test_ddl.py AstropyTimeNsecTaiTestCase.test_round_trip   0% 6 6 0   0% 2 0   0%
tests / test_ddl.py (no function)   100% 9 0 2   100% 0 0   100%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.setUpClass   0% 5 5 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.assert_record_sets_equal   0% 2 2 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_schema_visit   0% 6 6 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_schema_skymap   0% 3 3 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_empty_record_table_visit   0% 14 14 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_empty_record_table_skymap   0% 11 11 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_full_record_table_visit   0% 22 22 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_full_record_table_skymap   0% 9 9 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_parquet_visit   0% 11 11 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_table_parquet_skymap   0% 5 5 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_chunk_init   0% 4 4 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_arrow_timespan_nulls   0% 4 4 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_const   0% 41 41 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_add   0% 7 7 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_find_or_add   0% 7 7 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_update_from_data_coordinates   0% 4 4 0   0% 2 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_discard   0% 17 17 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_remove   0% 19 19 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_pop   0% 11 11 0   100% 0 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_key_value_serialization   0% 11 11 0   0% 4 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_record_set_serialization   0% 13 13 0   0% 4 0   0%
tests / test_dimension_record_containers.py DimensionRecordContainersTestCase.test_extract_serialize_attach   0% 41 41 0   0% 12 0   0%
tests / test_dimension_record_containers.py (no function)   100% 34 0 2   100% 0 0   100%
tests / test_dimensions.py loadDimensionData   0% 3 3 0   100% 0 0   0%
tests / test_dimensions.py ConcreteTestDimensionPacker.__init__   0% 3 3 0   100% 0 0   0%
tests / test_dimensions.py ConcreteTestDimensionPacker.maxBits   0% 1 1 0   100% 0 0   0%
tests / test_dimensions.py ConcreteTestDimensionPacker._pack   0% 1 1 0   100% 0 0   0%
tests / test_dimensions.py ConcreteTestDimensionPacker.unpack   0% 1 1 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.checkGroupInvariants   0% 27 27 0   0% 12 0   0%
tests / test_dimensions.py DimensionTestCase.testConfigPresent   0% 2 2 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.test_group_union   0% 7 7 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.test_group_set_ops   0% 15 15 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testCompatibility   0% 10 10 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testVersion   0% 2 2 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testConfigRead   0% 1 1 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testGraphs   0% 3 3 0   0% 2 0   0%
tests / test_dimensions.py DimensionTestCase.testInstrumentDimensions   0% 10 10 0   0% 2 0   0%
tests / test_dimensions.py DimensionTestCase.testCalibrationDimensions   0% 8 8 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testObservationDimensions   0% 18 18 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testSkyMapDimensions   0% 8 8 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testSubsetCalculation   0% 5 5 0   100% 0 0   0%
tests / test_dimensions.py DimensionTestCase.testSchemaGeneration   0% 35 35 0   0% 16 0   0%
tests / test_dimensions.py DimensionTestCase.testPickling   0% 13 13 0   0% 2 0   0%
tests / test_dimensions.py DimensionTestCase.testSerialization   0% 3 3 0   100% 0 0   0%
tests / test_dimensions.py SplitByStateFlags.chain   0% 9 9 0   0% 8 0   0%
tests / test_dimensions.py DataCoordinateTestCase.setUpClass   0% 1 1 0   100% 0 0   0%
tests / test_dimensions.py DataCoordinateTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_dimensions.py DataCoordinateTestCase.randomDataIds   0% 3 3 0   0% 2 0   0%
tests / test_dimensions.py DataCoordinateTestCase.randomDimensionSubset   0% 3 3 0   0% 2 0   0%
tests / test_dimensions.py DataCoordinateTestCase.splitByStateFlags   0% 15 15 0   0% 8 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testMappingViews   0% 15 15 0   0% 6 0   0%
tests / test_dimensions.py DataCoordinateTestCase.test_pickle   0% 15 15 0   0% 10 0   0%
tests / test_dimensions.py DataCoordinateTestCase.test_record_attributes   0% 16 16 0   0% 10 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testEquality   0% 9 9 0   0% 6 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testStandardize   0% 31 31 0   0% 16 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testUnion   0% 32 32 0   0% 20 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testRegions   0% 19 19 0   0% 10 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testTimespans   0% 7 7 0   0% 4 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testIterableStatusFlags   0% 22 22 0   0% 4 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testSetOperations   0% 24 24 0   100% 0 0   0%
tests / test_dimensions.py DataCoordinateTestCase.testPackers   0% 10 10 0   100% 0 0   0%
tests / test_dimensions.py DataCoordinateTestCase.test_dimension_group_pydantic   0% 7 7 0   100% 0 0   0%
tests / test_dimensions.py DataCoordinateTestCase.test_dimension_element_pydantic   0% 7 7 0   100% 0 0   0%
tests / test_dimensions.py (no function)   100% 70 0 2   100% 0 0   100%
tests / test_exprParserLex.py ParserLexTestCase._assertToken   0% 7 7 0   0% 4 0   0%
tests / test_exprParserLex.py ParserLexTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testInstantiate   0% 5 5 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testSimpleTokens   0% 15 15 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testReservedTokens   0% 15 15 0   0% 4 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testStringLiteral   0% 18 18 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testNumericLiteral   0% 11 11 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testRangeLiteral   0% 8 8 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testTimeLiteral   0% 8 8 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testIdentifier   0% 24 24 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testNinds   0% 16 16 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testExpression   0% 7 7 0   0% 2 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testExceptions   0% 38 38 0   100% 0 0   0%
tests / test_exprParserLex.py ParserLexTestCase.testExceptions._assertExc   0% 4 4 0   100% 0 0   0%
tests / test_exprParserLex.py (no function)   100% 18 0 2   100% 0 0   100%
tests / test_exprParserYacc.py _Visitor.visitNumericLiteral   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitStringLiteral   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitTimeLiteral   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitUuidLiteral   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitRangeLiteral   0% 3 3 0   0% 2 0   0%
tests / test_exprParserYacc.py _Visitor.visitIdentifier   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitBind   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitUnaryOp   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitBinaryOp   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitIsIn   0% 4 4 0   0% 2 0   0%
tests / test_exprParserYacc.py _Visitor.visitParens   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitPointNode   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitCircleNode   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitBoxNode   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitPolygonNode   0% 2 2 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitRegionNode   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitTupleNode   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py _Visitor.visitGlobNode   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testInstantiate   0% 1 1 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testEmpty   0% 3 3 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testParseLiteral   0% 33 33 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testParseIdentifiers   0% 9 9 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testParseBind   0% 7 7 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testParseParens   0% 11 11 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testUnaryOps   0% 13 13 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testBinaryOps   0% 59 59 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testIsIn   0% 92 92 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testCompareOps   0% 26 26 0   0% 2 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testBoolOps   0% 16 16 0   0% 2 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testFunctionCall   0% 34 34 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testPointNode   0% 11 11 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testCircleNode   0% 21 21 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testBoxNode   0% 23 23 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testPolygonNode   0% 18 18 0   0% 2 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testRegionNode   0% 12 12 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testGlobNode   0% 19 19 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testTupleNode   0% 17 17 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testExpression   0% 13 13 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testException   0% 14 14 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testException._assertExc   0% 5 5 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testStr   0% 11 11 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testVisit   0% 35 35 0   100% 0 0   0%
tests / test_exprParserYacc.py ParserYaccTestCase.testParseTimeStr   0% 10 10 0   0% 4 0   0%
tests / test_exprParserYacc.py (no function)   100% 51 0 2   100% 0 0   100%
tests / test_formatter.py FormatterFactoryTestCase.setUp   0% 5 5 0   100% 0 0   0%
tests / test_formatter.py FormatterFactoryTestCase.assertIsFormatter   0% 3 3 0   0% 2 0   0%
tests / test_formatter.py FormatterFactoryTestCase.testFormatter   0% 13 13 0   100% 0 0   0%
tests / test_formatter.py FormatterFactoryTestCase.testExtensionValidation   0% 7 7 0   0% 6 0   0%
tests / test_formatter.py FormatterFactoryTestCase.testRegistry   0% 20 20 0   100% 0 0   0%
tests / test_formatter.py FormatterFactoryTestCase.testRegistryWithStorageClass   0% 18 18 0   100% 0 0   0%
tests / test_formatter.py FormatterFactoryTestCase.testRegistryConfig   0% 39 39 0   100% 0 0   0%
tests / test_formatter.py ZipFormatterTestCase.setUpClass   0% 5 5 0   100% 0 0   0%
tests / test_formatter.py ZipFormatterTestCase._make_formatter   0% 5 5 0   100% 0 0   0%
tests / test_formatter.py ZipFormatterTestCase.test_packages   0% 6 6 0   100% 0 0   0%
tests / test_formatter.py ZipFormatterTestCase.test_metrics   0% 6 6 0   100% 0 0   0%
tests / test_formatter.py ZipFormatterTestCase.test_logs   0% 6 6 0   100% 0 0   0%
tests / test_formatter.py (no function)   100% 23 0 2   100% 0 0   100%
tests / test_gafaelfawr.py GafaelfawrAuthorizationTestCase.test_gafaelfawr_group_auth   0% 29 29 0   100% 0 0   0%
tests / test_gafaelfawr.py GafaelfawrAuthorizationTestCase.test_gafaelfawr_group_auth.handler   0% 3 3 0   100% 0 0   0%
tests / test_gafaelfawr.py (no function)   64% 11 4 0   50% 2 1   62%
tests / test_location.py LocationTestCase.testFileLocation   0% 25 25 0   100% 0 0   0%
tests / test_location.py LocationTestCase.test_clone   0% 9 9 0   100% 0 0   0%
tests / test_location.py LocationTestCase.testAbsoluteLocations   0% 5 5 0   100% 0 0   0%
tests / test_location.py LocationTestCase.testBadLocations   0% 6 6 0   100% 0 0   0%
tests / test_location.py LocationTestCase.testRelativeRoot   0% 9 9 0   100% 0 0   0%
tests / test_location.py LocationTestCase.testQuotedRoot   0% 9 9 0   0% 2 0   0%
tests / test_location.py LocationTestCase.testHttpLocation   0% 11 11 0   100% 0 0   0%
tests / test_location.py (no function)   100% 14 0 2   100% 0 0   100%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.setUp   0% 7 7 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.testButlerLogRecordsFormatter   0% 11 11 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.testButlerLogRecordsFormatterExtra   0% 13 13 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.testButlerLogRecordsFormatterEmptyExtra   0% 10 10 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.testButlerLogRecordsFormatterV1   0% 16 16 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.testJsonLogRecordsFormatter   0% 15 15 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.testJsonLogRecordsFormatterExtra   0% 19 19 0   100% 0 0   0%
tests / test_logFormatter.py ButlerLogRecordsFormatterTestCase.testJsonLogRecordsFormatterExtraEmpty   0% 16 16 0   100% 0 0   0%
tests / test_logFormatter.py (no function)   100% 25 0 2   100% 0 0   100%
tests / test_logging.py LoggingTestCase.setUp   0% 3 3 0   100% 0 0   0%
tests / test_logging.py LoggingTestCase.tearDown   0% 4 4 0   0% 2 0   0%
tests / test_logging.py LoggingTestCase.testRecordCapture   0% 29 29 0   0% 16 0   0%
tests / test_logging.py LoggingTestCase.testRecordsFormatting   0% 18 18 0   100% 0 0   0%
tests / test_logging.py LoggingTestCase.testButlerLogRecords   0% 37 37 0   0% 2 0   0%
tests / test_logging.py LoggingTestCase.testExceptionInfo   0% 13 13 0   100% 0 0   0%
tests / test_logging.py LoggingTestCase.testMDC   0% 39 39 0   100% 0 0   0%
tests / test_logging.py LoggingTestCase.testMDC_exception   0% 20 20 0   0% 4 0   0%
tests / test_logging.py TestJsonLogging.testJsonLogStream   0% 39 39 0   0% 2 0   0%
tests / test_logging.py (no function)   100% 19 0 2   100% 0 0   100%
tests / test_matplotlibFormatter.py MatplotlibFormatterTestCase.setUp   0% 3 3 0   100% 0 0   0%
tests / test_matplotlibFormatter.py MatplotlibFormatterTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_matplotlibFormatter.py MatplotlibFormatterTestCase.testMatplotlibFormatter   0% 1 1 0   100% 0 0   0%
tests / test_matplotlibFormatter.py MatplotlibFormatterTestCase.testMatplotlibFormatterWithMetadata   0% 1 1 0   100% 0 0   0%
tests / test_matplotlibFormatter.py MatplotlibFormatterTestCase.doMatplotlibTest   0% 18 18 0   0% 2 0   0%
tests / test_matplotlibFormatter.py (no function)   91% 22 2 2   100% 0 0   91%
tests / test_nonempty_mapping.py NonemptyMappingTestCase.test_nonempty_mapping   0% 11 11 0   100% 0 0   0%
tests / test_nonempty_mapping.py (no function)   100% 4 0 2   100% 0 0   100%
tests / test_obscore.py ObsCoreTests.make_registry   0% 5 5 0   100% 0 0   0%
tests / test_obscore.py ObsCoreTests.make_registry_config   100% 0 0 1   100% 0 0   100%
tests / test_obscore.py ObsCoreTests.initialize_registry   0% 50 50 0   0% 18 0   0%
tests / test_obscore.py ObsCoreTests.make_obscore_config   0% 6 6 0   0% 4 0   0%
tests / test_obscore.py ObsCoreTests._insert_dataset   0% 9 9 0   0% 2 0   0%
tests / test_obscore.py ObsCoreTests._insert_datasets   0% 1 1 0   100% 0 0   0%
tests / test_obscore.py ObsCoreTests.test_config_errors   0% 9 9 0   100% 0 0   0%
tests / test_obscore.py ObsCoreTests.test_schema   0% 25 25 0   100% 0 0   0%
tests / test_obscore.py ObsCoreTests.test_insert_existing_collection   0% 13 13 0   0% 4 0   0%
tests / test_obscore.py ObsCoreTests.test_drop_datasets   0% 16 16 0   100% 0 0   0%
tests / test_obscore.py ObsCoreTests.test_associate   0% 28 28 0   100% 0 0   0%
tests / test_obscore.py ObsCoreTests.test_region_type_warning   0% 5 5 0   100% 0 0   0%
tests / test_obscore.py ObsCoreTests.test_update_exposure_region   0% 26 26 0   0% 8 0   0%
tests / test_obscore.py SQLiteObsCoreTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_obscore.py SQLiteObsCoreTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_obscore.py SQLiteObsCoreTest.make_registry_config   0% 5 5 0   100% 0 0   0%
tests / test_obscore.py ClonedSqliteObscoreTest.make_registry   0% 4 4 0   100% 0 0   0%
tests / test_obscore.py PostgresObsCoreTest.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_obscore.py PostgresObsCoreTest.setUp   0% 1 1 0   100% 0 0   0%
tests / test_obscore.py PostgresObsCoreTest.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_obscore.py PostgresObsCoreTest.make_registry_config   0% 4 4 0   100% 0 0   0%
tests / test_obscore.py PostgresPgSphereObsCoreTest.setUpClass   0% 6 6 0   100% 0 0   0%
tests / test_obscore.py PostgresPgSphereObsCoreTest.make_obscore_config   0% 3 3 0   100% 0 0   0%
tests / test_obscore.py PostgresPgSphereObsCoreTest.test_spatial   0% 23 23 0   100% 0 0   0%
tests / test_obscore.py TestMissingObscoreConfig.setUp   0% 1 1 0   100% 0 0   0%
tests / test_obscore.py TestMissingObscoreConfig.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_obscore.py TestMissingObscoreConfig.make_butler_config   0% 4 4 0   100% 0 0   0%
tests / test_obscore.py TestMissingObscoreConfig.test_missing_config_one   0% 4 4 0   100% 0 0   0%
tests / test_obscore.py TestMissingObscoreConfig.test_missing_config_two   0% 4 4 0   100% 0 0   0%
tests / test_obscore.py (no function)   100% 56 0 2   100% 0 0   100%
tests / test_packages.py PackagesFormatterTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests / test_packages.py PackagesFormatterTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_packages.py PackagesFormatterTestCase.testPackages   0% 4 4 0   100% 0 0   0%
tests / test_packages.py (no function)   100% 10 0 2   100% 0 0   100%
tests / test_parquet.py _makeSimpleNumpyTable   0% 25 25 0   0% 8 0   0%
tests / test_parquet.py _makeSingleIndexDataFrame   0% 17 17 0   0% 4 0   0%
tests / test_parquet.py _makeMultiIndexDataFrame   0% 3 3 0   100% 0 0   0%
tests / test_parquet.py _makeSimpleAstropyTable   0% 31 31 0   0% 2 0   0%
tests / test_parquet.py _makeSimpleArrowTable   0% 2 2 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.setUp   0% 7 7 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrame   0% 26 26 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrameWithLists   0% 6 6 0   0% 4 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testMultiIndexDataFrame   0% 23 23 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrameEmptyString   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testSingleIndexDataFrameAllEmptyStrings   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testLegacyDataFrame   0% 25 25 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testDataFrameSchema   0% 9 9 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsAstropyTable   0% 15 15 0   0% 4 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameWithMaskedColsReadAsAstropyTable   0% 14 14 0   0% 6 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsAstropyTable   0% 3 3 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteAstropyTableWithMaskedColsReadAsSingleIndexDataFrame   0% 10 10 0   0% 4 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsArrowTable   0% 18 18 0   0% 4 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsArrowTable   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsNumpyTable   0% 14 14 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsNumpyTable   0% 3 3 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteSingleIndexDataFrameReadAsNumpyDict   0% 7 7 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteMultiIndexDataFrameReadAsNumpyDict   0% 3 3 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testBadDataFrameColumnParquet   0% 7 7 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteReadAstropyTableLossless   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteReadAstropyTableProvenance   0% 18 18 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteReadNumpyTableLossless   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testMaskedNumpy   0% 8 8 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteReadArrowTableLossless   0% 8 8 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterDataFrameTestCase.testWriteReadNumpyDictLossless   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py InMemoryDataFrameDelegateTestCase.testBadDataFrameColumnParquet   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py InMemoryDataFrameDelegateTestCase.testWriteMultiIndexDataFrameReadAsAstropyTable   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py InMemoryDataFrameDelegateTestCase.testLegacyDataFrame   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py InMemoryDataFrameDelegateTestCase.testBadInput   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py InMemoryDataFrameDelegateTestCase.testStorageClass   0% 9 9 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.setUp   0% 7 7 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyTable   0% 28 28 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyTableBigEndian   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyTableWithMetadata   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testArrowAstropySchema   0% 23 23 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testAstropyParquet   0% 26 26 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsArrowTable   0% 11 11 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsDataFrame   0% 11 11 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyWithMaskedColsReadAsDataFrame   0% 14 14 0   0% 6 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteSingleIndexDataFrameWithMaskedColsReadAsAstropyTable   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsNumpyTable   0% 11 11 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyReadAsNumpyDict   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testBadAstropyColumnParquet   0% 13 13 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowAstropyTestCase.testWriteAstropyTableWithPandasIndexHint   0% 16 16 0   0% 2 0   0%
tests / test_parquet.py InMemoryArrowAstropyDelegateTestCase.testAstropyParquet   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowAstropyDelegateTestCase.testBadAstropyColumnParquet   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowAstropyDelegateTestCase.testBadInput   0% 8 8 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowAstropyDelegateTestCase.testWriteAstropyTableWithPandasIndexHint   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testNumpyTable   0% 26 26 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testNumpyTableBigEndian   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testArrowNumpySchema   0% 13 13 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testNumpyDictConversions   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsArrowTable   0% 11 11 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsDataFrame   0% 11 11 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsAstropyTable   0% 11 11 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteNumpyTableReadAsNumpyDict   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testBadNumpyColumnParquet   0% 15 15 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyTestCase.testWriteReadAstropyTableLossless   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowNumpyDelegateTestCase.testBadNumpyColumnParquet   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowNumpyDelegateTestCase.testBadInput   0% 8 8 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowNumpyDelegateTestCase.testStorageClass   0% 9 9 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testArrowTable   0% 30 30 0   0% 4 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testEmptyArrowTable   0% 20 20 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testEmptyArrowTableMultidim   0% 19 19 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsSingleIndexDataFrame   0% 13 13 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsMultiIndexDataFrame   0% 13 13 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsAstropyTable   0% 21 21 0   0% 6 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsNumpyTable   0% 13 13 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testWriteArrowTableReadAsNumpyDict   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableTestCase.testWriteReadAstropyTableLossless   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowTableDelegateTestCase.testBadInput   0% 8 8 0   100% 0 0   0%
tests / test_parquet.py InMemoryArrowTableDelegateTestCase.testStorageClass   0% 9 9 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testNumpyDict   0% 33 33 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsArrowTable   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsDataFrame   0% 8 8 0   0% 2 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsAstropyTable   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictReadAsNumpyTable   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteNumpyDictBad   0% 12 12 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowNumpyDictTestCase.testWriteReadAstropyTableLossless   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py InMemoryNumpyDictDelegateTestCase.testWriteNumpyDictBad   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase.setUp   0% 6 6 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase._makeTestSchema   0% 2 2 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase.testArrowSchema   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase.testWriteArrowSchemaReadAsDataFrameSchema   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase.testWriteArrowSchemaReadAsArrowAstropySchema   0% 14 14 0   0% 8 0   0%
tests / test_parquet.py ParquetFormatterArrowSchemaTestCase.testWriteArrowSchemaReadAsArrowNumpySchema   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableS3TestCase.setUp   0% 20 20 0   100% 0 0   0%
tests / test_parquet.py ParquetFormatterArrowTableS3TestCase.tearDown   0% 15 15 0   0% 6 0   0%
tests / test_parquet.py ParquetFormatterArrowTableS3TestCase.testArrowTableS3   0% 28 28 0   0% 4 0   0%
tests / test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeNoMetadata   0% 8 8 0   100% 0 0   0%
tests / test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeWithMetadata   0% 5 5 0   100% 0 0   0%
tests / test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeTinyTable   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py ComputeRowGroupSizeTestCase.testRowGroupSizeDataFrameWithLists   0% 4 4 0   100% 0 0   0%
tests / test_parquet.py _checkAstropyTableEquality   0% 27 27 0   0% 16 0   0%
tests / test_parquet.py _checkNumpyTableEquality   0% 6 6 0   0% 4 0   0%
tests / test_parquet.py _checkNumpyDictEquality   0% 4 4 0   0% 2 0   0%
tests / test_parquet.py (no function)   91% 267 23 2   100% 0 0   91%
tests / test_postgresql.py PostgresqlDatabaseTestCase.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlDatabaseTestCase.makeEmptyDatabase   0% 1 1 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlDatabaseTestCase.getNewConnection   0% 1 1 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlDatabaseTestCase.asReadOnly   0% 1 1 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlDatabaseTestCase.testNameShrinking   0% 7 7 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlDatabaseTestCase.test_RangeTimespanType   0% 27 27 0   0% 2 0   0%
tests / test_postgresql.py PostgresqlDatabaseTestCase.test_RangeTimespanType.subquery   0% 1 1 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlRegistryTests.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlRegistryTests.getDataDir   0% 1 1 0   100% 0 0   0%
tests / test_postgresql.py PostgresqlRegistryTests.make_butler   0% 7 7 0   0% 2 0   0%
tests / test_postgresql.py PostgresqlRegistryTests.testSkipCalibs   0% 3 3 0   0% 2 0   0%
tests / test_postgresql.py (no function)   95% 43 2 2   100% 0 0   95%
tests / test_progress.py MockProgressBar.__init__   0% 5 5 0   100% 0 0   0%
tests / test_progress.py MockProgressBar.__iter__   0% 4 4 0   0% 2 0   0%
tests / test_progress.py MockProgressBar.update   0% 2 2 0   100% 0 0   0%
tests / test_progress.py MockProgressHandler.get_progress_bar   0% 1 1 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.tearDown   0% 3 3 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.get_cmd   0% 4 4 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.get_cmd.cmd   0% 6 6 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.test_click_disabled_by_default   0% 2 2 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.test_click_enabled   0% 2 2 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.test_click_disabled_globally   0% 2 2 0   100% 0 0   0%
tests / test_progress.py ClickProgressHandlerTestCase.test_click_disabled_by_log_level   0% 2 2 0   100% 0 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.setUp   0% 4 4 0   100% 0 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.tearDown   0% 3 3 0   100% 0 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_bar_iterable   0% 5 5 0   100% 0 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_bar_update   0% 4 4 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_fully_sized   0% 7 7 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_with_total   0% 7 7 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_total_false   0% 7 7 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_chunks_not_sized   0% 7 7 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_fully_sized   0% 7 7 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_with_total   0% 7 7 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_total_false   0% 7 7 0   0% 2 0   0%
tests / test_progress.py MockedProgressHandlerTestCase.test_iter_item_chunks_not_sized   0% 7 7 0   0% 2 0   0%
tests / test_progress.py (no function)   100% 37 0 2   100% 0 0   100%
tests / test_pydantic_utils.py Inner._validate   0% 3 3 0   0% 2 0   0%
tests / test_pydantic_utils.py DeferredValidationTestCase.test_json_schema   0% 1 1 0   100% 0 0   0%
tests / test_pydantic_utils.py DeferredValidationTestCase.test_dump_and_validate   0% 23 23 0   100% 0 0   0%
tests / test_pydantic_utils.py SerializableExtensionsTestCase.test_region   0% 18 18 0   100% 0 0   0%
tests / test_pydantic_utils.py SerializableExtensionsTestCase.test_time   0% 13 13 0   100% 0 0   0%
tests / test_pydantic_utils.py SerializableExtensionsTestCase.test_bytes_hex   0% 13 13 0   100% 0 0   0%
tests / test_pydantic_utils.py (no function)   100% 24 0 2   100% 0 0   100%
tests / test_quantum.py QuantumTestCase._buildFullQuantum   0% 33 33 0   0% 2 0   0%
tests / test_quantum.py QuantumTestCase.testConstructor   0% 10 10 0   100% 0 0   0%
tests / test_quantum.py QuantumTestCase.testSerialization   0% 23 23 0   100% 0 0   0%
tests / test_quantum.py (no function)   100% 12 0 2   100% 0 0   100%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.setUp   0% 32 32 0   0% 2 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.make_quantum   0% 12 12 0   0% 4 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_initialize   0% 4 4 0   100% 0 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_initialize_repo_index   0% 10 10 0   100% 0 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_from_predicted   0% 4 4 0   100% 0 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase._test_factory   0% 7 7 0   100% 0 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_getput   0% 41 41 0   0% 10 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_getDeferred   0% 17 17 0   0% 6 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_stored   0% 23 23 0   0% 10 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_markInputUnused   0% 13 13 0   0% 4 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_pruneDatasets   0% 28 28 0   0% 4 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_extract_provenance_data   0% 30 30 0   0% 10 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_export_predicted_datastore_records   0% 7 7 0   100% 0 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_collect_and_transfer   0% 23 23 0   0% 14 0   0%
tests / test_quantumBackedButler.py QuantumBackedButlerTestCase.test_record_data_merge_mappings   0% 10 10 0   0% 6 0   0%
tests / test_quantumBackedButler.py (no function)   100% 32 0 2   100% 0 0   100%
tests / test_query_direct_postgresql.py DirectButlerPostgreSQLTests.setUpClass   0% 1 1 0   100% 0 0   0%
tests / test_query_direct_postgresql.py DirectButlerPostgreSQLTests.make_butler   0% 8 8 0   0% 2 0   0%
tests / test_query_direct_postgresql.py (no function)   100% 15 0 2   100% 0 0   100%
tests / test_query_direct_sqlite.py DirectButlerSQLiteTests.make_butler   0% 5 5 0   0% 2 0   0%
tests / test_query_direct_sqlite.py (no function)   100% 10 0 2   100% 0 0   100%
tests / test_query_interface.py _TestVisitor.__init__   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_binary_expression   0% 15 15 0   0% 14 0   0%
tests / test_query_interface.py _TestVisitor.visit_comparison   0% 15 15 0   0% 14 0   0%
tests / test_query_interface.py _TestVisitor.visit_dataset_field_reference   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_dimension_field_reference   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_dimension_key_reference   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_in_container   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_in_range   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_in_query_tree   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_is_null   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_literal   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_reversed   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.visit_unary_expression   0% 7 7 0   0% 6 0   0%
tests / test_query_interface.py _TestVisitor.apply_logical_and   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.apply_logical_not   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestVisitor.apply_logical_or   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryExecution.__init__   0% 3 3 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryCount.__init__   0% 5 5 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryAny.__init__   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryExplainNoResults.__init__   0% 3 3 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.__init__   0% 8 8 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.universe   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.__enter__   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.__exit__   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.execute   0% 4 4 0   0% 4 0   0%
tests / test_query_interface.py _TestQueryDriver._make_next_page   0% 8 8 1   0% 6 0   0%
tests / test_query_interface.py _TestQueryDriver.materialize   0% 3 3 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.upload_data_coordinates   0% 3 3 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.count   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.any   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.explain_no_results   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py _TestQueryDriver.get_default_collections   0% 3 3 0   0% 2 0   0%
tests / test_query_interface.py _TestQueryDriver.get_dataset_type   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.setUp   0% 2 2 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.query   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_int_literals   0% 11 11 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_string_literals   0% 11 11 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_float_literals   0% 11 11 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_hash_literals   0% 11 11 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_uuid_literals   0% 12 12 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_datetime_literals   0% 12 12 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_timespan_literals   0% 14 14 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_region_literals   0% 13 13 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_invalid_literal   0% 2 2 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_dimension_key_reference   0% 10 10 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_dimension_field_reference   0% 13 13 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_dataset_field_reference   0% 16 16 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_unary_negation   0% 13 13 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_unary_timespan_begin   0% 16 16 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_unary_timespan_end   0% 16 16 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_binary_expression_float   0% 13 13 0   0% 2 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_binary_modulus   0% 13 13 0   0% 2 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_binary_expression_validation   0% 6 6 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_reversed   0% 11 11 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_trivial_predicate   0% 21 21 0   0% 6 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_comparison   0% 18 18 0   0% 4 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_overlap_comparison   0% 19 19 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_invalid_comparison   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_is_null   0% 15 15 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_in_container   0% 26 26 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_in_range   0% 24 24 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_in_query   0% 27 27 0   100% 0 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_complex_predicate   0% 9 9 0   0% 2 0   0%
tests / test_query_interface.py ColumnExpressionsTestCase.test_proxy_misc   0% 11 11 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.setUp   0% 8 8 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.query   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_join   0% 13 13 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_join.check   0% 46 46 0   0% 2 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_join.check.check_query_tree   0% 8 8 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_join.check.check_data_id_results   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_join.check.check_dataset_results   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_join.check.check_materialization   0% 19 19 0   0% 4 0   0%
tests / test_query_interface.py QueryTestCase.test_dimension_record_results   0% 20 20 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dimension_record_results.check   0% 23 23 0   0% 2 0   0%
tests / test_query_interface.py QueryTestCase.test_join_data_coordinate_table   0% 28 28 0   0% 4 0   0%
tests / test_query_interface.py QueryTestCase.test_dimension_record_iteration   0% 6 6 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dimension_record_iteration.make_record   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_data_coordinate_results   0% 14 14 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_data_coordinate_results.check   0% 23 23 0   0% 2 0   0%
tests / test_query_interface.py QueryTestCase.test_data_coordinate_iteration   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_data_coordinate_iteration.make_data_id   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_results   0% 16 16 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_results.check   0% 27 27 0   0% 2 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_iteration   0% 4 4 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_dataset_iteration.make_ref   0% 1 1 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_identifiers   0% 22 22 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_identifiers.extract_order_by   0% 3 3 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_invalid_models   0% 17 17 0   100% 0 0   0%
tests / test_query_interface.py QueryTestCase.test_general_result_spec   0% 19 19 0   100% 0 0   0%
tests / test_query_interface.py (no function)   100% 111 0 2   100% 0 0   100%
tests / test_query_remote.py RemoteButlerQueryTests.make_butler   0% 5 5 0   0% 2 0   0%
tests / test_query_remote.py (no function)   92% 13 1 2   50% 2 1   87%
tests / test_query_utilities.py ColumnSetTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_query_utilities.py ColumnSetTestCase.test_basics   0% 36 36 0   100% 0 0   0%
tests / test_query_utilities.py ColumnSetTestCase.test_drop_dimension_keys   0% 16 16 0   100% 0 0   0%
tests / test_query_utilities.py ColumnSetTestCase.test_get_column_spec   0% 27 27 0   100% 0 0   0%
tests / test_query_utilities.py _RecordingOverlapsVisitor.__init__   0% 6 6 0   100% 0 0   0%
tests / test_query_utilities.py _RecordingOverlapsVisitor.visit_spatial_constraint   0% 2 2 0   100% 0 0   0%
tests / test_query_utilities.py _RecordingOverlapsVisitor.visit_spatial_join   0% 2 2 0   100% 0 0   0%
tests / test_query_utilities.py _RecordingOverlapsVisitor.visit_temporal_dimension_join   0% 2 2 0   100% 0 0   0%
tests / test_query_utilities.py _RecordingOverlapsVisitor.visit_validity_range_dimension_join   0% 2 2 0   100% 0 0   0%
tests / test_query_utilities.py _RecordingOverlapsVisitor.visit_validity_range_join   0% 2 2 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.run_visitor   0% 6 6 0   0% 2 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.test_trivial   0% 9 9 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.test_one_spatial_family   0% 23 23 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.test_single_unambiguous_spatial_join   0% 25 25 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.test_single_flexible_spatial_join   0% 17 17 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.test_multiple_spatial_joins   0% 13 13 0   100% 0 0   0%
tests / test_query_utilities.py OverlapsVisitorTestCase.test_one_temporal_family   0% 30 30 0   100% 0 0   0%
tests / test_query_utilities.py NaiveDisjointSetTestCase.test_naive_disjoint_set   0% 8 8 0   100% 0 0   0%
tests / test_query_utilities.py (no function)   100% 34 0 2   100% 0 0   100%
tests / test_remote_butler.py RemoteButlerConfigTests.test_bad_config   0% 2 2 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerErrorHandlingTests.setUp   0% 3 3 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerErrorHandlingTests._mock_error_response   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerErrorHandlingTests.test_internal_server_error   0% 3 3 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerErrorHandlingTests.test_unknown_error_type   0% 3 3 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerErrorHandlingTests.test_non_json_error   0% 3 3 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerErrorHandlingTests.test_malformed_error   0% 3 3 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerMiscTests.test_retrieve_artifacts_security   0% 4 4 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.setUp   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.getDataDir   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.make_butler   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.testBasicTransaction   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.testNestedTransaction   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.testOpaque   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.testCollectionChainPrependConcurrency   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.testCollectionChainReplaceConcurrency   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.testCollectionChainRemoveConcurrency   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerRegistryTests.testAttributeManager   0% 1 1 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerPostgresRegistryTests.setUpClass   0% 2 2 0   100% 0 0   0%
tests / test_remote_butler.py RemoteButlerPostgresRegistryTests.testSkipCalibs   0% 3 3 0   0% 2 0   0%
tests / test_remote_butler.py (no function)   94% 51 3 2   50% 2 1   92%
tests / test_server.py ButlerClientServerTestCase.setUpClass   0% 13 13 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_health_check   0% 8 8 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_static_files   0% 9 9 0   0% 2 0   0%
tests / test_server.py ButlerClientServerTestCase.test_dimension_universe   0% 2 2 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_get_dataset_type   0% 4 4 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_find_dataset   0% 21 21 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_instantiate_via_butler_http_search   0% 17 17 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_instantiate_via_butler_http_search.override_read   0% 1 1 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_get   0% 40 40 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_get.check_sc_override   0% 3 3 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_getURIs_no_components   0% 5 5 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_getURIs_no_components.check_uri   0% 3 3 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_getURIs_multiple_components   0% 12 12 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_getURIs_multiple_components.check_uris   0% 6 6 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_file_download_redirect   0% 25 25 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_file_download_redirect.get_download_redirect   0% 2 2 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_auth_check   0% 2 2 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_exception_logging   0% 17 17 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_exception_logging.raise_error   0% 1 1 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_exception_logging.noop   0% 1 1 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_exception_logging.get_logger   0% 1 1 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_query_keepalive   0% 8 8 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_query_retries   0% 19 19 0   0% 2 0   0%
tests / test_server.py ButlerClientServerTestCase.test_query_retries.block_first_request   0% 2 2 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_query_retries.block_second_request   0% 1 1 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_query_retries.do_query   0% 1 1 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_deprecated_collection_endpoints   0% 5 5 0   100% 0 0   0%
tests / test_server.py ButlerClientServerTestCase.test_oversized_data_coordinate_upload   0% 6 6 0   100% 0 0   0%
tests / test_server.py ButlerClientServerAuthorizationTestCase.test_group_authorization   0% 16 16 0   100% 0 0   0%
tests / test_server.py ButlerClientServerAuthorizationTestCase.test_cadc_auth   0% 16 16 0   100% 0 0   0%
tests / test_server.py ButlerClientServerAuthorizationTestCase.test_cadc_auth.check_path   0% 4 4 0   100% 0 0   0%
tests / test_server.py _create_corrupted_dataset   0% 6 6 0   100% 0 0   0%
tests / test_server.py _create_simple_dataset   0% 3 3 0   100% 0 0   0%
tests / test_server.py _timeout_twice   0% 3 3 0   100% 0 0   0%
tests / test_server.py _timeout_twice.timeout   0% 4 4 0   0% 2 0   0%
tests / test_server.py QueryLimitsTestCase.test_query_limits   0% 8 8 0   100% 0 0   0%
tests / test_server.py (no function)   75% 67 17 2   50% 2 1   74%
tests / test_simpleButler.py SimpleButlerTests.makeButler   100% 0 0 1   100% 0 0   100%
tests / test_simpleButler.py SimpleButlerTests.comparableRef   0% 1 1 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.testReadBackwardsCompatibility   0% 4 4 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.testDatasetTransfers   0% 13 13 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.testImportTwice   0% 14 14 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.testCollectionTransfers   0% 44 44 0   0% 2 0   0%
tests / test_simpleButler.py SimpleButlerTests.testButlerGet   0% 22 22 0   0% 4 0   0%
tests / test_simpleButler.py SimpleButlerTests.testGetCalibration   0% 59 59 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.testRegistryDefaults   0% 35 35 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.testJson   0% 14 14 0   0% 6 0   0%
tests / test_simpleButler.py SimpleButlerTests.test_populated_by   0% 8 8 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.testJsonDimensionRecordsAndHtmlRepresentation   0% 16 16 0   0% 6 0   0%
tests / test_simpleButler.py SimpleButlerTests.test_dimension_records_import   0% 8 8 0   0% 2 0   0%
tests / test_simpleButler.py SimpleButlerTests.testWildcardQueries   0% 17 17 0   0% 8 0   0%
tests / test_simpleButler.py SimpleButlerTests.test_skypix_templates   0% 12 12 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.test_expand_changed_id   0% 5 5 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.test_clone   0% 28 28 0   100% 0 0   0%
tests / test_simpleButler.py SimpleButlerTests.test_calibration_dataset_type_registration   0% 20 20 0   100% 0 0   0%
tests / test_simpleButler.py DirectSimpleButlerTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_simpleButler.py DirectSimpleButlerTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_simpleButler.py DirectSimpleButlerTestCase.makeButler   0% 14 14 0   100% 0 0   0%
tests / test_simpleButler.py DirectSimpleButlerTestCase.test_dataset_uris   0% 35 35 0   0% 4 0   0%
tests / test_simpleButler.py RemoteSimpleButlerTestCase.makeButler   0% 5 5 0   100% 0 0   0%
tests / test_simpleButler.py _mock_get_dataset_as_python_object   0% 1 1 0   100% 0 0   0%
tests / test_simpleButler.py (no function)   95% 58 3 2   50% 2 1   93%
tests / test_sqlite.py removeWritePermission   0% 5 5 0   100% 0 0   0%
tests / test_sqlite.py isEmptyDatabaseActuallyWriteable   0% 7 7 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileDatabaseTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileDatabaseTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileDatabaseTestCase.makeEmptyDatabase   0% 5 5 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileDatabaseTestCase.getNewConnection   0% 4 4 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileDatabaseTestCase.asReadOnly   0% 2 2 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileDatabaseTestCase.testConnection   0% 28 28 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileDatabaseTestCase.testTransactionLocking   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryDatabaseTestCase.makeEmptyDatabase   0% 4 4 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryDatabaseTestCase.getNewConnection   0% 3 3 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryDatabaseTestCase.asReadOnly   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryDatabaseTestCase.testConnection   0% 16 16 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryDatabaseTestCase.testTransactionLocking   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileRegistryTests.setUp   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileRegistryTests.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileRegistryTests.getDataDir   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteFileRegistryTests.make_butler   0% 7 7 0   0% 2 0   0%
tests / test_sqlite.py ClonedSqliteFileRegistryNameKeyCollMgrUUIDTestCase.make_butler   0% 2 2 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryRegistryTests.getDataDir   0% 1 1 0   100% 0 0   0%
tests / test_sqlite.py SqliteMemoryRegistryTests.make_butler   0% 5 5 0   0% 2 0   0%
tests / test_sqlite.py SqliteMemoryRegistryTests.testMissingAttributes   0% 4 4 0   100% 0 0   0%
tests / test_sqlite.py (no function)   100% 62 0 2   100% 0 0   100%
tests / test_storageClass.py NotCopyable.__deepcopy__   0% 1 1 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testCreation   0% 33 33 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testParameters   0% 12 12 0   0% 2 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testEquality   0% 23 23 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testTypeEquality   0% 5 5 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testRegistry   0% 34 34 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testFactoryFind   0% 12 12 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testFactoryConfig   0% 24 24 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testPickle   0% 7 7 0   100% 0 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase._convert_type   0% 3 3 0   0% 2 0   0%
tests / test_storageClass.py StorageClassFactoryTestCase.testConverters   0% 30 30 0   100% 0 0   0%
tests / test_storageClass.py (no function)   100% 29 0 2   100% 0 0   100%
tests / test_templates.py TestFileTemplates.makeDatasetRef   0% 10 10 0   0% 4 0   0%
tests / test_templates.py TestFileTemplates.setUp   0% 2 2 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.assertTemplate   0% 3 3 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testBasic   0% 28 28 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testAlternates   0% 4 4 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testRunOrCollectionNeeded   0% 3 3 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testNoRecord   0% 4 4 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testOptional   0% 13 13 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testComponent   0% 14 14 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testFields   0% 12 12 0   0% 2 0   0%
tests / test_templates.py TestFileTemplates.testSimpleConfig   0% 52 52 0   100% 0 0   0%
tests / test_templates.py TestFileTemplates.testValidation   0% 21 21 0   100% 0 0   0%
tests / test_templates.py (no function)   100% 21 0 2   100% 0 0   100%
tests / test_testRepo.py ButlerTestRepoTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_testRepo.py ButlerTestRepoTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_testRepo.py ButlerTestRepoTestCase.testMakeTestRepo   0% 5 5 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.setUpClass   0% 13 13 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.tearDownClass   0% 1 1 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.setUp   0% 1 1 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testButlerValid   0% 1 1 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testButlerKwargs   0% 5 5 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite._checkButlerDimension   0% 3 3 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testButlerDimensions   0% 4 4 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testAddDataIdValue   0% 16 16 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testAddDatasetType   0% 7 7 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testRegisterMetricsExample   0% 8 8 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testRegisterMetricsExampleChained   0% 13 13 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testUniqueButler   0% 7 7 0   100% 0 0   0%
tests / test_testRepo.py ButlerUtilsTestSuite.testExpandUniqueId   0% 6 6 0   100% 0 0   0%
tests / test_testRepo.py (no function)   100% 27 0 2   100% 0 0   100%
tests / test_thread_utils.py ThreadSafeCacheTestCase.test_cache   0% 7 7 0   100% 0 0   0%
tests / test_thread_utils.py NamedLocksTestCase.test_named_locks   0% 13 13 0   100% 0 0   0%
tests / test_thread_utils.py LockedObjectTestCase.test_named_locks   0% 7 7 0   100% 0 0   0%
tests / test_thread_utils.py (no function)   100% 10 0 2   100% 0 0   100%
tests / test_time_utils.py TimeTestCase.test_time_before_epoch   0% 5 5 0   100% 0 0   0%
tests / test_time_utils.py TimeTestCase.test_max_time   0% 13 13 0   0% 2 0   0%
tests / test_time_utils.py TimeTestCase.test_round_trip   0% 12 12 0   0% 6 0   0%
tests / test_time_utils.py TimeTestCase.test_times_equal   0% 30 30 0   100% 0 0   0%
tests / test_time_utils.py (no function)   86% 14 2 2   100% 0 0   86%
tests / test_timespan.py TimespanTestCase.setUp   0% 8 8 0   100% 0 0   0%
tests / test_timespan.py TimespanTestCase.testEmpty   0% 23 23 0   0% 4 0   0%
tests / test_timespan.py TimespanTestCase.testFromInstant   0% 1 1 0   100% 0 0   0%
tests / test_timespan.py TimespanTestCase.testInvalid   0% 13 13 0   100% 0 0   0%
tests / test_timespan.py TimespanTestCase.testStrings   0% 13 13 0   0% 8 0   0%
tests / test_timespan.py TimespanTestCase.testOperationConsistency   0% 36 36 0   0% 22 0   0%
tests / test_timespan.py TimespanTestCase.testPrecision   0% 14 14 0   100% 0 0   0%
tests / test_timespan.py TimespanTestCase.testTimescales   0% 3 3 0   100% 0 0   0%
tests / test_timespan.py TimespanTestCase.testFuture   0% 10 10 0   0% 2 0   0%
tests / test_timespan.py TimespanTestCase.test_serialization   0% 13 13 0   100% 0 0   0%
tests / test_timespan.py TimespanTestCase.test_day_obs   0% 7 7 0   0% 2 0   0%
tests / test_timespan.py (no function)   92% 24 2 2   100% 0 0   92%
tests / test_utils.py NamedKeyDictTest.setUp   0% 5 5 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.check   0% 7 7 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testConstruction   0% 2 2 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testDuplicateNameConstruction   0% 5 5 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testNoNameConstruction   0% 5 5 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testGetItem   0% 7 7 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testSetItem   0% 9 9 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testDelItem   0% 6 6 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testIter   0% 1 1 0   100% 0 0   0%
tests / test_utils.py NamedKeyDictTest.testEquality   0% 3 3 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.setUp   0% 4 4 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.testConstruction   0% 6 6 0   0% 4 0   0%
tests / test_utils.py NamedValueSetTest.testNoNameConstruction   0% 2 2 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.testGetItem   0% 7 7 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.testEquality   0% 4 4 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.checkOperator   0% 2 2 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.testOperators   0% 6 6 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.testPop   0% 7 7 0   100% 0 0   0%
tests / test_utils.py NamedValueSetTest.testRemove   0% 9 9 0   100% 0 0   0%
tests / test_utils.py GlobToRegexTestCase.testStarInList   0% 3 3 0   100% 0 0   0%
tests / test_utils.py GlobToRegexTestCase.testGlobList   0% 14 14 0   0% 8 0   0%
tests / test_utils.py (no function)   100% 31 0 2   100% 0 0   100%
tests / test_uuid.py UUIDv7TestCase.test_generate_uuidv7   0% 11 11 0   100% 0 0   0%
tests / test_uuid.py (no function)   100% 6 0 0   100% 0 0   100%
tests / test_versioning.py Manager0.currentVersions   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py Manager1.currentVersions   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py Manager1_1.currentVersions   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py Manager2.currentVersions   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py Manager2._newDefaultSchemaVersion   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py SchemaVersioningTestCase.setUp   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py SchemaVersioningTestCase.tearDown   0% 1 1 0   100% 0 0   0%
tests / test_versioning.py SchemaVersioningTestCase.makeEmptyDatabase   0% 5 5 0   100% 0 0   0%
tests / test_versioning.py SchemaVersioningTestCase.test_new_schema   0% 28 28 0   0% 6 0   0%
tests / test_versioning.py SchemaVersioningTestCase.test_existing_schema   0% 27 27 0   0% 6 0   0%
tests / test_versioning.py SchemaVersioningTestCase.test_compatibility   0% 7 7 0   0% 4 0   0%
tests / test_versioning.py (no function)   100% 36 0 2   100% 0 0   100%
Total     26% 49850 36997 1064   2% 11682 107   21%

No items found using the specified filter.