lsst-daf-butler 29.2025.3800__tar.gz → 29.2025.3900__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.3800/python/lsst_daf_butler.egg-info → lsst_daf_butler-29.2025.3900}/PKG-INFO +1 -1
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/utils.py +9 -2
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/_dependencies.py +27 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_external.py +17 -2
- lsst_daf_butler-29.2025.3900/python/lsst/daf/butler/version.py +2 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900/python/lsst_daf_butler.egg-info}/PKG-INFO +1 -1
- lsst_daf_butler-29.2025.3800/python/lsst/daf/butler/version.py +0 -2
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/COPYRIGHT +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/LICENSE +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/MANIFEST.in +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/README.md +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/bsd_license.txt +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/CHANGES.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/concreteStorageClasses.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/configuring.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/datastores.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/dimensions.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/formatters.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/index.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/organizing.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/queries.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/use-in-tests.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/writing-subcommands.rst +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/gpl-v3.0.txt +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/pyproject.toml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_butler_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_butler_instance_options.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_butler_metrics.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_butler_repo_index.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_collection_type.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_column_categorization.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_column_tags.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_column_type_info.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_config_support.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_dataset_association.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_dataset_existence.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_dataset_provenance.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_dataset_ref.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_dataset_type.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_deferredDatasetHandle.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_exceptions.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_exceptions_legacy.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_file_dataset.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_file_descriptor.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_formatter.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_labeled_butler_factory.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_limited_butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_location.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_named.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_quantum.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_quantum_backed.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_query_all_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_registry_shim.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_rubin/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_rubin/file_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_standalone_datastore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_storage_class.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_storage_class_delegate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_timespan.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_topology.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_utilities/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_utilities/locked_object.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_utilities/named_locks.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_utilities/thread_safe_cache.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/arrow_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/cliLog.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/cmd/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/cmd/_remove_collections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/cmd/_remove_runs.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/cmd/commands.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/opt/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/opt/arguments.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/opt/optionGroups.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/opt/options.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/progress.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/column_spec.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/datastore.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/datastores/composites.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/datastores/fileDatastore.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/datastores/formatters.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/datastores/writeRecipes.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/dimensions.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe0.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe1.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe2.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe3.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe4.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe5.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe6.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/old_dimensions/daf_butler_universe7.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/registry.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/repo_transfer_formats.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/configs/storageClasses.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/_datastore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/_transfer.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/cache_manager.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/composites.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/constraints.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/file_templates.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/generic_base.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/record_data.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastore/stored_file_info.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/chainedDatastore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/fileDatastore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/file_datastore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/file_datastore/get.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/file_datastore/retrieve_artifacts.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/file_datastore/transfer.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/datastores/inMemoryDatastore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/ddl.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/delegates/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/delegates/arrowtable.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_coordinate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_data_coordinate_iterable.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_database.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_elements.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_governor.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_group.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_packer.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_record_set.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_record_table.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_records.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_schema.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_skypix.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/_universe.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/construction.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/dimensions/record_cache.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_butler/_direct_butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_butler/_direct_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/_driver.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/_postprocessing.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/_query_analysis.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/_query_builder.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/_result_page_converter.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/_sql_builders.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/direct_query_driver/_sql_column_visitor.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/astropyTable.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/file.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/json.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/logs.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/matplotlib.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/packages.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/parquet.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/pickle.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/typeless.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/formatters/yaml.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/json.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/logging.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/mapping_factory.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/name_shrinker.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/nonempty_mapping.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/persistence_context.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/progress.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/py.typed +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/pydantic_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_base.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_data_coordinate_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_dataset_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_dimension_record_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_expression_strings.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_general_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_identifiers.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/_query.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/convert_args.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/driver.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/expression_factory.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/overlaps.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/predicate_constraints_summary.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/result_specs.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/_base.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/_column_expression.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/_column_literal.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/_column_reference.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/_column_set.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/_predicate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/tree/_query_tree.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/queries/visitors.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_caching_context.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_collection_record_cache.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_collection_summary.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_collection_summary_cache.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_defaults.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_exceptions.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_registry.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/_registry_factory.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/attributes.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/bridge/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/bridge/ephemeral.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/bridge/monolithic.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/collections/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/collections/_base.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/collections/nameKey.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/collections/synthIntKey.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/connectionString.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/databases/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/databases/postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/databases/sqlite.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/datasets/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/datasets/byDimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/datasets/byDimensions/_dataset_type_cache.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/datasets/byDimensions/_manager.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/datasets/byDimensions/summaries.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/datasets/byDimensions/tables.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/dimensions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/dimensions/static.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_attributes.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_bridge.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_collections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_database.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_database_explain.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_dimensions.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_obscore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_opaque.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/interfaces/_versioning.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/managers.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/nameShrinker.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/_manager.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/_records.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/_schema.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/_spatial.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/default_spatial.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/obscore/pgsphere.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/opaque.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_builder.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_query.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_query_backend.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_query_context.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_readers.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_results.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_sql_query_backend.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_sql_query_context.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/_structs.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/butler_sql_engine.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/_predicate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/categorize.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/check.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/normalForm.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/exprTree.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/parser.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/parserLex.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/parserYacc.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/lex.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/ply/yacc.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/expressions/parser/treeVisitor.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/queries/find_first_dataset.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/sql_registry.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/tests/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/tests/_database.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/tests/_registry.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/versions.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/registry/wildcards.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_collection_args.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_defaults.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_errors.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_factory.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_get.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_http_connection.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_query_driver.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_query_results.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_ref_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_registry.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_remote_butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_remote_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/_remote_file_transfer_source.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/authentication/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/authentication/cadc.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/authentication/interface.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/authentication/rubin.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/registry/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/registry/_query_common.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/registry/_query_data_coordinates.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/registry/_query_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/registry/_query_dimension_records.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/_factory.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/_gafaelfawr.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/_server.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/_telemetry.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_external_query.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_file_info.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_internal.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_query_limits.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_query_serialization.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_query_streaming.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server/handlers/_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/remote_butler/server_models.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/repo_relocation.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/_associate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/_pruneDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/butlerImport.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/certifyCalibrations.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/collectionChain.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/configDump.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/configValidate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/createRepo.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/exportCalibs.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/ingest_files.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/ingest_zip.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/queryCollections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/queryDataIds.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/queryDatasetTypes.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/queryDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/queryDimensionRecords.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/register_dataset_type.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/removeCollections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/removeDatasetType.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/removeRuns.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/retrieveArtifacts.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/script/transferDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/_datasetsHelper.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/_dummyRegistry.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/_examplePythonTypes.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/_testRepo.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/butler_queries.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/cliCmdTestBase.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/cliLogTestBase.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/deferredFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/dict_convertible_model.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/hybrid_butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/hybrid_butler_collections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/hybrid_butler_registry.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/base.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/ci_hsc-subset-skymap.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/ci_hsc-subset.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/datasets.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/hsc-rc2-subset-v0.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/spatial.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/registry_data/spatial.yaml +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/server.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/server_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/testFormatters.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/tests/utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/time_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/timespan_database_representation.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/transfers/__init__.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/transfers/_context.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/transfers/_interfaces.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/transfers/_yaml.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst_daf_butler.egg-info/SOURCES.txt +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst_daf_butler.egg-info/dependency_links.txt +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst_daf_butler.egg-info/entry_points.txt +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst_daf_butler.egg-info/requires.txt +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst_daf_butler.egg-info/top_level.txt +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst_daf_butler.egg-info/zip-safe +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/setup.cfg +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_astropyTableFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_authentication.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_butler_factory.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdAssociate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdConfigDump.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdConfigValidate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdCreate.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdImport.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdIngestFiles.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdPruneDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdQueryCollections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdQueryDataIds.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdQueryDatasetTypes.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdQueryDatasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdQueryDimensionRecords.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdRemoveCollections.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdRemoveRuns.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliCmdRetrieveArtifacts.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliLog.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliPluginLoader.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliUtilSplitCommas.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliUtilSplitKv.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliUtilToUpper.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_cliUtils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_column_spec.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_composites.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_config.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_connectionString.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_constraints.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_datasets.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_datastore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_ddl.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_dimension_record_containers.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_dimensions.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_exprParserLex.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_exprParserYacc.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_expressions.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_formatter.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_gafaelfawr.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_location.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_logFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_logging.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_matplotlibFormatter.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_nonempty_mapping.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_normalFormExpression.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_obscore.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_packages.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_parquet.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_progress.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_pydantic_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_quantum.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_quantumBackedButler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_query_direct_postgresql.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_query_direct_sqlite.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_query_interface.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_query_relations.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_query_remote.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_query_utilities.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_remote_butler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_server.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_simpleButler.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_sqlite.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_storageClass.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_templates.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_testRepo.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_thread_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_time_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_timespan.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/tests/test_utils.py +0 -0
- {lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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.3900
|
|
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
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/utils.py
RENAMED
|
@@ -74,6 +74,7 @@ from typing import TYPE_CHECKING, Any, cast
|
|
|
74
74
|
from unittest.mock import patch
|
|
75
75
|
|
|
76
76
|
import click
|
|
77
|
+
import click.core
|
|
77
78
|
import click.exceptions
|
|
78
79
|
import click.testing
|
|
79
80
|
import yaml
|
|
@@ -95,6 +96,11 @@ if _click_version >= Version("8.2.0"):
|
|
|
95
96
|
else:
|
|
96
97
|
_click_make_metavar_has_context = False
|
|
97
98
|
|
|
99
|
+
# Starting from Click 8.3.0, a special `UNSET` sentinel value is used to
|
|
100
|
+
# indicate the absence of a default value for a parameter. Prior to 8.3.0,
|
|
101
|
+
# they just used `None`.
|
|
102
|
+
_CLICK_UNSET_SENTINEL = getattr(click.core, "UNSET", None)
|
|
103
|
+
|
|
98
104
|
log = logging.getLogger(__name__)
|
|
99
105
|
|
|
100
106
|
# This is used as the metavar argument to Options that accept multiple string
|
|
@@ -554,7 +560,7 @@ def split_kv(
|
|
|
554
560
|
|
|
555
561
|
if add_to_default:
|
|
556
562
|
default = param.get_default(context)
|
|
557
|
-
if default:
|
|
563
|
+
if default and default != _CLICK_UNSET_SENTINEL:
|
|
558
564
|
vals = tuple(v for v in itertools.chain(default, vals)) # Convert to tuple for mypy
|
|
559
565
|
|
|
560
566
|
ret: RetDict | RetTuple
|
|
@@ -1013,7 +1019,8 @@ class MWCommand(click.Command):
|
|
|
1013
1019
|
captured_args.append(val)
|
|
1014
1020
|
elif isinstance(param, click.Argument):
|
|
1015
1021
|
param_name = cast(str, param.name)
|
|
1016
|
-
|
|
1022
|
+
opt = opts[param_name]
|
|
1023
|
+
if opt is not None and opt != _CLICK_UNSET_SENTINEL:
|
|
1017
1024
|
captured_args.append(opt)
|
|
1018
1025
|
else:
|
|
1019
1026
|
raise AssertionError("All parameters should be an Option or an Argument")
|
|
@@ -29,6 +29,8 @@ from typing import Annotated
|
|
|
29
29
|
|
|
30
30
|
from fastapi import Depends, Header, HTTPException
|
|
31
31
|
from safir.dependencies.gafaelfawr import auth_delegated_token_dependency
|
|
32
|
+
from safir.dependencies.logger import logger_dependency as safir_logger_dependency
|
|
33
|
+
from structlog.stdlib import BoundLogger
|
|
32
34
|
|
|
33
35
|
from lsst.daf.butler import LabeledButlerFactory
|
|
34
36
|
|
|
@@ -117,6 +119,31 @@ async def repository_authorization_dependency(
|
|
|
117
119
|
)
|
|
118
120
|
|
|
119
121
|
|
|
122
|
+
async def logger_dependency(
|
|
123
|
+
logger: Annotated[BoundLogger, Depends(safir_logger_dependency)],
|
|
124
|
+
repository: str,
|
|
125
|
+
user_name: Annotated[str | None, Depends(user_name_dependency)],
|
|
126
|
+
x_auth_request_service: Annotated[str | None, Header()] = None,
|
|
127
|
+
) -> BoundLogger:
|
|
128
|
+
"""Return a logger with additional bound context information.
|
|
129
|
+
|
|
130
|
+
Parameters
|
|
131
|
+
----------
|
|
132
|
+
logger : `structlog.stdlib.BoundLogger`
|
|
133
|
+
Logger provided by Safir.
|
|
134
|
+
repository : `str`
|
|
135
|
+
Butler repository that is being accessed.
|
|
136
|
+
user_name : `str` or `None`
|
|
137
|
+
Name of the user accessing the repository, from Gafaelfawr headers.
|
|
138
|
+
x_auth_request_service : `str` or `None`
|
|
139
|
+
Name of the service being used to access the repository, from
|
|
140
|
+
Gafaelfawr headers.
|
|
141
|
+
"""
|
|
142
|
+
return logger.bind(
|
|
143
|
+
butler_repo=repository, requester={"username": user_name, "service": x_auth_request_service}
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
|
|
120
147
|
async def factory_dependency(
|
|
121
148
|
repository: str,
|
|
122
149
|
butler_factory: Annotated[LabeledButlerFactory, Depends(butler_factory_dependency)],
|
|
@@ -30,10 +30,11 @@ from __future__ import annotations
|
|
|
30
30
|
__all__ = ()
|
|
31
31
|
|
|
32
32
|
import uuid
|
|
33
|
-
from typing import Any
|
|
33
|
+
from typing import Annotated, Any
|
|
34
34
|
|
|
35
35
|
from fastapi import APIRouter, Depends, HTTPException, Request
|
|
36
36
|
from fastapi.responses import RedirectResponse
|
|
37
|
+
from structlog.stdlib import BoundLogger
|
|
37
38
|
|
|
38
39
|
from ...._butler import Butler
|
|
39
40
|
from ...._collection_type import CollectionType
|
|
@@ -64,7 +65,7 @@ from ...server_models import (
|
|
|
64
65
|
QueryDatasetTypesResponseModel,
|
|
65
66
|
)
|
|
66
67
|
from .._config import load_config
|
|
67
|
-
from .._dependencies import factory_dependency
|
|
68
|
+
from .._dependencies import factory_dependency, logger_dependency
|
|
68
69
|
from .._factory import Factory
|
|
69
70
|
from ._file_info import get_file_info_payload
|
|
70
71
|
from ._utils import generate_file_download_uri, set_default_data_id
|
|
@@ -184,12 +185,14 @@ def expand_data_id(
|
|
|
184
185
|
)
|
|
185
186
|
def get_file(
|
|
186
187
|
dataset_id: uuid.UUID,
|
|
188
|
+
logger: Annotated[BoundLogger, Depends(logger_dependency)],
|
|
187
189
|
factory: Factory = Depends(factory_dependency),
|
|
188
190
|
) -> GetFileResponseModel:
|
|
189
191
|
butler = factory.create_butler()
|
|
190
192
|
ref = butler.get_dataset(dataset_id, datastore_records=True)
|
|
191
193
|
if ref is None:
|
|
192
194
|
raise DatasetNotFoundError(f"Dataset ID {dataset_id} not found")
|
|
195
|
+
_log_file_access(logger, ref, "uuid")
|
|
193
196
|
return _get_file_info_response(butler, ref)
|
|
194
197
|
|
|
195
198
|
|
|
@@ -200,6 +203,7 @@ def get_file(
|
|
|
200
203
|
)
|
|
201
204
|
def get_file_by_data_id(
|
|
202
205
|
request: GetFileByDataIdRequestModel,
|
|
206
|
+
logger: Annotated[BoundLogger, Depends(logger_dependency)],
|
|
203
207
|
factory: Factory = Depends(factory_dependency),
|
|
204
208
|
) -> GetFileResponseModel:
|
|
205
209
|
butler = factory.create_butler()
|
|
@@ -211,6 +215,7 @@ def get_file_by_data_id(
|
|
|
211
215
|
datastore_records=True,
|
|
212
216
|
timespan=request.timespan,
|
|
213
217
|
)
|
|
218
|
+
_log_file_access(logger, ref, "data-id")
|
|
214
219
|
return _get_file_info_response(butler, ref)
|
|
215
220
|
|
|
216
221
|
|
|
@@ -220,12 +225,21 @@ def _get_file_info_response(butler: Butler, ref: DatasetRef) -> GetFileResponseM
|
|
|
220
225
|
)
|
|
221
226
|
|
|
222
227
|
|
|
228
|
+
def _log_file_access(logger: BoundLogger, ref: DatasetRef, access_method: str) -> None:
|
|
229
|
+
logger.info(
|
|
230
|
+
"file-access",
|
|
231
|
+
dataset={"uuid": str(ref.id), "type": ref.datasetType.name, "data_id": dict(ref.dataId.required)},
|
|
232
|
+
file_access_endpoint=access_method,
|
|
233
|
+
)
|
|
234
|
+
|
|
235
|
+
|
|
223
236
|
@external_router.get(
|
|
224
237
|
"/v1/dataset/{dataset_id}/download",
|
|
225
238
|
summary="Return an HTTP redirect to a location where you can download the artifact file for the dataset.",
|
|
226
239
|
)
|
|
227
240
|
def redirect_to_dataset_download(
|
|
228
241
|
dataset_id: uuid.UUID,
|
|
242
|
+
logger: Annotated[BoundLogger, Depends(logger_dependency)],
|
|
229
243
|
component: str | None = None,
|
|
230
244
|
factory: Factory = Depends(factory_dependency),
|
|
231
245
|
) -> RedirectResponse:
|
|
@@ -245,6 +259,7 @@ def redirect_to_dataset_download(
|
|
|
245
259
|
# files, and you must specify the component to pick which one you want
|
|
246
260
|
# to download.
|
|
247
261
|
if info.datastoreRecords.component == component:
|
|
262
|
+
_log_file_access(logger, ref, "uuid-redirect")
|
|
248
263
|
return RedirectResponse(status_code=307, url=str(info.url))
|
|
249
264
|
|
|
250
265
|
found_components = [info.datastoreRecords.component for info in payload.file_info]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-daf-butler
|
|
3
|
-
Version: 29.2025.
|
|
3
|
+
Version: 29.2025.3900
|
|
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.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/CHANGES.rst
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/configuring.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/datastores.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/dimensions.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/formatters.rst
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/organizing.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/doc/lsst.daf.butler/queries.rst
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/__init__.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_column_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_dataset_ref.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_location.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_named.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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
|
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/_timespan.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/arrow_utils.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/__init__.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/butler.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/cli/progress.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/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
|
|
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
|
|
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
|
|
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
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/json.py
RENAMED
|
File without changes
|
{lsst_daf_butler-29.2025.3800 → lsst_daf_butler-29.2025.3900}/python/lsst/daf/butler/logging.py
RENAMED
|
File without changes
|
|
File without changes
|