lsst-daf-butler 29.2025.2500__tar.gz → 29.2025.2700__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lsst_daf_butler-29.2025.2500/python/lsst_daf_butler.egg-info → lsst_daf_butler-29.2025.2700}/PKG-INFO +1 -1
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_record_set.py +65 -45
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_records.py +24 -9
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/_config.py +5 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/_records.py +28 -2
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/sql_registry.py +41 -14
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/transfers/_context.py +3 -7
- lsst_daf_butler-29.2025.2700/python/lsst/daf/butler/version.py +2 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700/python/lsst_daf_butler.egg-info}/PKG-INFO +1 -1
- lsst_daf_butler-29.2025.2500/python/lsst/daf/butler/version.py +0 -2
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/COPYRIGHT +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/LICENSE +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/MANIFEST.in +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/README.md +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/bsd_license.txt +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/CHANGES.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/concreteStorageClasses.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/configuring.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/datastores.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/dimensions.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/formatters.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/index.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/organizing.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/queries.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/use-in-tests.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/writing-subcommands.rst +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/gpl-v3.0.txt +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/pyproject.toml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_butler_config.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_butler_instance_options.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_butler_metrics.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_butler_repo_index.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_collection_type.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_column_categorization.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_column_tags.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_column_type_info.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_config.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_config_support.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_dataset_association.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_dataset_existence.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_dataset_provenance.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_dataset_ref.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_dataset_type.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_deferredDatasetHandle.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_exceptions.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_exceptions_legacy.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_file_dataset.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_file_descriptor.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_formatter.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_labeled_butler_factory.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_limited_butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_location.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_named.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_quantum.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_quantum_backed.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_query_all_datasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_registry_shim.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_storage_class.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_storage_class_delegate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_timespan.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_topology.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_utilities/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_utilities/locked_object.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_utilities/named_locks.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_utilities/thread_safe_cache.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/arrow_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/cliLog.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/cmd/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/cmd/_remove_collections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/cmd/_remove_runs.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/cmd/commands.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/opt/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/opt/arguments.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/opt/optionGroups.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/opt/options.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/progress.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/column_spec.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/datastore.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/datastores/composites.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/datastores/fileDatastore.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/datastores/formatters.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/datastores/writeRecipes.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/dimensions.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe0.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe1.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe2.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe3.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe4.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe5.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe6.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe7.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/registry.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/repo_transfer_formats.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/configs/storageClasses.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/_datastore.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/_transfer.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/cache_manager.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/composites.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/constraints.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/file_templates.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/generic_base.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/record_data.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastore/stored_file_info.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/chainedDatastore.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/fileDatastore.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/fileDatastoreClient.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/file_datastore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/file_datastore/get.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/file_datastore/retrieve_artifacts.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/file_datastore/transfer.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/datastores/inMemoryDatastore.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/ddl.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/delegates/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/delegates/arrowtable.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_config.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_coordinate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_database.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_elements.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_governor.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_group.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_packer.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_record_table.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_schema.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_skypix.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/_universe.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/construction.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/dimensions/record_cache.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_butler/_direct_butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_butler/_direct_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/_driver.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/_postprocessing.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/_query_analysis.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/_query_builder.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/_result_page_converter.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/_sql_builders.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/astropyTable.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/file.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/json.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/logs.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/matplotlib.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/packages.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/parquet.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/pickle.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/typeless.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/formatters/yaml.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/json.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/logging.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/mapping_factory.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/name_shrinker.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/nonempty_mapping.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/persistence_context.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/progress.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/py.typed +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/pydantic_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_base.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_data_coordinate_query_results.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_dataset_query_results.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_dimension_record_query_results.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_expression_strings.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_general_query_results.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_identifiers.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/_query.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/convert_args.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/driver.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/expression_factory.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/overlaps.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/predicate_constraints_summary.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/result_specs.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/_base.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/_column_expression.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/_column_literal.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/_column_reference.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/_column_set.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/_predicate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/tree/_query_tree.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/queries/visitors.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_caching_context.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_collection_record_cache.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_collection_summary.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_collection_summary_cache.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_config.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_defaults.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_exceptions.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_registry.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/_registry_factory.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/attributes.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/bridge/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/bridge/ephemeral.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/bridge/monolithic.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/collections/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/collections/_base.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/collections/nameKey.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/collections/synthIntKey.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/connectionString.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/databases/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/databases/postgresql.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/databases/sqlite.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/datasets/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/datasets/byDimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/datasets/byDimensions/_dataset_type_cache.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/datasets/byDimensions/_manager.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/datasets/byDimensions/summaries.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/datasets/byDimensions/tables.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/dimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/dimensions/static.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_attributes.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_bridge.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_collections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_database.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_database_explain.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_datasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_dimensions.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_obscore.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_opaque.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/interfaces/_versioning.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/managers.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/nameShrinker.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/_manager.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/_schema.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/_spatial.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/default_spatial.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/obscore/pgsphere.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/opaque.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_builder.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_query.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_query_backend.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_query_context.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_readers.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_results.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_sql_query_backend.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_sql_query_context.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/_structs.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/butler_sql_engine.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/_predicate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/categorize.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/check.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/normalForm.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/parser.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/queries/find_first_dataset.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/tests/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/tests/_database.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/tests/_registry.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/versions.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/registry/wildcards.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_authentication.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_collection_args.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_config.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_defaults.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_errors.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_factory.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_http_connection.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_query_driver.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_query_results.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_ref_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_registry.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_remote_butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_remote_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/_remote_file_transfer_source.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/registry/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/registry/_query_common.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/registry/_query_data_coordinates.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/registry/_query_datasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/registry/_query_dimension_records.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/_config.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/_dependencies.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/_factory.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/_gafaelfawr.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/_server.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/_telemetry.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/handlers/_external.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/handlers/_external_query.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/handlers/_internal.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/handlers/_query_limits.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/handlers/_query_serialization.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/handlers/_query_streaming.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server/handlers/_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/remote_butler/server_models.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/repo_relocation.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/_associate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/_pruneDatasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/butlerImport.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/certifyCalibrations.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/collectionChain.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/configDump.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/configValidate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/createRepo.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/exportCalibs.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/ingest_files.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/ingest_zip.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/queryCollections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/queryDataIds.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/queryDatasetTypes.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/queryDatasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/queryDimensionRecords.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/register_dataset_type.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/removeCollections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/removeDatasetType.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/removeRuns.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/retrieveArtifacts.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/script/transferDatasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/_datasetsHelper.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/_dummyRegistry.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/_examplePythonTypes.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/_testRepo.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/butler_queries.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/cliCmdTestBase.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/cliLogTestBase.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/deferredFormatter.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/dict_convertible_model.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/hybrid_butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/hybrid_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/hybrid_butler_registry.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/postgresql.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/base.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/ci_hsc-subset-skymap.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/ci_hsc-subset.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/datasets.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/hsc-rc2-subset-v0.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/spatial.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/registry_data/spatial.yaml +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/server.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/server_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/testFormatters.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/tests/utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/time_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/timespan_database_representation.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/transfers/__init__.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/transfers/_interfaces.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/transfers/_yaml.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst_daf_butler.egg-info/SOURCES.txt +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst_daf_butler.egg-info/dependency_links.txt +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst_daf_butler.egg-info/entry_points.txt +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst_daf_butler.egg-info/requires.txt +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst_daf_butler.egg-info/top_level.txt +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst_daf_butler.egg-info/zip-safe +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/setup.cfg +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_astropyTableFormatter.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_authentication.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_butler_factory.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdAssociate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdConfigDump.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdConfigValidate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdCreate.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdImport.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdIngestFiles.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdPruneDatasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdQueryCollections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdQueryDataIds.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdQueryDatasetTypes.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdQueryDatasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdQueryDimensionRecords.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdRemoveCollections.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdRemoveRuns.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliCmdRetrieveArtifacts.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliLog.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliPluginLoader.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliUtilSplitCommas.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliUtilSplitKv.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliUtilToUpper.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_cliUtils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_column_spec.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_composites.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_config.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_connectionString.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_constraints.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_datasets.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_datastore.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_ddl.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_dimension_record_containers.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_dimensions.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_exprParserLex.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_exprParserYacc.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_expressions.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_formatter.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_gafaelfawr.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_location.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_logFormatter.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_logging.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_matplotlibFormatter.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_nonempty_mapping.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_normalFormExpression.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_obscore.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_packages.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_parquet.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_postgresql.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_progress.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_pydantic_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_quantum.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_quantumBackedButler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_query_direct_postgresql.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_query_direct_sqlite.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_query_interface.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_query_relations.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_query_remote.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_query_utilities.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_remote_butler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_server.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_simpleButler.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_sqlite.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_storageClass.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_templates.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_testRepo.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_thread_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_time_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_timespan.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_utils.py +0 -0
- {lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/tests/test_versioning.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-daf-butler
|
|
3
|
-
Version: 29.2025.
|
|
3
|
+
Version: 29.2025.2700
|
|
4
4
|
Summary: An abstraction layer for reading and writing astronomical data to datastores.
|
|
5
5
|
Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -809,8 +809,7 @@ class DimensionDataAttacher:
|
|
|
809
809
|
been referenced in at least one of the constructor arguments.
|
|
810
810
|
data_ids : `~collections.abc.Iterable` [ `DataCoordinate` ]
|
|
811
811
|
Data IDs to attach dimension records to (not in place; data
|
|
812
|
-
coordinates are immutable).
|
|
813
|
-
as well as required dimensions).
|
|
812
|
+
coordinates are immutable).
|
|
814
813
|
query : `.queries.Query`, optional
|
|
815
814
|
A butler query that can be used to look up missing dimension
|
|
816
815
|
records. Records fetched via query are cached in the `records`
|
|
@@ -822,49 +821,41 @@ class DimensionDataAttacher:
|
|
|
822
821
|
Data IDs with dimension records attached, in the same order as the
|
|
823
822
|
original iterable.
|
|
824
823
|
"""
|
|
825
|
-
incomplete: list[_InProgressRecordDicts] = []
|
|
826
824
|
lookup_helpers = [
|
|
827
825
|
_DimensionRecordLookupHelper.build(dimensions, element_name, self)
|
|
828
|
-
for element_name in dimensions.
|
|
826
|
+
for element_name in dimensions.lookup_order
|
|
829
827
|
]
|
|
830
|
-
|
|
831
|
-
for
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
if
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
f"No dimension record for element(s) {list(records.missing.keys())} "
|
|
856
|
-
f"for data ID {result[records.index]}. "
|
|
857
|
-
f"{len(incomplete)} data ID{' was' if len(incomplete) == 1 else 's were'} "
|
|
858
|
-
"missing at least one record."
|
|
859
|
-
)
|
|
860
|
-
return result
|
|
828
|
+
records = [_InProgressRecordDicts(data_id) for data_id in data_ids]
|
|
829
|
+
for lookup_helper in lookup_helpers:
|
|
830
|
+
for r in records:
|
|
831
|
+
lookup_helper.lookup(r)
|
|
832
|
+
incomplete = lookup_helper.incomplete_records
|
|
833
|
+
if incomplete:
|
|
834
|
+
if query is not None:
|
|
835
|
+
lookup_helper.fetch_missing(query)
|
|
836
|
+
# We may still be missing records at this point, if they
|
|
837
|
+
# were not available in the database.
|
|
838
|
+
# This is intentional, because in existing Butler
|
|
839
|
+
# repositories dimension records are not always fully
|
|
840
|
+
# populated. (For example, it is common for a visit to
|
|
841
|
+
# exist without corresponding visit_detector_region
|
|
842
|
+
# records, since these are populated at different times
|
|
843
|
+
# by different processes.)
|
|
844
|
+
else:
|
|
845
|
+
raise LookupError(
|
|
846
|
+
f"No dimension record for element '{lookup_helper.element}' "
|
|
847
|
+
f"for data ID {incomplete[0].data_id}. "
|
|
848
|
+
f"{len(incomplete)} data ID{' was' if len(incomplete) == 1 else 's were'} "
|
|
849
|
+
"missing at least one record."
|
|
850
|
+
)
|
|
851
|
+
|
|
852
|
+
return [r.data_id.expanded(r.done) for r in records]
|
|
861
853
|
|
|
862
854
|
|
|
863
855
|
@dataclasses.dataclass
|
|
864
856
|
class _InProgressRecordDicts:
|
|
865
|
-
|
|
857
|
+
data_id: DataCoordinate
|
|
866
858
|
done: dict[str, DimensionRecord] = dataclasses.field(default_factory=dict)
|
|
867
|
-
missing: dict[str, tuple[DataIdValue, ...]] = dataclasses.field(default_factory=dict)
|
|
868
859
|
|
|
869
860
|
|
|
870
861
|
@dataclasses.dataclass
|
|
@@ -873,7 +864,7 @@ class _DimensionRecordLookupHelper:
|
|
|
873
864
|
# tuple in the to-be-expanded data ID's full-values tuple.
|
|
874
865
|
indices: list[int]
|
|
875
866
|
record_set: DimensionRecordSet
|
|
876
|
-
|
|
867
|
+
incomplete_records: list[_InProgressRecordDicts] = dataclasses.field(default_factory=list)
|
|
877
868
|
|
|
878
869
|
@property
|
|
879
870
|
def element(self) -> str:
|
|
@@ -902,33 +893,62 @@ class _DimensionRecordLookupHelper:
|
|
|
902
893
|
else:
|
|
903
894
|
return _DimensionRecordLookupHelper(indices, attacher.records[element])
|
|
904
895
|
|
|
905
|
-
def lookup(self,
|
|
906
|
-
required_values =
|
|
896
|
+
def lookup(self, records: _InProgressRecordDicts) -> None:
|
|
897
|
+
required_values = self._get_required_values(records)
|
|
907
898
|
if (result := self.record_set._by_required_values.get(required_values)) is None:
|
|
908
899
|
result = self.fallback(required_values)
|
|
909
900
|
if result is not None:
|
|
910
901
|
self.record_set.add(result)
|
|
911
902
|
records.done[self.element] = result
|
|
912
903
|
else:
|
|
913
|
-
|
|
914
|
-
self.missing.add(required_values)
|
|
904
|
+
self.incomplete_records.append(records)
|
|
915
905
|
else:
|
|
916
906
|
records.done[self.element] = result
|
|
917
907
|
|
|
908
|
+
def _get_required_values(self, records: _InProgressRecordDicts) -> tuple[DataIdValue, ...]:
|
|
909
|
+
if records.data_id.hasFull():
|
|
910
|
+
full_values = records.data_id.full_values
|
|
911
|
+
return tuple([full_values[i] for i in self.indices])
|
|
912
|
+
else:
|
|
913
|
+
values = []
|
|
914
|
+
dimensions = self.record_set.element.minimal_group.required
|
|
915
|
+
for dimension in dimensions:
|
|
916
|
+
value = records.data_id.get(dimension)
|
|
917
|
+
if value is None:
|
|
918
|
+
value = self._find_implied_value(dimension, records)
|
|
919
|
+
values.append(value)
|
|
920
|
+
return tuple(values)
|
|
921
|
+
|
|
922
|
+
def _find_implied_value(self, implied_dimension: str, records: _InProgressRecordDicts) -> DataIdValue:
|
|
923
|
+
for rec in records.done.values():
|
|
924
|
+
if implied_dimension in rec.definition.implied:
|
|
925
|
+
return rec.get(implied_dimension)
|
|
926
|
+
|
|
927
|
+
raise LookupError(
|
|
928
|
+
f"Implied value for dimension '{implied_dimension}' not found in records for"
|
|
929
|
+
f" {list(records.done.keys())}"
|
|
930
|
+
)
|
|
931
|
+
|
|
918
932
|
def fallback(self, required_values: tuple[DataIdValue, ...]) -> DimensionRecord | None:
|
|
919
933
|
return None
|
|
920
934
|
|
|
921
935
|
def fetch_missing(self, query: Query) -> None:
|
|
922
|
-
if self.
|
|
936
|
+
if self.incomplete_records:
|
|
937
|
+
missing_values = set(self._get_required_values(r) for r in self.incomplete_records)
|
|
923
938
|
self.record_set.update(
|
|
924
939
|
query.join_data_coordinates(
|
|
925
940
|
[
|
|
926
|
-
DataCoordinate.from_required_values(self.record_set.element.minimal_group,
|
|
927
|
-
for
|
|
941
|
+
DataCoordinate.from_required_values(self.record_set.element.minimal_group, values)
|
|
942
|
+
for values in missing_values
|
|
928
943
|
]
|
|
929
944
|
).dimension_records(self.record_set.element.name)
|
|
930
945
|
)
|
|
931
946
|
|
|
947
|
+
missing = self.incomplete_records
|
|
948
|
+
self.incomplete_records = list()
|
|
949
|
+
for record in missing:
|
|
950
|
+
self.lookup(record)
|
|
951
|
+
|
|
932
952
|
|
|
933
953
|
@dataclasses.dataclass
|
|
934
954
|
class _DeserializingDimensionRecordLookupHelper(_DimensionRecordLookupHelper):
|
|
@@ -34,15 +34,7 @@ from collections.abc import Hashable
|
|
|
34
34
|
from typing import TYPE_CHECKING, Any, ClassVar, TypeAlias
|
|
35
35
|
|
|
36
36
|
import pydantic
|
|
37
|
-
from pydantic import
|
|
38
|
-
BaseModel,
|
|
39
|
-
Field,
|
|
40
|
-
StrictBool,
|
|
41
|
-
StrictFloat,
|
|
42
|
-
StrictInt,
|
|
43
|
-
StrictStr,
|
|
44
|
-
create_model,
|
|
45
|
-
)
|
|
37
|
+
from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt, StrictStr, create_model
|
|
46
38
|
|
|
47
39
|
import lsst.sphgeom
|
|
48
40
|
from lsst.utils.classes import immutable
|
|
@@ -533,6 +525,29 @@ class DimensionRecord:
|
|
|
533
525
|
results["datetime_end"] = timespan.end
|
|
534
526
|
return results
|
|
535
527
|
|
|
528
|
+
def get(self, name: str) -> Any:
|
|
529
|
+
"""Return a single metadata value associated with this record.
|
|
530
|
+
|
|
531
|
+
Parameters
|
|
532
|
+
----------
|
|
533
|
+
name : `str`
|
|
534
|
+
Key of the metadata value to be retrieved.
|
|
535
|
+
|
|
536
|
+
Returns
|
|
537
|
+
-------
|
|
538
|
+
value
|
|
539
|
+
The metadata value.
|
|
540
|
+
|
|
541
|
+
Raises
|
|
542
|
+
------
|
|
543
|
+
KeyError
|
|
544
|
+
If the given name is not a valid key in this dimension record.
|
|
545
|
+
"""
|
|
546
|
+
if name not in self.__slots__:
|
|
547
|
+
raise KeyError(f"'{name}' is not a valid record key for dimension '{self.definition.name}'")
|
|
548
|
+
|
|
549
|
+
return getattr(self, name)
|
|
550
|
+
|
|
536
551
|
def serialize_key_value(self) -> SerializedKeyValueDimensionRecord:
|
|
537
552
|
"""Serialize this record to a `list` that can be sliced into a key
|
|
538
553
|
(data ID values) / value (everything else) pair.
|
|
@@ -101,6 +101,11 @@ class DatasetTypeConfig(pydantic.BaseModel):
|
|
|
101
101
|
"""Value for the ``obs_collection`` column, if specified it overrides
|
|
102
102
|
global value in `ObsCoreConfig`."""
|
|
103
103
|
|
|
104
|
+
s_xel: tuple[int, int] | None = None
|
|
105
|
+
"""The number of pixels in the first and second dimension of the dataset
|
|
106
|
+
type.
|
|
107
|
+
"""
|
|
108
|
+
|
|
104
109
|
extra_columns: (
|
|
105
110
|
None | (dict[str, StrictFloat | StrictInt | StrictBool | StrictStr | ExtraColumnConfig])
|
|
106
111
|
) = None
|
|
@@ -179,6 +179,10 @@ class RecordFactory:
|
|
|
179
179
|
record["obs_collection"] = self.config.obs_collection
|
|
180
180
|
record["access_format"] = dataset_config.access_format
|
|
181
181
|
|
|
182
|
+
if dataset_config.s_xel is not None:
|
|
183
|
+
record["s_xel1"] = dataset_config.s_xel[0]
|
|
184
|
+
record["s_xel2"] = dataset_config.s_xel[1]
|
|
185
|
+
|
|
182
186
|
dataId = ref.dataId
|
|
183
187
|
dataset_type_name = ref.datasetType.name
|
|
184
188
|
|
|
@@ -190,6 +194,11 @@ class RecordFactory:
|
|
|
190
194
|
fmt_kws.update(run=ref.run)
|
|
191
195
|
fmt_kws.update(dataset_type=dataset_type_name)
|
|
192
196
|
fmt_kws.update(record)
|
|
197
|
+
|
|
198
|
+
# In some cases we would like some keys to be duplicated
|
|
199
|
+
# with different names. For example making an exposure be a visit.
|
|
200
|
+
self.finalize_format_keywords(fmt_kws)
|
|
201
|
+
|
|
193
202
|
if dataset_config.obs_id_fmt:
|
|
194
203
|
record["obs_id"] = dataset_config.obs_id_fmt.format(**fmt_kws)
|
|
195
204
|
fmt_kws["obs_id"] = record["obs_id"]
|
|
@@ -330,6 +339,17 @@ class RecordFactory:
|
|
|
330
339
|
raise
|
|
331
340
|
return record
|
|
332
341
|
|
|
342
|
+
def finalize_format_keywords(self, format_kws: dict[str, Any]) -> None:
|
|
343
|
+
"""Modify the formatting dict as required after it has been populated
|
|
344
|
+
with generic content.
|
|
345
|
+
|
|
346
|
+
Parameters
|
|
347
|
+
----------
|
|
348
|
+
format_kws : `dict`
|
|
349
|
+
Dictionary that might be modified in place.
|
|
350
|
+
"""
|
|
351
|
+
pass
|
|
352
|
+
|
|
333
353
|
@classmethod
|
|
334
354
|
def get_record_type_from_universe(cls, universe: DimensionUniverse) -> type[RecordFactory]:
|
|
335
355
|
namespace = universe.namespace
|
|
@@ -410,10 +430,10 @@ class DafButlerRecordFactory(RecordFactory):
|
|
|
410
430
|
if timespan is not None:
|
|
411
431
|
if timespan.begin is not None:
|
|
412
432
|
t_min = cast(astropy.time.Time, timespan.begin)
|
|
413
|
-
record["t_min"] = float(t_min.mjd)
|
|
433
|
+
record["t_min"] = float(t_min.utc.mjd)
|
|
414
434
|
if timespan.end is not None:
|
|
415
435
|
t_max = cast(astropy.time.Time, timespan.end)
|
|
416
|
-
record["t_max"] = float(t_max.mjd)
|
|
436
|
+
record["t_max"] = float(t_max.utc.mjd)
|
|
417
437
|
|
|
418
438
|
region = dataId.region
|
|
419
439
|
if self.exposure.name in dataId:
|
|
@@ -469,3 +489,9 @@ class DafButlerRecordFactory(RecordFactory):
|
|
|
469
489
|
else:
|
|
470
490
|
return None, None
|
|
471
491
|
return region_dim, "region"
|
|
492
|
+
|
|
493
|
+
def finalize_format_keywords(self, format_kws: dict[str, Any]) -> None:
|
|
494
|
+
# If we have an exposure but do not have a visit, copy the exposure
|
|
495
|
+
# into the visit field.
|
|
496
|
+
if "exposure" in format_kws and "visit" not in format_kws:
|
|
497
|
+
format_kws["visit"] = format_kws["exposure"]
|
|
@@ -34,6 +34,7 @@ __all__ = ("SqlRegistry",)
|
|
|
34
34
|
import contextlib
|
|
35
35
|
import logging
|
|
36
36
|
import warnings
|
|
37
|
+
from collections import defaultdict
|
|
37
38
|
from collections.abc import Iterable, Iterator, Mapping, Sequence
|
|
38
39
|
from typing import TYPE_CHECKING, Any, Literal, cast
|
|
39
40
|
|
|
@@ -61,6 +62,7 @@ from ..dimensions import (
|
|
|
61
62
|
DataCoordinate,
|
|
62
63
|
DataId,
|
|
63
64
|
DimensionConfig,
|
|
65
|
+
DimensionDataAttacher,
|
|
64
66
|
DimensionElement,
|
|
65
67
|
DimensionGroup,
|
|
66
68
|
DimensionRecord,
|
|
@@ -1060,16 +1062,15 @@ class SqlRegistry:
|
|
|
1060
1062
|
f"Given collection is of type {runRecord.type.name}; RUN collection required."
|
|
1061
1063
|
)
|
|
1062
1064
|
assert isinstance(runRecord, RunRecord)
|
|
1063
|
-
|
|
1065
|
+
|
|
1066
|
+
expandedDataIds = [
|
|
1067
|
+
DataCoordinate.standardize(dataId, dimensions=datasetType.dimensions) for dataId in dataIds
|
|
1068
|
+
]
|
|
1064
1069
|
if expand:
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
else:
|
|
1070
|
-
expandedDataIds = [
|
|
1071
|
-
DataCoordinate.standardize(dataId, dimensions=datasetType.dimensions) for dataId in dataIds
|
|
1072
|
-
]
|
|
1070
|
+
_LOG.debug("Expanding %d data IDs", len(expandedDataIds))
|
|
1071
|
+
expandedDataIds = self.expand_data_ids(expandedDataIds)
|
|
1072
|
+
_LOG.debug("Finished expanding data IDs")
|
|
1073
|
+
|
|
1073
1074
|
try:
|
|
1074
1075
|
refs = list(
|
|
1075
1076
|
self._managers.datasets.insert(datasetType.name, runRecord, expandedDataIds, idGenerationMode)
|
|
@@ -1161,12 +1162,10 @@ class SqlRegistry:
|
|
|
1161
1162
|
)
|
|
1162
1163
|
assert isinstance(runRecord, RunRecord)
|
|
1163
1164
|
|
|
1164
|
-
progress = Progress("daf.butler.Registry.importDatasets", level=logging.DEBUG)
|
|
1165
1165
|
if expand:
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
]
|
|
1166
|
+
_LOG.debug("Expanding %d data IDs", len(datasets))
|
|
1167
|
+
datasets = self.expand_refs(datasets)
|
|
1168
|
+
_LOG.debug("Finished expanding data IDs")
|
|
1170
1169
|
|
|
1171
1170
|
try:
|
|
1172
1171
|
self._managers.datasets.import_(runRecord, datasets)
|
|
@@ -1545,6 +1544,34 @@ class SqlRegistry:
|
|
|
1545
1544
|
)
|
|
1546
1545
|
return DataCoordinate.standardize(keys, dimensions=standardized.dimensions).expanded(records=records)
|
|
1547
1546
|
|
|
1547
|
+
def expand_data_ids(self, data_ids: Iterable[DataCoordinate]) -> list[DataCoordinate]:
|
|
1548
|
+
output = list(data_ids)
|
|
1549
|
+
|
|
1550
|
+
grouped_by_dimensions: defaultdict[DimensionGroup, list[int]] = defaultdict(list)
|
|
1551
|
+
for i, data_id in enumerate(data_ids):
|
|
1552
|
+
if not data_id.hasRecords():
|
|
1553
|
+
grouped_by_dimensions[data_id.dimensions].append(i)
|
|
1554
|
+
|
|
1555
|
+
if not grouped_by_dimensions:
|
|
1556
|
+
# All given DataCoordinate values are already expanded.
|
|
1557
|
+
return output
|
|
1558
|
+
|
|
1559
|
+
attacher = DimensionDataAttacher(
|
|
1560
|
+
cache=self.dimension_record_cache,
|
|
1561
|
+
dimensions=DimensionGroup.union(*grouped_by_dimensions.keys(), universe=self.dimensions),
|
|
1562
|
+
)
|
|
1563
|
+
with self._query() as query:
|
|
1564
|
+
for dimensions, indexes in grouped_by_dimensions.items():
|
|
1565
|
+
expanded = attacher.attach(dimensions, (output[index] for index in indexes), query)
|
|
1566
|
+
for index, data_id in zip(indexes, expanded):
|
|
1567
|
+
output[index] = data_id
|
|
1568
|
+
|
|
1569
|
+
return output
|
|
1570
|
+
|
|
1571
|
+
def expand_refs(self, dataset_refs: list[DatasetRef]) -> list[DatasetRef]:
|
|
1572
|
+
expanded_ids = self.expand_data_ids([ref.dataId for ref in dataset_refs])
|
|
1573
|
+
return [ref.expanded(data_id) for ref, data_id in zip(dataset_refs, expanded_ids)]
|
|
1574
|
+
|
|
1548
1575
|
def insertDimensionData(
|
|
1549
1576
|
self,
|
|
1550
1577
|
element: DimensionElement | str,
|
|
@@ -174,13 +174,9 @@ class RepoExportContext:
|
|
|
174
174
|
element = self._butler.dimensions[element]
|
|
175
175
|
if element.has_own_table:
|
|
176
176
|
standardized_elements.add(element)
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
# if the data ID is already expanded, and DM-26692 will add (or at
|
|
181
|
-
# least start to add / unblock) query functionality that should
|
|
182
|
-
# let us speed this up internally as well.
|
|
183
|
-
dataId = self._butler.registry.expandDataId(dataId)
|
|
177
|
+
|
|
178
|
+
expanded_data_ids = self._butler._registry.expand_data_ids(dataIds)
|
|
179
|
+
for dataId in expanded_data_ids:
|
|
184
180
|
for element_name in dataId.dimensions.elements:
|
|
185
181
|
record = dataId.records[element_name]
|
|
186
182
|
if record is not None and record.definition in standardized_elements:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-daf-butler
|
|
3
|
-
Version: 29.2025.
|
|
3
|
+
Version: 29.2025.2700
|
|
4
4
|
Summary: An abstraction layer for reading and writing astronomical data to datastores.
|
|
5
5
|
Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
|
|
6
6
|
License: BSD 3-Clause License
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/CHANGES.rst
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/configuring.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/datastores.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/dimensions.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/formatters.rst
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/organizing.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/queries.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/doc/lsst.daf.butler/use-in-tests.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/__init__.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_butler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_column_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_dataset_ref.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_location.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_named.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_quantum.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_timespan.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/_topology.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/arrow_utils.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/__init__.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/butler.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/cliLog.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/progress.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/cli/utils.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.2500 → lsst_daf_butler-29.2025.2700}/python/lsst/daf/butler/column_spec.py
RENAMED
|
File without changes
|
|
File without changes
|