Module that expose the base class for DIRAC Clients.

This class exposes possible RPC calls, given a url of a service.

class DIRAC.Core.Base.Client.Client(**kwargs)

Bases: object

Simple class to redirect unknown actions directly to the server. Arguments to the constructor are passed to the RPCClient constructor as they are. Some of them can however be overwritten at each call (url and timeout).

  • The self.serverURL member should be set by the inheriting class




kwargs – just stored as an attribute and passed when creating the RPCClient

property call

To be removed once we’re sure has been removed



executeRPC(*parms, **kws)

This method extracts some parameters from kwargs that are used as parameter of the constructor or RPCClient. Unfortunately, only a few of all the available parameters of BaseClient are exposed.

  • rpc – if an RPC client is passed, use that one

  • timeout – we can change the timeout on a per call bases. Default is self.timeout

  • url – We can specify which url to use


Returns a copy of the connection arguments


Getter for the server url. Useful ?


alias of DIRAC.Core.Tornado.Client.TornadoClient.TornadoClient


Set the server URL used by default


url – url of the service


Decorator to expose the service functions automatically in the Client.


serviceName (str) – system/service. e.g. WorkloadManagement/JobMonitoring


Playback a stub with the correct client (https or dips)

class DIRAC.Core.Base.Client.partialmethodWithDoc(func, /, *args, **keywords)

Bases: functools.partialmethod

Extension of meth:functools.partialmethod that preserves docstrings

__init__(func, /, *args, **keywords)


Before clients can be used DIRAC’s internal state must be configured. For dirac- commands this is handled by DIRAC.Core.Base.Script.Script. For all other purposes DIRAC.initialize should be used:

DIRAC.initialize(*, require_auth: bool = True, security_expression: Union[None, DIRAC.Core.Security.Properties.SecurityProperty, DIRAC.Core.Security.Properties.UnevaluatedProperty] = None, log_level: Optional[DIRAC.FrameworkSystem.private.standardLogging.LogLevels.LogLevel] = None, extra_config_files: Optional[list[os.PathLike]] = None, extra_config: Optional[dict[str, Any]] = None, host_credentials: Optional[tuple[os.PathLike, os.PathLike]] = None) None

Prepare the global state so that DIRAC clients can be used.

This method needs to be called before any DIRAC client is created to ensure that the necessary global state is configured.


DIRAC.Core.Utilities.exceptions.DIRACInitError – If initialization fails. (or a subclass thereof) is raised.

  • require_auth – Set to False to skip the authentication check.

  • security_expression – Check that the current credentials have the required properties. See SecurityProperty for details.

  • log_level – Override the default DIRAC logging level.

  • extra_config_files – Files to merge into the local configuration.

  • extra_config – Dictionary to merge into the local configuration.

  • host_credentials – Tuple of (host certificate, host key) to force the use of server certificate credentials.