1%YAML 1.1
2---
3$schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
4id: "http://astropy.org/schemas/astropy/table/table-1.0.0"
5tag: "tag:astropy.org:astropy/table/table-1.0.0"
6
7title: >
8  A table.
9
10description: |
11  A table is represented as a list of columns, where each entry is a
12  [column](ref:http://stsci.edu/schemas/asdf/core/column-1.0.0)
13  object, containing the data and some additional information.
14
15  The data itself may be stored inline as text, or in binary in either
16  row- or column-major order by use of the `strides` property on the
17  individual column arrays.
18
19  Each column in the table must have the same first (slowest moving)
20  dimension.
21
22examples:
23  -
24    - A table stored in column-major order, with each column in a separate block
25    - |
26        !<tag:astropy.org:astropy/table/table-1.0.0>
27          columns:
28          - !core/column-1.0.0
29            data: !core/ndarray-1.0.0
30              source: 0
31              datatype: float64
32              byteorder: little
33              shape: [3]
34            description: RA
35            meta: {foo: bar}
36            name: a
37            unit: !unit/unit-1.0.0 deg
38          - !core/column-1.0.0
39            data: !core/ndarray-1.0.0
40              source: 1
41              datatype: float64
42              byteorder: little
43              shape: [3]
44            description: DEC
45            name: b
46          - !core/column-1.0.0
47            data: !core/ndarray-1.0.0
48              source: 2
49              datatype: [ascii, 1]
50              byteorder: big
51              shape: [3]
52            description: The target name
53            name: c
54          colnames: [a, b, c]
55
56  -
57    - A table stored in row-major order, all stored in the same block
58    - |
59        !<tag:astropy.org:astropy/table/table-1.0.0>
60          columns:
61          - !core/column-1.0.0
62            data: !core/ndarray-1.0.0
63              source: 0
64              datatype: float64
65              byteorder: little
66              shape: [3]
67              strides: [13]
68            description: RA
69            meta: {foo: bar}
70            name: a
71            unit: !unit/unit-1.0.0 deg
72          - !core/column-1.0.0
73            data: !core/ndarray-1.0.0
74              source: 0
75              datatype: float64
76              byteorder: little
77              shape: [3]
78              offset: 4
79              strides: [13]
80            description: DEC
81            name: b
82          - !core/column-1.0.0
83            data: !core/ndarray-1.0.0
84              source: 0
85              datatype: [ascii, 1]
86              byteorder: big
87              shape: [3]
88              offset: 12
89              strides: [13]
90            description: The target name
91            name: c
92          colnames: [a, b, c]
93
94type: object
95properties:
96  columns:
97    description: |
98      A list of columns in the table.
99    type: array
100    items:
101      anyOf:
102        - $ref: "tag:stsci.edu:asdf/core/column-1.0.0"
103        - $ref: "tag:stsci.edu:asdf/core/ndarray-1.0.0"
104        - $ref: "tag:stsci.edu:asdf/time/time-1.1.0"
105        - $ref: "tag:stsci.edu:asdf/unit/quantity-1.1.0"
106        - $ref: "../coordinates/skycoord-1.0.0"
107        - $ref: "../coordinates/earthlocation-1.0.0"
108        - $ref: "../time/timedelta-1.0.0"
109
110  colnames:
111    description: |
112      A list containing the names of the columns in the table (in order).
113    type: array
114    items:
115      - type: string
116
117  qtable:
118    description: |
119      A flag indicating whether or not the serialized type was a QTable
120    type: boolean
121    default: False
122
123  meta:
124    description: |
125      Additional free-form metadata about the table.
126    type: object
127    default: {}
128
129additionalProperties: false
130required: [columns, colnames]
131