Butler v22.0 2021-04-01 ======================= New Features ------------ * A Butler instance can now be configured with dataId defaults such as an instrument or skymap. [DM-27153] * Add ``butler prune-datasets`` command. [DM-26689] * Add ``butler query-dimension-records`` command [DM-27344] * Add ``--unlink`` option to ``butler prune-collection`` command. [DM-28857] * Add progress reporting option for long-lived commands. [DM-28964] * Add ``butler associate`` command to add existing datasets to a tagged collection. [DM-26688] * Add officially-supported JSON serialization for core Butler classes. [DM-28314] * Allow ``butler.get()`` to support dimension record values such as exposure observing day or detector name in the dataID. [DM-27152] * Add "direct" ingest mode to allow a file to be ingested retaining the full path to the original file. [DM-27478] Bug Fixes --------- * Fix temporal queries and clarify ``Timespan`` behavior. [DM-27985] Other Changes and Additions --------------------------- * Make ``ButlerURI`` class immutable. [DM-29073] * Add ``ButlerURI.findFileResources`` method to walk the directory tree and return matching files. [DM-29011] * Improve infrastructure for handling test repositories. [DM-23862] Butler Datastores ----------------- New Features ~~~~~~~~~~~~ * Implement basic file caching for use with remote datastores. [DM-29383] * Require that a DataId always be available to a ``Formatter``. This allows formatters to do a consistency check such as comparing the physical filter in a dataId with that read from a file. [DM-28583] * Add special mode to datastore to instruct it to ignore registry on ``get``. This is useful for Execution Butlers where registry knows in advance about all datasets but datastore does not. [DM-28648] * Add ``forget`` method to instruct datastore to remove all knowledge of a dataset without deleting the file artifact. [DM-29106] Butler Registry --------------- New Features ~~~~~~~~~~~~ * Avoid long-lived connections to database. [DM-26302] * Add option to flatten when setting a collection chain. [DM-29203]