Skip to main content
`Ctrl`+`K`

# VOTableFile

class astropy.io.votable.tree.VOTableFile(ID=None, id=None, config=None, pos=None, version='1.4')

  Bases: `Element`, `_IDProperty`, `_DescriptionProperty`

  VOTABLE element: represents an entire file.

  The keyword arguments correspond to setting members of the same name, documented below.

  version is settable at construction time only, since conformance tests for building the rest of the structure depend on it.

  Attributes Summary

  `config` | Configuration used to construct this object.
  `coordinate_systems` | A list of coordinate system descriptions for the file.
  `groups` | A list of groups, in the order they appear in the file.
  `infos` | A list of informational parameters (key-value pairs) for the entire file.
  `params` | A list of parameters (constant-valued columns) that apply to the entire file.
  `resources` | A list of resources, in the order they appear in the file.
  `time_systems` | A list of time system descriptions for the file.
  `version` | The version of the VOTable specification that the file uses.

  Methods Summary

  `from_table`(table[, table_id]) | Create a `VOTableFile` instance from a given `astropy.table.Table` instance.
  `get_coosys_by_id`(ref[, before]) | Looks up a COOSYS element by the given ID.
  `get_field_by_id`(ref[, before]) | Looks up a FIELD element by the given ID.
  `get_field_by_id_or_name`(ref[, before]) | Looks up a FIELD element by the given ID or name.
  `get_fields_by_utype`(ref[, before]) | Looks up a FIELD element by the given utype and returns an iterator emitting all matches.
  `get_first_table`() | Often, you know there is only one table in the file, and that's all you need.
  `get_group_by_id`(ref[, before]) | Looks up a GROUP element by the given ID.
  `get_groups_by_utype`(ref[, before]) | Looks up a GROUP element by the given utype and returns an iterator emitting all matches.
  `get_info_by_id`(ref[, before]) | Looks up a INFO element by the given ID.
  `get_infos_by_name`(ref[, before]) | Returns all INFO children with the given name.
  `get_table_by_id`(ref[, before]) | Looks up a TABLE element by the given ID.
  `get_table_by_index`(idx) | Get a table by its ordinal position in the file.
  `get_tables_by_utype`(ref[, before]) | Looks up a TABLE element by the given utype, and returns an iterator emitting all matches.
  `get_timesys_by_id`(ref[, before]) | Looks up a TIMESYS element by the given ID.
  `get_values_by_id`(ref[, before]) | Looks up a VALUES element by the given ID.
  `iter_coosys`() | Recursively iterate over all COOSYS elements in the VOTABLE file.
  `iter_fields_and_params`() | Recursively iterate over all FIELD and PARAM elements in the VOTABLE file.
  `iter_groups`() | Recursively iterate over all GROUP elements in the VOTABLE file.
  `iter_info`() | Recursively iterate over all INFO elements in the VOTABLE file.
  `iter_tables`() | Iterates over all tables in the VOTable file in a "flat" way, ignoring the nesting of resources etc.
  `iter_timesys`() | Recursively iterate over all TIMESYS elements in the VOTABLE file.
  `iter_values`() | Recursively iterate over all VALUES elements in the VOTABLE file.
  `parse`(iterator, config) | For internal use.
  `set_all_tables_format`(format) | Set the output storage format of all tables in the file.
  `to_xml`(fd[, compressed, tabledata_format, ...]) | Write to an XML file.
  `write`(output, **kwargs) | Write the VOTable to a file.

  Attributes Documentation

  config

    Configuration used to construct this object. Will always include the version check values.

  coordinate_systems

    A list of coordinate system descriptions for the file. Must contain only `CooSys` objects.

  groups

    A list of groups, in the order they appear in the file. Only supported as a child of the VOTABLE element in VOTable 1.2 or later.

  infos

    A list of informational parameters (key-value pairs) for the entire file. Must only contain `Info` objects.

  params

    A list of parameters (constant-valued columns) that apply to the entire file. Must contain only `Param` objects.

  resources

    A list of resources, in the order they appear in the file. Must only contain `Resource` objects.

  time_systems

    A list of time system descriptions for the file. Must contain only `TimeSys` objects.

  version

    The version of the VOTable specification that the file uses.

  Methods Documentation

  classmethod from_table(table, table_id=None)

    Create a `VOTableFile` instance from a given `astropy.table.Table` instance.

    Parameters:
      table_id `python:str`, optional

        Set the given ID attribute on the returned TableElement instance.

  get_coosys_by_id(ref, before=None)

    Looks up a COOSYS element by the given ID.

  get_field_by_id(ref, before=None)

    Looks up a FIELD element by the given ID. Used by the field’s “ref” attribute.

  get_field_by_id_or_name(ref, before=None)

    Looks up a FIELD element by the given ID or name.

  get_fields_by_utype(ref, before=None)

    Looks up a FIELD element by the given utype and returns an iterator emitting all matches.

  get_first_table()

    Often, you know there is only one table in the file, and that’s all you need. This method returns that first table.

  get_group_by_id(ref, before=None)

    Looks up a GROUP element by the given ID. Used by the group’s “ref” attribute

  get_groups_by_utype(ref, before=None)

    Looks up a GROUP element by the given utype and returns an iterator emitting all matches.

  get_info_by_id(ref, before=None)

    Looks up a INFO element by the given ID.

  get_infos_by_name(ref, before=None)

    Returns all INFO children with the given name.

  get_table_by_id(ref, before=None)

    Looks up a TABLE element by the given ID. Used by the table “ref” attribute.

  get_table_by_index(idx)

    Get a table by its ordinal position in the file.

  get_tables_by_utype(ref, before=None)

    Looks up a TABLE element by the given utype, and returns an iterator emitting all matches.

  get_timesys_by_id(ref, before=None)

    Looks up a TIMESYS element by the given ID.

  get_values_by_id(ref, before=None)

    Looks up a VALUES element by the given ID. Used by the values “ref” attribute.

  iter_coosys()

    Recursively iterate over all COOSYS elements in the VOTABLE file.

  iter_fields_and_params()

    Recursively iterate over all FIELD and PARAM elements in the VOTABLE file.

  iter_groups()

    Recursively iterate over all GROUP elements in the VOTABLE file.

  iter_info()

    Recursively iterate over all INFO elements in the VOTABLE file.

  iter_tables()

    Iterates over all tables in the VOTable file in a “flat” way, ignoring the nesting of resources etc.

  iter_timesys()

    Recursively iterate over all TIMESYS elements in the VOTABLE file.

  iter_values()

    Recursively iterate over all VALUES elements in the VOTABLE file.

  parse(iterator, config)

    For internal use. Parse the XML content of the children of the element.

    Parameters:
      iterator `xml` python:iterable

        An iterator over XML elements as returned by `get_xml_iterator`.

      config `python:dict`

        The configuration dictionary that affects how certain elements are read.

    Returns:
      self `Element`

        Returns self as a convenience.

  set_all_tables_format(format)

    Set the output storage format of all tables in the file.

  to_xml(fd, compressed=False, tabledata_format=None, _debug_python_based_parser=False, _astropy_version=None)

    Write to an XML file.

    Parameters:
      fd `python:str` or python:file-like object

        Where to write the file. If a file-like object, must be writable.

      compressed bool, optional

        When `True`, write to a gzip-compressed file. (Default: `False`)

      tabledata_format `python:str`, optional

        Override the format of the table(s) data to write. Must be one of `tabledata` (text representation), `binary` or `binary2`. By default, use the format that was specified in each `TableElement` object as it was created or read in. See Data Serialization Formats.

  write(output, **kwargs)

    Write the VOTable to a file.

    This is a wrapper around `to_xml` that accepts the same `output` argument as `write`, allowing `VOTableFile` objects to be passed directly to code that expects a `write` method with a compatible signature.

    Parameters:
      output `python:str` or python:file-like object

        Where to write the file. If a file-like object, must be writable.

      **kwargs

        Additional keyword arguments are passed on to `to_xml`. The `format` keyword is accepted for API compatibility but ignored.