Attribute#
- class astropy.coordinates.Attribute(default=None, secondary_attribute='', *, doc='A frame attribute')[source]#
Bases:
object
A non-mutable data descriptor to hold a frame attribute.
This class must be used to define frame attributes (e.g.
equinox
orobstime
) that are included in a frame class definition.- Parameters:
- default
object
Default value for the attribute if not provided
- secondary_attribute
str
Name of a secondary instance attribute which supplies the value if
default is None
and no value was supplied during initialization.- doc
str
Description of the frame attribute for help and documentation. Information on the default value will be appended to this description.
- default
Examples
The
FK4
class uses the following class attributes:class FK4(BaseCoordinateFrame): equinox = TimeAttribute(default=_EQUINOX_B1950) obstime = TimeAttribute(default=None, secondary_attribute='equinox')
This means that
equinox
andobstime
are available to be set as keyword arguments when creating anFK4
class instance and are then accessible as instance attributes. The instance value for the attribute must be stored in'_' + <attribute_name>
by the frame__init__
method.Note in this example that
equinox
andobstime
are time attributes and use theTimeAttributeFrame
class. This subclass overrides theconvert_input
method to validate and convert inputs into aTime
object.Attributes Summary
Methods Summary
convert_input
(value)Validate the input
value
and convert to expected attribute class.Attributes Documentation
- name = '<unbound>'#
Methods Documentation
- convert_input(value)[source]#
Validate the input
value
and convert to expected attribute class.The base method here does nothing, but subclasses can implement this as needed. The method should catch any internal exceptions and raise ValueError with an informative message.
The method returns the validated input along with a boolean that indicates whether the input value was actually converted. If the input value was already the correct type then the
converted
return value should beFalse
.- Parameters:
- value
object
Input value to be converted.
- value
- Returns:
- Raises:
ValueError
If the input is not valid for this attribute.