RegistryResource

class pyvo.registry.regtap.RegistryResource(results, index, session=None)[source]

Bases: pyvo.dal.Record

a dictionary for the resource metadata returned in one record of a registry query.

A SimpleResource acts as a dictionary, so in general, all attributes can be accessed by name via the [] operator, and the attribute names can by returned via the keys() function. For convenience, it also stores key values as properties; these include:

Attributes Summary

access_url

the URL that can be used to access the service resource.

content_levels

a list of content level labels that describe the intended audience for this resource.

content_types

list of natures or genres of the content of the resource.

creators

The creator(s) of the resource in the ordergiven by the resource record author

expected_columns

ivoid

the IVOA identifier for the resource.

reference_url

URL pointing to a human-readable document describing this resource.

region_of_regard

numeric value representing the angle, given in decimal degrees, by which a positional query against this resource should be “blurred” in order to get an appropriate match.

res_description

the textual description of the resource.

res_title

the title of the resource

res_type

the resource types that characterize this resource.

service

return a service for this resource.

short_name

the short name for the resource

source_format

The format of source_value.

standard_id

the IVOA standard identifier

waveband

a list of names of the wavebands that the resource provides data for

Methods Summary

access_modes()

returns a list of interface identifiers available on this resource.

describe([verbose, width, file])

Print a summary description of this resource.

get_contact()

return contact information for this resource in a string.

get_interface(service_type[, lax, std_only])

returns a regtap.Interface class for service_type.

get_service([service_type, lax])

return an appropriate DALService subclass for this resource that can be used to search the resource using service_type.

get_tables([table_limit])

return the structure of the tables underlying the service.

search(*args, **keys)

assuming this resource refers to a searchable service, execute a search against the resource.

Attributes Documentation

access_url

the URL that can be used to access the service resource.

content_levels

a list of content level labels that describe the intended audience for this resource.

content_types

list of natures or genres of the content of the resource.

creators

The creator(s) of the resource in the ordergiven by the resource record author

expected_columns = ['ivoid', 'res_type', 'short_name', 'res_title', 'content_level', 'res_description', 'reference_url', 'creator_seq', 'content_type', 'source_format', 'region_of_regard', 'waveband', ("\n ivo_string_agg(COALESCE(access_url, ''), ':::py VO sep:::')", 'access_urls'), ("\n ivo_string_agg(COALESCE(standard_id, ''), ':::py VO sep:::')", 'standard_ids'), ("\n ivo_string_agg(COALESCE(intf_type, ''), ':::py VO sep:::')", 'intf_types'), ("\n ivo_string_agg(COALESCE(intf_role, ''), ':::py VO sep:::')", 'intf_roles')]
ivoid

the IVOA identifier for the resource.

reference_url

URL pointing to a human-readable document describing this resource.

region_of_regard

numeric value representing the angle, given in decimal degrees, by which a positional query against this resource should be “blurred” in order to get an appropriate match.

res_description

the textual description of the resource.

See also

SimpleResource.describe
res_title

the title of the resource

res_type

the resource types that characterize this resource.

service

return a service for this resource.

This will in general only work if the registry query has constrained the service type; otherwise, many resources will have multiple capabilities. Use get_service instead in such cases.

short_name

the short name for the resource

source_format

The format of source_value.

standard_id

the IVOA standard identifier

waveband

a list of names of the wavebands that the resource provides data for

Methods Documentation

access_modes()[source]

returns a list of interface identifiers available on this resource.

For standard interfaces, get_service will return a service suitable for querying if you pass in an identifier from this list as the service_type.

This will ignore VOSI (infrastructure) services.

describe(verbose=False, width=78, file=None)[source]

Print a summary description of this resource.

Parameters
verbosebool

If false (default), only user-oriented information is printed; if true, additional information will be printed as well.

widthint

Format the description with given character-width.

outwritable file-like object

If provided, write information to this output stream. Otherwise, it is written to standard out.

get_contact()[source]

return contact information for this resource in a string.

Use this to report bugs or unexpected downtime.

get_interface(service_type: str, lax: bool = True, std_only: bool = False)[source]

returns a regtap.Interface class for service_type.

Parameters
The meaning of the parameters is as for get_service. This
method does not return services, though, so you can use it to
obtain access URLs and such for interfaces that pyVO does
not (directly) support. In addition,
std_onlybool

Only return interfaces declared as “std”. This is what you want when you want to construct pyVO service objects later. This parameter is ignored for the “web” service type.

get_service(service_type: Optional[str] = None, lax: bool = True)[source]

return an appropriate DALService subclass for this resource that can be used to search the resource using service_type.

Raise a ValueError if the service_type is not offerend on the resource (or no standard service is offered). With lax=False, also raise a ValueError if multiple interfaces exist for the given service_type.

VOSI (infrastructure) services are always ignored here.

A magic service_type “web” can be passed in to get non-standard, browser-based interfaces. The service in this case is an object that opens a web browser if its query() method is called.

Parameters
service_typestr

If you leave out service_type, this will return a service for “the” standard interface of the resource. If a resource has multiple standard capabilities (e.g., both TAP and SSAP endpoints), this will raise a DALQueryError.

Otherwise, a service of the given service type will be returned. Pass in an ivoid of a standard or one of the shorthands from rtcons.SERVICE_TYPE_MAP, or “web” for a web page (the “service” for this will be an object opening a web browser when you call its query method).

laxbool

If there are multiple capabilities for service_type, the function choose the first matching capability by default Pass lax=False to instead raise a DALQueryError.

get_tables(table_limit=20)[source]

return the structure of the tables underlying the service.

This returns a dict with table names as keys and vosi.Table objects as values (pretty much what tables returns for a TAP service).

Note that not only TAP services can (and do) define table structures. The meaning of non-TAP tables is not always as clear.

Also note that resources do not need to define tables at all. You will receive an empty dictionary if they don’t.

search(*args, **keys)[source]

assuming this resource refers to a searchable service, execute a search against the resource. This is equivalent to:

self.to_service().search(*args, **keys)

The arguments provided should be appropriate for the service that the DAL service type would expect. See the documentation for the appropriate service type:

Service type

Use the argument syntax for

catalog

pyvo.dal.SCSService.search

image

pyvo.dal.SIAService.search

spectrum

pyvo.dal.SSAService.search

line

pyvo.dal.SLAService.search

database

not yet supported

Raises
RuntimeError

if the resource does not describe a searchable service.