Butler changes for DM-5452 "create support in Butler for multiple repositories"

Very soon I will merge to master another batch of changes to Butler (I’m waiting for a final sanity check from Jenkins). It includes a little bit of proof-of-concept/example code in the form of test cases. It also includes infrastructure work.

The new unit tests are reposInButler.py and repoFindByDate.py. There will be more discussion of these, probably in a RFD related to DM-4168 “Data repository selection based on version”.

Changes that are noteworthy or may cause issues with existing code include:

  • registries.py (PosixRegistry, SqliteRegistry) and fsScanner.py are moved from daf_butlerUtils to daf_persistence.
  • reordered include statements in lsst/daf/persistence/__init__.py for better dependency management
  • moves reading & writing from and to the filesystem from Butler and Access to PosixStorage
  • note that there are “wet paint” classes where definition & API are work-in-progress and should not be used directly by butler users. In relevant classes & functions there are notes in docstrings indicating this. These include:
  • access.py
  • posixStorage.py
  • regestries.py

If you run into confusing issues please feel free to contact me.

it is merged to master now.