Coverage for python/lsst/daf/butler/_rubin/datastore_records.py: 0%

9 statements  

« prev     ^ index     » next       coverage.py v7.14.1, created at 2026-05-30 08:35 +0000

1# This file is part of daf_butler. 

2# 

3# Developed for the LSST Data Management System. 

4# This product includes software developed by the LSST Project 

5# (http://www.lsst.org). 

6# See the COPYRIGHT file at the top-level directory of this distribution 

7# for details of code ownership. 

8# 

9# This software is dual licensed under the GNU General Public License and also 

10# under a 3-clause BSD license. Recipients may choose which of these licenses 

11# to use; please see the files gpl-3.0.txt and/or bsd_license.txt, 

12# respectively. If you choose the GPL option then the following text applies 

13# (but note that there is still no warranty even if you opt for BSD instead): 

14# 

15# This program is free software: you can redistribute it and/or modify 

16# it under the terms of the GNU General Public License as published by 

17# the Free Software Foundation, either version 3 of the License, or 

18# (at your option) any later version. 

19# 

20# This program is distributed in the hope that it will be useful, 

21# but WITHOUT ANY WARRANTY; without even the implied warranty of 

22# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

23# GNU General Public License for more details. 

24# 

25# You should have received a copy of the GNU General Public License 

26# along with this program. If not, see <http://www.gnu.org/licenses/>. 

27 

28from __future__ import annotations 

29 

30__all__ = ("DatastoreRecordTable", "export_datastore_records_table", "import_datastore_records_table") 

31 

32from collections.abc import Collection 

33 

34from .._butler import Butler 

35from ..datastore.record_data import DatasetId, DatastoreRecordTable 

36 

37# These are available for external code to export/import datastore records in 

38# bulk. Initially, these are intended for use by the ``butler_transform`` 

39# package. 

40 

41 

42def export_datastore_records_table(butler: Butler, datasets: Collection[DatasetId]) -> DatastoreRecordTable: 

43 """Export datastore records to an arrow table. 

44 

45 Parameters 

46 ---------- 

47 butler 

48 Butler instance to export data from. 

49 datasets 

50 Dataset UUIDs for the records to export. 

51 

52 Returns 

53 ------- 

54 table 

55 Datastore records table. 

56 """ 

57 return butler._datastore.export_table(datasets) 

58 

59 

60def import_datastore_records_table(butler: Butler, table: DatastoreRecordTable) -> None: 

61 """Import datastore records from an arrow table. 

62 

63 Parameters 

64 ---------- 

65 butler 

66 Butler instance to import data into. 

67 table 

68 Table containing the datastore records to import. 

69 

70 Raises 

71 ------ 

72 ValueError 

73 If the given table contains entries for a datastore that is not 

74 known to the given Butler. 

75 """ 

76 return butler._datastore.import_table(table)