lsst-daf-butler 29.2025.3900__tar.gz → 29.2025.4000__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.3900/python/lsst_daf_butler.egg-info → lsst_daf_butler-29.2025.4000}/PKG-INFO +2 -3
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/pyproject.toml +2 -3
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_quantum_backed.py +28 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/datastores/formatters.yaml +1 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/storageClasses.yaml +2 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/_datastore.py +18 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/chainedDatastore.py +19 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/fileDatastore.py +18 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/inMemoryDatastore.py +6 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_expression_strings.py +0 -3
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_identifiers.py +1 -5
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/_base.py +1 -1
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/utils.py +7 -2
- lsst_daf_butler-29.2025.4000/python/lsst/daf/butler/version.py +2 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000/python/lsst_daf_butler.egg-info}/PKG-INFO +2 -3
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_datastore.py +27 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_quantumBackedButler.py +13 -0
- lsst_daf_butler-29.2025.3900/python/lsst/daf/butler/version.py +0 -2
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/COPYRIGHT +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/LICENSE +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/MANIFEST.in +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/README.md +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/bsd_license.txt +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/CHANGES.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/concreteStorageClasses.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/configuring.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/datastores.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/dimensions.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/formatters.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/index.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/organizing.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/queries.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/use-in-tests.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/writing-subcommands.rst +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/gpl-v3.0.txt +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_butler_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_butler_instance_options.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_butler_metrics.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_butler_repo_index.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_collection_type.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_column_categorization.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_column_tags.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_column_type_info.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_config_support.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_dataset_association.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_dataset_existence.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_dataset_provenance.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_dataset_ref.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_dataset_type.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_deferredDatasetHandle.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_exceptions.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_exceptions_legacy.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_file_dataset.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_file_descriptor.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_formatter.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_labeled_butler_factory.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_limited_butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_location.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_named.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_quantum.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_query_all_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_registry_shim.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_rubin/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_rubin/file_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_standalone_datastore.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_storage_class.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_storage_class_delegate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_timespan.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_topology.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_utilities/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_utilities/locked_object.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_utilities/named_locks.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_utilities/thread_safe_cache.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/arrow_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/cliLog.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/cmd/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/cmd/_remove_collections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/cmd/_remove_runs.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/cmd/commands.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/opt/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/opt/arguments.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/opt/optionGroups.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/opt/options.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/progress.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/column_spec.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/datastore.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/datastores/composites.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/datastores/fileDatastore.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/datastores/writeRecipes.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/dimensions.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe0.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe1.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe2.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe3.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe4.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe5.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe6.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe7.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/registry.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/configs/repo_transfer_formats.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/_transfer.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/cache_manager.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/composites.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/constraints.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/file_templates.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/generic_base.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/record_data.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastore/stored_file_info.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/file_datastore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/file_datastore/get.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/file_datastore/retrieve_artifacts.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/datastores/file_datastore/transfer.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/ddl.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/delegates/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/delegates/arrowtable.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_coordinate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_database.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_elements.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_governor.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_group.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_packer.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_record_set.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_record_table.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_records.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_schema.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_skypix.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/_universe.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/construction.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/dimensions/record_cache.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_butler/_direct_butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_butler/_direct_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/_driver.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/_postprocessing.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/_query_analysis.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/_query_builder.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/_result_page_converter.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/_sql_builders.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/astropyTable.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/file.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/json.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/logs.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/matplotlib.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/packages.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/parquet.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/pickle.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/typeless.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/formatters/yaml.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/json.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/logging.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/mapping_factory.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/name_shrinker.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/nonempty_mapping.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/persistence_context.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/progress.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/py.typed +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/pydantic_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_base.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_data_coordinate_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_dataset_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_dimension_record_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_general_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/_query.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/convert_args.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/driver.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/expression_factory.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/overlaps.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/predicate_constraints_summary.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/result_specs.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/_column_expression.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/_column_literal.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/_column_reference.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/_column_set.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/_predicate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/tree/_query_tree.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/queries/visitors.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_caching_context.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_collection_record_cache.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_collection_summary.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_collection_summary_cache.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_defaults.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_exceptions.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_registry.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/_registry_factory.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/attributes.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/bridge/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/bridge/ephemeral.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/bridge/monolithic.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/collections/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/collections/_base.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/collections/nameKey.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/collections/synthIntKey.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/connectionString.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/databases/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/databases/postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/databases/sqlite.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/datasets/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/datasets/byDimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/datasets/byDimensions/_dataset_type_cache.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/datasets/byDimensions/_manager.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/datasets/byDimensions/summaries.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/datasets/byDimensions/tables.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/dimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/dimensions/static.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_attributes.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_bridge.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_collections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_database.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_database_explain.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_dimensions.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_obscore.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_opaque.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/interfaces/_versioning.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/managers.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/nameShrinker.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/_manager.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/_records.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/_schema.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/_spatial.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/default_spatial.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/obscore/pgsphere.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/opaque.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_builder.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_query.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_query_backend.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_query_context.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_readers.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_results.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_sql_query_backend.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_sql_query_context.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/_structs.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/butler_sql_engine.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/_predicate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/categorize.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/check.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/normalForm.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/parser.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/queries/find_first_dataset.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/sql_registry.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/tests/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/tests/_database.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/tests/_registry.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/versions.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/registry/wildcards.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_collection_args.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_defaults.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_errors.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_factory.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_get.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_http_connection.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_query_driver.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_ref_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_registry.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_remote_butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_remote_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/_remote_file_transfer_source.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/authentication/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/authentication/cadc.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/authentication/interface.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/authentication/rubin.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/registry/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/registry/_query_common.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/registry/_query_data_coordinates.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/registry/_query_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/registry/_query_dimension_records.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/_dependencies.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/_factory.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/_gafaelfawr.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/_server.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/_telemetry.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_external.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_external_query.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_file_info.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_internal.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_query_limits.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_query_serialization.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_query_streaming.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server/handlers/_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/remote_butler/server_models.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/repo_relocation.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/_associate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/_pruneDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/butlerImport.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/certifyCalibrations.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/collectionChain.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/configDump.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/configValidate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/createRepo.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/exportCalibs.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/ingest_files.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/ingest_zip.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/queryCollections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/queryDataIds.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/queryDatasetTypes.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/queryDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/queryDimensionRecords.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/register_dataset_type.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/removeCollections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/removeDatasetType.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/removeRuns.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/retrieveArtifacts.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/script/transferDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/_datasetsHelper.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/_dummyRegistry.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/_examplePythonTypes.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/_testRepo.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/butler_queries.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/cliCmdTestBase.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/cliLogTestBase.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/deferredFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/dict_convertible_model.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/hybrid_butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/hybrid_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/hybrid_butler_registry.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/base.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/ci_hsc-subset-skymap.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/ci_hsc-subset.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/datasets.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/hsc-rc2-subset-v0.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/spatial.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/registry_data/spatial.yaml +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/server.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/server_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/testFormatters.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/time_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/timespan_database_representation.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/transfers/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/transfers/_context.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/transfers/_interfaces.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/transfers/_yaml.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst_daf_butler.egg-info/SOURCES.txt +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst_daf_butler.egg-info/dependency_links.txt +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst_daf_butler.egg-info/entry_points.txt +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst_daf_butler.egg-info/requires.txt +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst_daf_butler.egg-info/top_level.txt +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst_daf_butler.egg-info/zip-safe +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/setup.cfg +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_astropyTableFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_authentication.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_butler_factory.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdAssociate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdConfigDump.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdConfigValidate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdCreate.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdImport.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdIngestFiles.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdPruneDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdQueryCollections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdQueryDataIds.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdQueryDatasetTypes.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdQueryDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdQueryDimensionRecords.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdRemoveCollections.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdRemoveRuns.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliCmdRetrieveArtifacts.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliLog.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliPluginLoader.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliUtilSplitCommas.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliUtilSplitKv.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliUtilToUpper.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_cliUtils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_column_spec.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_composites.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_config.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_connectionString.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_constraints.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_ddl.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_dimension_record_containers.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_dimensions.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_exprParserLex.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_exprParserYacc.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_expressions.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_formatter.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_gafaelfawr.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_location.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_logFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_logging.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_matplotlibFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_nonempty_mapping.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_normalFormExpression.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_obscore.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_packages.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_parquet.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_progress.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_pydantic_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_quantum.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_query_direct_postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_query_direct_sqlite.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_query_interface.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_query_relations.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_query_remote.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_query_utilities.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_remote_butler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_server.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_simpleButler.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_sqlite.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_storageClass.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_templates.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_testRepo.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_thread_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_time_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_timespan.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_utils.py +0 -0
- {lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_versioning.py +0 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-daf-butler
|
|
3
|
-
Version: 29.2025.
|
|
3
|
+
Version: 29.2025.4000
|
|
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
|
-
License: BSD
|
|
6
|
+
License-Expression: BSD-3-Clause OR GPL-3.0-or-later
|
|
7
7
|
Project-URL: Homepage, https://github.com/lsst/daf_butler
|
|
8
8
|
Keywords: lsst
|
|
9
9
|
Classifier: Intended Audience :: Science/Research
|
|
10
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
11
10
|
Classifier: Operating System :: OS Independent
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -6,14 +6,14 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
name = "lsst-daf-butler"
|
|
7
7
|
requires-python = ">=3.11.0"
|
|
8
8
|
description = "An abstraction layer for reading and writing astronomical data to datastores."
|
|
9
|
-
license =
|
|
9
|
+
license = "BSD-3-Clause OR GPL-3.0-or-later"
|
|
10
|
+
license-files = ["COPYRIGHT", "LICENSE", "bsd_license.txt", "gpl-v3.0.txt"]
|
|
10
11
|
readme = "README.md"
|
|
11
12
|
authors = [
|
|
12
13
|
{name="Rubin Observatory Data Management", email="dm-admin@lists.lsst.org"},
|
|
13
14
|
]
|
|
14
15
|
classifiers = [
|
|
15
16
|
"Intended Audience :: Science/Research",
|
|
16
|
-
"License :: OSI Approved :: BSD License",
|
|
17
17
|
"Operating System :: OS Independent",
|
|
18
18
|
"Programming Language :: Python :: 3",
|
|
19
19
|
"Programming Language :: Python :: 3.12",
|
|
@@ -74,7 +74,6 @@ where = ["python"]
|
|
|
74
74
|
|
|
75
75
|
[tool.setuptools]
|
|
76
76
|
zip-safe = true
|
|
77
|
-
license-files = ["COPYRIGHT", "LICENSE", "bsd_license.txt", "gpl-v3.0.txt"]
|
|
78
77
|
|
|
79
78
|
[tool.setuptools.package-data]
|
|
80
79
|
"lsst.daf.butler" = ["py.typed", "configs/*.yaml", "configs/*/*.yaml", "tests/registry_data/*.yaml"]
|
|
@@ -614,6 +614,34 @@ class QuantumBackedButler(LimitedButler):
|
|
|
614
614
|
datastore_records=provenance_records,
|
|
615
615
|
)
|
|
616
616
|
|
|
617
|
+
def export_predicted_datastore_records(
|
|
618
|
+
self, refs: Iterable[DatasetRef]
|
|
619
|
+
) -> dict[str, DatastoreRecordData]:
|
|
620
|
+
"""Export datastore records for a set of predicted output dataset
|
|
621
|
+
references.
|
|
622
|
+
|
|
623
|
+
Parameters
|
|
624
|
+
----------
|
|
625
|
+
refs : `~collections.abc.Iterable` [ `DatasetRef` ]
|
|
626
|
+
Dataset references for which to export datastore records. These
|
|
627
|
+
refs must be known to this butler.
|
|
628
|
+
|
|
629
|
+
Returns
|
|
630
|
+
-------
|
|
631
|
+
records : `dict` [ `str`, `DatastoreRecordData` ]
|
|
632
|
+
Predicted datastore records indexed by datastore name. No attempt
|
|
633
|
+
is made to ensure that the associated datasets exist on disk.
|
|
634
|
+
"""
|
|
635
|
+
unknowns = [
|
|
636
|
+
ref
|
|
637
|
+
for ref in refs
|
|
638
|
+
if (ref.id not in self._predicted_outputs and ref.id not in self._predicted_inputs)
|
|
639
|
+
]
|
|
640
|
+
if unknowns:
|
|
641
|
+
raise ValueError(f"Cannot export datastore records for unknown outputs: {unknowns}")
|
|
642
|
+
|
|
643
|
+
return self._datastore.export_predicted_records(refs)
|
|
644
|
+
|
|
617
645
|
|
|
618
646
|
class QuantumProvenanceData(pydantic.BaseModel):
|
|
619
647
|
"""A serializable struct for per-quantum provenance information and
|
|
@@ -95,3 +95,4 @@ RegionTimeInfo: lsst.daf.butler.formatters.json.JsonFormatter
|
|
|
95
95
|
QPEnsemble: lsst.meas.pz.qp_formatter.QPFormatter
|
|
96
96
|
PZModel: lsst.meas.pz.model_formatter.ModelFormatter
|
|
97
97
|
VisitBackgroundModel: lsst.daf.butler.formatters.json.JsonFormatter
|
|
98
|
+
VignettingCorrection: lsst.ts.observatory.control.utils.extras.vignetting_storage.VignettingCorrectionFormatter
|
|
@@ -428,3 +428,5 @@ storageClasses:
|
|
|
428
428
|
pytype: rail.core.model.Model
|
|
429
429
|
VisitBackgroundModel:
|
|
430
430
|
pytype: lsst.drp.tasks.fit_visit_background.VisitBackgroundModel
|
|
431
|
+
VignettingCorrection:
|
|
432
|
+
pytype: lsst.ts.observatory.control.utils.extras.vignetting_correction.VignettingCorrection
|
|
@@ -1381,6 +1381,24 @@ class Datastore(FileTransferSource, metaclass=ABCMeta):
|
|
|
1381
1381
|
"""
|
|
1382
1382
|
raise NotImplementedError()
|
|
1383
1383
|
|
|
1384
|
+
def export_predicted_records(self, refs: Iterable[DatasetRef]) -> dict[str, DatastoreRecordData]:
|
|
1385
|
+
"""Export predicted datastore records and locations to an in-memory
|
|
1386
|
+
data structure.
|
|
1387
|
+
|
|
1388
|
+
Parameters
|
|
1389
|
+
----------
|
|
1390
|
+
refs : `~collections.abc.Iterable` [ `DatasetRef` ]
|
|
1391
|
+
Datastore records that would be used if the given refs were to
|
|
1392
|
+
exist in this datastore. No attempt is made to determine if these
|
|
1393
|
+
datasets actually exist.
|
|
1394
|
+
|
|
1395
|
+
Returns
|
|
1396
|
+
-------
|
|
1397
|
+
data : `~collections.abc.Mapping` [ `str`, `DatastoreRecordData` ]
|
|
1398
|
+
Exported datastore records indexed by datastore name.
|
|
1399
|
+
"""
|
|
1400
|
+
raise NotImplementedError()
|
|
1401
|
+
|
|
1384
1402
|
def set_retrieve_dataset_type_method(self, method: Callable[[str], DatasetType | None] | None) -> None:
|
|
1385
1403
|
"""Specify a method that can be used by datastore to retrieve
|
|
1386
1404
|
registry-defined dataset type.
|
|
@@ -1165,6 +1165,25 @@ class ChainedDatastore(Datastore):
|
|
|
1165
1165
|
|
|
1166
1166
|
return all_records
|
|
1167
1167
|
|
|
1168
|
+
def export_predicted_records(self, refs: Iterable[DatasetRef]) -> dict[str, DatastoreRecordData]:
|
|
1169
|
+
# Docstring inherited from the base class.
|
|
1170
|
+
|
|
1171
|
+
all_records: dict[str, DatastoreRecordData] = {}
|
|
1172
|
+
|
|
1173
|
+
# Filter out datasets that this datastore is not allowed to contain.
|
|
1174
|
+
refs = [ref for ref in refs if self.constraints.isAcceptable(ref)]
|
|
1175
|
+
|
|
1176
|
+
# Merge all sub-datastore records into one structure
|
|
1177
|
+
for datastore in self.datastores:
|
|
1178
|
+
sub_records = datastore.export_predicted_records(refs)
|
|
1179
|
+
for name, record_data in sub_records.items():
|
|
1180
|
+
# All datastore names must be unique in a chain.
|
|
1181
|
+
if name in all_records:
|
|
1182
|
+
raise ValueError("Non-unique datastore name found in datastore {datastore}")
|
|
1183
|
+
all_records[name] = record_data
|
|
1184
|
+
|
|
1185
|
+
return all_records
|
|
1186
|
+
|
|
1168
1187
|
def export(
|
|
1169
1188
|
self,
|
|
1170
1189
|
refs: Iterable[DatasetRef],
|
|
@@ -3188,6 +3188,24 @@ class FileDatastore(GenericBaseDatastore[StoredFileInfo]):
|
|
|
3188
3188
|
record_data = DatastoreRecordData(records=records)
|
|
3189
3189
|
return {self.name: record_data}
|
|
3190
3190
|
|
|
3191
|
+
def export_predicted_records(self, refs: Iterable[DatasetRef]) -> dict[str, DatastoreRecordData]:
|
|
3192
|
+
# Docstring inherited from the base class.
|
|
3193
|
+
refs = [self._cast_storage_class(ref) for ref in refs]
|
|
3194
|
+
records: dict[DatasetId, dict[str, list[StoredDatastoreItemInfo]]] = {}
|
|
3195
|
+
for ref in refs:
|
|
3196
|
+
if not self.constraints.isAcceptable(ref):
|
|
3197
|
+
continue
|
|
3198
|
+
fileLocations = self._get_expected_dataset_locations_info(ref)
|
|
3199
|
+
if not fileLocations:
|
|
3200
|
+
continue
|
|
3201
|
+
dataset_records = records.setdefault(ref.id, {})
|
|
3202
|
+
dataset_records.setdefault(self._table.name, [])
|
|
3203
|
+
for _, storedFileInfo in fileLocations:
|
|
3204
|
+
dataset_records[self._table.name].append(storedFileInfo)
|
|
3205
|
+
|
|
3206
|
+
record_data = DatastoreRecordData(records=records)
|
|
3207
|
+
return {self.name: record_data}
|
|
3208
|
+
|
|
3191
3209
|
def set_retrieve_dataset_type_method(self, method: Callable[[str], DatasetType | None] | None) -> None:
|
|
3192
3210
|
# Docstring inherited from the base class.
|
|
3193
3211
|
self._retrieve_dataset_method = method
|
|
@@ -763,6 +763,12 @@ class InMemoryDatastore(GenericBaseDatastore[StoredMemoryItemInfo]):
|
|
|
763
763
|
# In-memory Datastore records cannot be exported or imported
|
|
764
764
|
return {}
|
|
765
765
|
|
|
766
|
+
def export_predicted_records(self, refs: Iterable[DatasetIdRef]) -> dict[str, DatastoreRecordData]:
|
|
767
|
+
# Docstring inherited from the base class.
|
|
768
|
+
|
|
769
|
+
# In-memory Datastore records cannot be exported or imported
|
|
770
|
+
return {}
|
|
771
|
+
|
|
766
772
|
def get_opaque_table_definitions(self) -> Mapping[str, DatastoreOpaqueTable]:
|
|
767
773
|
# Docstring inherited from the base class.
|
|
768
774
|
return {}
|
|
@@ -204,8 +204,6 @@ class _ConversionVisitor(TreeVisitor[_VisitorResult]):
|
|
|
204
204
|
return result
|
|
205
205
|
|
|
206
206
|
def visitIdentifier(self, name: str, node: Node) -> _VisitorResult:
|
|
207
|
-
name = name.lower()
|
|
208
|
-
|
|
209
207
|
if name in self.context.bind:
|
|
210
208
|
value = self.context.bind[name]
|
|
211
209
|
# Lists of values do not have a direct representation in the new
|
|
@@ -242,7 +240,6 @@ class _ConversionVisitor(TreeVisitor[_VisitorResult]):
|
|
|
242
240
|
return _ColExpr(column_expression)
|
|
243
241
|
|
|
244
242
|
def visitBind(self, name: str, node: Node) -> _VisitorResult:
|
|
245
|
-
name = name.lower()
|
|
246
243
|
if name not in self.context.bind:
|
|
247
244
|
raise InvalidQueryError("Name {name!r} is not in the bind map.")
|
|
248
245
|
# Logic in visitIdentifier handles binds.
|
|
@@ -71,8 +71,7 @@ class IdentifierContext: # numpydoc ignore=PR01
|
|
|
71
71
|
if bind is None:
|
|
72
72
|
self.bind = {}
|
|
73
73
|
else:
|
|
74
|
-
|
|
75
|
-
self.bind = {k.lower(): v for k, v in bind.items()}
|
|
74
|
+
self.bind = dict(bind)
|
|
76
75
|
if len(self.bind.keys()) != len(bind.keys()):
|
|
77
76
|
raise ValueError(f"Duplicate keys present in bind: {bind.keys()}")
|
|
78
77
|
|
|
@@ -96,9 +95,6 @@ def interpret_identifier(context: IdentifierContext, identifier: str) -> ColumnE
|
|
|
96
95
|
dimensions = context.dimensions
|
|
97
96
|
datasets = context.datasets
|
|
98
97
|
bind = context.bind
|
|
99
|
-
# Make identifiers case-insensitive.
|
|
100
|
-
identifier = identifier.lower()
|
|
101
|
-
|
|
102
98
|
if identifier in bind:
|
|
103
99
|
return make_column_literal(bind[identifier])
|
|
104
100
|
terms = identifier.split(".")
|
|
@@ -110,7 +110,7 @@ def is_dataset_field(s: str) -> TypeGuard[DatasetFieldName]:
|
|
|
110
110
|
class QueryTreeBase(pydantic.BaseModel):
|
|
111
111
|
"""Base class for all non-primitive types in a query tree."""
|
|
112
112
|
|
|
113
|
-
model_config = pydantic.ConfigDict(frozen=True,
|
|
113
|
+
model_config = pydantic.ConfigDict(frozen=True, strict=True)
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
class ColumnExpressionBase(QueryTreeBase, ABC):
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/tests/utils.py
RENAMED
|
@@ -46,6 +46,7 @@ from lsst.resources import ResourcePathExpression
|
|
|
46
46
|
from .. import Butler, ButlerConfig, Config, DatasetRef, StorageClassFactory, Timespan
|
|
47
47
|
from .._collection_type import CollectionType
|
|
48
48
|
from ..datastore import NullDatastore
|
|
49
|
+
from ..dimensions import DimensionConfig
|
|
49
50
|
from ..direct_butler import DirectButler
|
|
50
51
|
from ..registry.sql_registry import RegistryConfig, SqlRegistry
|
|
51
52
|
from ..tests import MetricsExample, addDatasetType
|
|
@@ -130,7 +131,9 @@ def safeTestTempDir(default_base: str) -> Iterator[str]:
|
|
|
130
131
|
|
|
131
132
|
|
|
132
133
|
def create_populated_sqlite_registry(
|
|
133
|
-
*args: ResourcePathExpression,
|
|
134
|
+
*args: ResourcePathExpression,
|
|
135
|
+
registry_config: RegistryConfig | None = None,
|
|
136
|
+
dimension_config: DimensionConfig | None = None,
|
|
134
137
|
) -> Butler:
|
|
135
138
|
"""Create an in-memory registry-only sqlite butler and populate it.
|
|
136
139
|
|
|
@@ -141,6 +144,8 @@ def create_populated_sqlite_registry(
|
|
|
141
144
|
registry_config : ``RegistryConfig``, optional
|
|
142
145
|
Registry configuration to use as the basis for the Butler
|
|
143
146
|
configuration.
|
|
147
|
+
dimension_config : ``DimensionConfig``, optional
|
|
148
|
+
Dimension universe configuration.
|
|
144
149
|
|
|
145
150
|
Returns
|
|
146
151
|
-------
|
|
@@ -151,7 +156,7 @@ def create_populated_sqlite_registry(
|
|
|
151
156
|
if registry_config is not None:
|
|
152
157
|
config["registry"] = registry_config
|
|
153
158
|
config[".registry.db"] = "sqlite://"
|
|
154
|
-
registry = SqlRegistry.createFromConfig(config["registry"])
|
|
159
|
+
registry = SqlRegistry.createFromConfig(config["registry"], dimension_config)
|
|
155
160
|
butler = DirectButler(
|
|
156
161
|
config=config,
|
|
157
162
|
registry=registry,
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-daf-butler
|
|
3
|
-
Version: 29.2025.
|
|
3
|
+
Version: 29.2025.4000
|
|
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
|
-
License: BSD
|
|
6
|
+
License-Expression: BSD-3-Clause OR GPL-3.0-or-later
|
|
7
7
|
Project-URL: Homepage, https://github.com/lsst/daf_butler
|
|
8
8
|
Keywords: lsst
|
|
9
9
|
Classifier: Intended Audience :: Science/Research
|
|
10
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
11
10
|
Classifier: Operating System :: OS Independent
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -988,6 +988,30 @@ class DatastoreTests(DatastoreTestsBase):
|
|
|
988
988
|
data = datastore2.get(refs[2])
|
|
989
989
|
self.assertIsNotNone(data)
|
|
990
990
|
|
|
991
|
+
def testExportPredictedRecords(self):
|
|
992
|
+
if self.isEphemeral:
|
|
993
|
+
raise unittest.SkipTest("in-memory datastore does not support record export/import")
|
|
994
|
+
sc = self.storageClassFactory.getStorageClass("ThingOne")
|
|
995
|
+
dimensions = self.universe.conform(("visit", "physical_filter"))
|
|
996
|
+
dataId = {
|
|
997
|
+
"instrument": "dummy",
|
|
998
|
+
"visit": 52,
|
|
999
|
+
"physical_filter": "V",
|
|
1000
|
+
"band": "v",
|
|
1001
|
+
"day_obs": 20250101,
|
|
1002
|
+
}
|
|
1003
|
+
ref = self.makeDatasetRef("metric", dimensions, sc, dataId)
|
|
1004
|
+
|
|
1005
|
+
datastore = self.makeDatastore("test_datastore")
|
|
1006
|
+
names = {n for n in datastore.names if not n.startswith("InMemory")}
|
|
1007
|
+
records = datastore.export_predicted_records([ref])
|
|
1008
|
+
|
|
1009
|
+
# Expect predicted records from all datastores.
|
|
1010
|
+
self.assertEqual(set(records.keys()), names)
|
|
1011
|
+
|
|
1012
|
+
for record_data in records.values():
|
|
1013
|
+
self.assertEqual(len(record_data.records), 1)
|
|
1014
|
+
|
|
991
1015
|
def testExport(self) -> None:
|
|
992
1016
|
datastore, refs = self._populate_export_datastore("test_datastore")
|
|
993
1017
|
|
|
@@ -1414,6 +1438,7 @@ class ChainedDatastoreMemoryTestCase(InMemoryDatastoreTestCase):
|
|
|
1414
1438
|
|
|
1415
1439
|
configFile = os.path.join(TESTDIR, "config/basic/chainedDatastore2.yaml")
|
|
1416
1440
|
validationCanFail = False
|
|
1441
|
+
isEphemeral = True
|
|
1417
1442
|
|
|
1418
1443
|
|
|
1419
1444
|
class DatastoreConstraintsTests(DatastoreTestsBase):
|
|
@@ -2124,6 +2149,8 @@ class NullDatastoreTestCase(DatasetTestHelper, unittest.TestCase):
|
|
|
2124
2149
|
null.import_records({})
|
|
2125
2150
|
with self.assertRaises(NotImplementedError):
|
|
2126
2151
|
null.export_records([])
|
|
2152
|
+
with self.assertRaises(NotImplementedError):
|
|
2153
|
+
null.export_predicted_records([])
|
|
2127
2154
|
with self.assertRaises(NotImplementedError):
|
|
2128
2155
|
null.export([ref])
|
|
2129
2156
|
with self.assertRaises(NotImplementedError):
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/tests/test_quantumBackedButler.py
RENAMED
|
@@ -416,6 +416,19 @@ class QuantumBackedButlerTestCase(unittest.TestCase):
|
|
|
416
416
|
for dataset_data in datastore_records.records[class_name].values():
|
|
417
417
|
self.assertEqual(set(dataset_data), {table_name})
|
|
418
418
|
|
|
419
|
+
def test_export_predicted_datastore_records(self) -> None:
|
|
420
|
+
"""Test for export_predicted_datastore_records method"""
|
|
421
|
+
quantum = self.make_quantum()
|
|
422
|
+
qbb = QuantumBackedButler.initialize(
|
|
423
|
+
config=self.config, quantum=quantum, dimensions=self.universe, dataset_types=self.dataset_types
|
|
424
|
+
)
|
|
425
|
+
|
|
426
|
+
records = qbb.export_predicted_datastore_records(self.output_refs)
|
|
427
|
+
self.assertEqual(len(records["FileDatastore@<butlerRoot>/datastore"].records), len(self.output_refs))
|
|
428
|
+
|
|
429
|
+
with self.assertRaises(ValueError):
|
|
430
|
+
qbb.export_predicted_datastore_records(self.missing_refs)
|
|
431
|
+
|
|
419
432
|
def test_collect_and_transfer(self) -> None:
|
|
420
433
|
"""Test for collect_and_transfer method"""
|
|
421
434
|
quantum1 = self.make_quantum(1)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/CHANGES.rst
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/configuring.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/datastores.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/dimensions.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/formatters.rst
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/organizing.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/queries.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/doc/lsst.daf.butler/use-in-tests.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/__init__.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/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.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_column_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/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.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_dataset_ref.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_location.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_named.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/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
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/_timespan.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/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.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/arrow_utils.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/__init__.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/butler.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/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.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/progress.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/cli/utils.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3900 → lsst_daf_butler-29.2025.4000}/python/lsst/daf/butler/column_spec.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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|