Bases: object
A Simple SAMP client.
This class is meant to simplify the client usage providing a proxy class that merges the SAMPClient and SAMPHubProxy functionalities in a simplified API.
Parameters: | name : str, optional
description : str, optional
metadata : dict, optional
addr : str, optional
port : int, optional
https : bool, optional
key_file : str, optional
cert_file : str, optional
cert_reqs : int, optional
ca_certs : str, optional
ssl_version : int, optional
callable : bool, optional
|
---|
Attributes Summary
is_connected | Testing method to verify the client connection with a running Hub. |
Methods Summary
bind_receive_call(mtype, function[, ...]) | Bind a specific MType call to a function or class method. |
bind_receive_message(mtype, function[, ...]) | Bind a specific MType to a function or class method, being intended for a call or a notification. |
bind_receive_notification(mtype, function[, ...]) | Bind a specific MType notification to a function or class method. |
bind_receive_response(msg_tag, function) | Bind a specific msg-tag response to a function or class method. |
call(recipient_id, msg_tag, message) | Proxy to call SAMP Hub method. |
call_all(msg_tag, message) | Proxy to callAll SAMP Hub method. |
call_and_wait(recipient_id, message, timeout) | Proxy to callAndWait SAMP Hub method. |
connect([hub, hub_params, key_file, ...]) | Connect with the current or specified SAMP Hub, start and register the client. |
declare_metadata(metadata) | Proxy to declareMetadata SAMP Hub method. |
declare_subscriptions([subscriptions]) | Declares the MTypes the client wishes to subscribe to, implicitly defined with the MType binding methods bind_receive_notification() and bind_receive_call(). |
disconnect() | Unregister the client from the current SAMP Hub, stop the client and disconnect from the Hub. |
ecall(recipient_id, msg_tag, mtype, **params) | Easy to use version of call(). |
ecall_all(msg_tag, mtype, **params) | Easy to use version of call_all(). |
ecall_and_wait(recipient_id, mtype, timeout, ...) | Easy to use version of call_and_wait(). |
enotify(recipient_id, mtype, **params) | Easy to use version of notify(). |
enotify_all(mtype, **params) | Easy to use version of notify_all(). |
ereply(msg_id, status[, result, error]) | Easy to use version of reply(). |
get_metadata(client_id) | Proxy to getMetadata SAMP Hub method. |
get_private_key() | Return the client private key used for the Standard Profile communications obtained at registration time (samp.private-key). |
get_public_id() | Return public client ID obtained at registration time (samp.self-id). |
get_registered_clients() | Proxy to getRegisteredClients SAMP Hub method. |
get_subscribed_clients(mtype) | Proxy to getSubscribedClients SAMP Hub method. |
get_subscriptions(client_id) | Proxy to getSubscriptions SAMP Hub method. |
notify(recipient_id, message) | Proxy to notify SAMP Hub method. |
notify_all(message) | Proxy to notifyAll SAMP Hub method. |
ping() | Proxy to ping SAMP Hub method (Standard Profile only). |
receive_call(private_key, sender_id, msg_id, ...) | Standard callable client receive_call method. |
receive_notification(private_key, sender_id, ...) | Standard callable client receive_notification method. |
receive_response(private_key, responder_id, ...) | Standard callable client receive_response method. |
reply(msg_id, response) | Proxy to reply SAMP Hub method. |
unbind_receive_call(mtype[, declare]) | Remove from the calls binding table the specified MType and unsubscribe the client from it (if required). |
unbind_receive_notification(mtype[, declare]) | Remove from the notifications binding table the specified MType and unsubscribe the client from it (if required). |
unbind_receive_response(msg_tag) | Remove from the responses binding table the specified message-tag. |
Attributes Documentation
Testing method to verify the client connection with a running Hub.
Returns: | is_connected : bool
|
---|
Methods Documentation
Bind a specific MType call to a function or class method.
The function must be of the form:
def my_function_or_method(<self,> private_key, sender_id, msg_id,
mtype, params, extra)
where private_key is the client private-key, sender_id is the notification sender ID, msg_id is the Hub message-id, mtype is the message MType, params is the message parameter set (content of "samp.params") and extra is a dictionary containing any extra message map entry. The client is automatically declared subscribed to the MType by default.
Parameters: | mtype : str
function : callable
declare : bool, optional
metadata : dict, optional
|
---|
Bind a specific MType to a function or class method, being intended for a call or a notification.
The function must be of the form:
def my_function_or_method(<self,> private_key, sender_id, msg_id,
mtype, params, extra)
where private_key is the client private-key, sender_id is the notification sender ID, msg_id is the Hub message-id (calls only, otherwise is None), mtype is the message MType, params is the message parameter set (content of "samp.params") and extra is a dictionary containing any extra message map entry. The client is automatically declared subscribed to the MType by default.
Parameters: | mtype : str
function : callable
declare : bool, optional
metadata : dict, optional
|
---|
Bind a specific MType notification to a function or class method.
The function must be of the form:
def my_function_or_method(<self,> private_key, sender_id, mtype,
params, extra)
where private_key is the client private-key, sender_id is the notification sender ID, mtype is the message MType, params is the notified message parameter set (content of "samp.params") and extra is a dictionary containing any extra message map entry. The client is automatically declared subscribed to the MType by default.
Parameters: | mtype : str
function : callable
declare : bool, optional
metadata : dict, optional
|
---|
Bind a specific msg-tag response to a function or class method.
The function must be of the form:
def my_function_or_method(<self,> private_key, responder_id,
msg_tag, response)
where private_key is the client private-key, responder_id is the message responder ID, msg_tag is the message-tag provided at call time and response is the response received.
Parameters: | msg_tag : str
function : callable
|
---|
Proxy to call SAMP Hub method.
Proxy to callAll SAMP Hub method.
Proxy to callAndWait SAMP Hub method.
Connect with the current or specified SAMP Hub, start and register the client.
Parameters: | hub : SAMPHubServer, optional
hub_params : dict, optional
key_file : str, optional
cert_file : str, optional
cert_reqs : int, optional
ca_certs : str, optional
ssl_version : int, optional
pool_size : int, optional
|
---|
Proxy to declareMetadata SAMP Hub method.
Declares the MTypes the client wishes to subscribe to, implicitly defined with the MType binding methods bind_receive_notification() and bind_receive_call().
An optional subscriptions map can be added to the final map passed to the declare_subscriptions() method.
Parameters: | subscriptions : dict, optional
|
---|
Unregister the client from the current SAMP Hub, stop the client and disconnect from the Hub.
Easy to use version of call().
This is a proxy to call method that allows to send a call message in a simplified way.
Note that reserved extra_kws keyword is a dictionary with the special meaning of being used to add extra keywords, in addition to the standard samp.mtype and samp.params, to the message sent.
Parameters: | recipient_id : str
msg_tag : str
mtype : str
params : dict of set of keywords
|
---|
Examples
>>> from astropy.vo.samp import SAMPIntegratedClient
>>> cli = SAMPIntegratedClient()
>>> ...
>>> msgid = cli.ecall("abc", "xyz", "samp.msg.progress",
... txt = "initialization", percent = "10",
... extra_kws = {"my.extra.info": "just an example"})
Easy to use version of call_all().
This is a proxy to callAll method that allows to send the call message in a simplified way.
Note that reserved extra_kws keyword is a dictionary with the special meaning of being used to add extra keywords, in addition to the standard samp.mtype and samp.params, to the message sent.
Parameters: | msg_tag : str
mtype : str
params : dict of set of keywords
|
---|
Examples
>>> from astropy.vo.samp import SAMPIntegratedClient
>>> cli = SAMPIntegratedClient()
>>> ...
>>> msgid = cli.ecall_all("xyz", "samp.msg.progress",
... txt = "initialization", percent = "10",
... extra_kws = {"my.extra.info": "just an example"})
Easy to use version of call_and_wait().
This is a proxy to callAndWait method that allows to send the call message in a simplified way.
Note that reserved extra_kws keyword is a dictionary with the special meaning of being used to add extra keywords, in addition to the standard samp.mtype and samp.params, to the message sent.
Parameters: | recipient_id : str
mtype : str
timeout : str
params : dict of set of keywords
|
---|
Examples
>>> from astropy.vo.samp import SAMPIntegratedClient
>>> cli = SAMPIntegratedClient()
>>> ...
>>> cli.ecall_and_wait("xyz", "samp.msg.progress", "5",
... txt = "initialization", percent = "10",
... extra_kws = {"my.extra.info": "just an example"})
Easy to use version of notify().
This is a proxy to notify method that allows to send the notification message in a simplified way.
Note that reserved extra_kws keyword is a dictionary with the special meaning of being used to add extra keywords, in addition to the standard samp.mtype and samp.params, to the message sent.
Parameters: | recipient_id : str
mtype : str
params : dict or set of keywords
|
---|
Examples
>>> from astropy.vo.samp import SAMPIntegratedClient
>>> cli = SAMPIntegratedClient()
>>> ...
>>> cli.enotify("samp.msg.progress", msgid = "xyz", txt = "initialization",
... percent = "10", extra_kws = {"my.extra.info": "just an example"})
Easy to use version of notify_all().
This is a proxy to notifyAll method that allows to send the notification message in a simplified way.
Note that reserved extra_kws keyword is a dictionary with the special meaning of being used to add extra keywords, in addition to the standard samp.mtype and samp.params, to the message sent.
Parameters: | mtype : str
params : dict or set of keywords
|
---|
Examples
>>> from astropy.vo.samp import SAMPIntegratedClient
>>> cli = SAMPIntegratedClient()
>>> ...
>>> cli.enotify_all("samp.msg.progress", txt = "initialization",
... percent = "10",
... extra_kws = {"my.extra.info": "just an example"})
Easy to use version of reply().
This is a proxy to reply method that allows to send a reply message in a simplified way.
Parameters: | msg_id : str
status : str
result : dict
error : dict
|
---|
Examples
>>> from astropy.vo.samp import SAMPIntegratedClient, SAMP_STATUS_ERROR
>>> cli = SAMPIntegratedClient()
>>> ...
>>> cli.ereply("abd", SAMP_STATUS_ERROR, result={},
... error={"samp.errortxt": "Test error message"})
Proxy to getMetadata SAMP Hub method.
Return the client private key used for the Standard Profile communications obtained at registration time (samp.private-key).
Returns: | key : str
|
---|
Return public client ID obtained at registration time (samp.self-id).
Returns: | id : str
|
---|
Proxy to getRegisteredClients SAMP Hub method.
This returns all the registered clients, excluding the current client.
Proxy to getSubscribedClients SAMP Hub method.
Proxy to getSubscriptions SAMP Hub method.
Proxy to notify SAMP Hub method.
Proxy to notifyAll SAMP Hub method.
Proxy to ping SAMP Hub method (Standard Profile only).
Standard callable client receive_call method.
This method is automatically handled when the bind_receive_call() method is used to bind distinct operations to MTypes. In case of a customized callable client implementation that inherits from the SAMPClient class this method should be overwritten.
Note
When overwritten, this method must always return a string result (even empty).
Parameters: | private_key : str
sender_id : str
msg_id : str
message : dict
|
---|---|
Returns: | confimation : str
|
Standard callable client receive_notification method.
This method is automatically handled when the bind_receive_notification() method is used to bind distinct operations to MTypes. In case of a customized callable client implementation that inherits from the SAMPClient class this method should be overwritten.
Note
When overwritten, this method must always return a string result (even empty).
Parameters: | private_key : str
sender_id : str
message : dict
|
---|---|
Returns: | confirmation : str
|
Standard callable client receive_response method.
This method is automatically handled when the bind_receive_response() method is used to bind distinct operations to MTypes. In case of a customized callable client implementation that inherits from the SAMPClient class this method should be overwritten.
Note
When overwritten, this method must always return a string result (even empty).
Parameters: | private_key : str
responder_id : str
msg_tag : str
response : dict
|
---|---|
Returns: | confirmation : str
|
Proxy to reply SAMP Hub method.
Remove from the calls binding table the specified MType and unsubscribe the client from it (if required).
Parameters: | mtype : str
declare : bool
|
---|
Remove from the notifications binding table the specified MType and unsubscribe the client from it (if required).
Parameters: | mtype : str
declare : bool
|
---|
Remove from the responses binding table the specified message-tag.
Parameters: | msg_tag : str
|
---|