Coverage for python/lsst/daf/butler/core/_column_type_info.py: 100%
16 statements
« prev ^ index » next coverage.py v6.5.0, created at 2022-11-15 01:58 -0800
« prev ^ index » next coverage.py v6.5.0, created at 2022-11-15 01:58 -0800
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 program is free software: you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation, either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program. If not, see <http://www.gnu.org/licenses/>.
22from __future__ import annotations
24__all__ = ("ColumnTypeInfo",)
26import dataclasses
28from .ddl import FieldSpec
29from .dimensions import DimensionUniverse
30from .timespan import TimespanDatabaseRepresentation
33@dataclasses.dataclass(frozen=True, eq=False)
34class ColumnTypeInfo:
35 """A struct that aggregates information about column types that can differ
36 across data repositories due to `Registry` and dimension configuration.
37 """
39 timespan_cls: type[TimespanDatabaseRepresentation]
40 """An abstraction around the column type or types used for timespans by
41 this database engine.
42 """
44 universe: DimensionUniverse
45 """Object that manages the definitions of all dimension and dimension
46 elements.
47 """
49 dataset_id_spec: FieldSpec
50 """Field specification for the dataset primary key column.
51 """
53 run_key_spec: FieldSpec
54 """Field specification for the `~CollectionType.RUN` primary key column.
55 """