The main GovernClient class¶
The REST API Python client makes it easy to write client programs for the Dataiku Govern REST API in Python. The REST API Python client is in the dataikuapi
Python package.
The client is the entrypoint for many of the capabilities listed in this chapter.
Creating a Govern client¶
To work with the API, a connection needs to be established with Dataiku Govern, by creating an GovernClient
object. Once the connection is established, the GovernClient
object serves as the entry point to the other calls.
To use the Python client from outside Dataiku Govern, simply install it from pip.
pip install dataiku-api-client
This installs the client in the system-wide Python installation,
so if you are not using virtualenv, you may need to replace pip
by sudo pip
.
Note that this will always install the latest version of the API client. You might need to request a version compatible with your version of Dataiku Govern.
When connecting from the outside world, you need an API key. See Public API Keys for more information on how to create an API key and the associated privileges.
You also need to connect using the base URL of your Dataiku Govern instance.
import dataikuapi
host = "http(s)://DSS_HOST:DSS_PORT"
apiKey = "Your API key secret"
client = dataikuapi.GovernClient(host, apiKey)
# client is now a GovernClient and can perform all authorized actions.
# For example, list the blueprints for which the API key has access
client.list_blueprints()
Disabling SSL certificate check¶
If your Dataiku Govern has SSL enabled, the package will verify the certificate. In order for this to work, you may need to add the root authority that signed the Govern SSL certificate to your local trust store. Please refer to your OS or Python manual for instructions.
If this is not possible, you can also disable checking the SSL certificate by setting client._session.verify = False
Reference API doc¶
-
class
dataikuapi.govern_client.
GovernClient
(host, api_key=None, internal_ticket=None, extra_headers=None)¶ Entry point for the Govern API client
-
get_blueprint_designer
()¶ Return a handle to interact with the blueprint designer Note: this call requires an API key with admin rights
- Return type
-
get_roles_permissions_handler
()¶ Return a handler to manage the roles and permissions of the Govern instance Note: this call requires an API key with admin rights
- Return type
-
get_custom_pages_handler
()¶ Return a handler to manage custom pages Note: this call requires an API key with admin rights
- Return type
-
list_blueprints
()¶ List all the blueprints
- Returns
a list of blueprints
- Return type
list of
GovernBlueprintListItem
-
get_blueprint
(blueprint_id)¶ Get a handle to interact with a blueprint. If you want to edit it or one of its versions, use instead:
get_blueprint()
- Parameters
blueprint_id (str) – id of the blueprint to retrieve
- Returns
The handle of the blueprint
- Return type
-
get_artifact
(artifact_id)¶ Return a handle to interact with an artifact.
- Parameters
artifact_id (str) – id of the artifact to retrieve
- Returns
the corresponding
GovernArtifact
-
create_artifact
(artifact)¶ Create an artifact
- Parameters
artifact (dict) – the definition of the artifact as a dict
- Returns
the created
GovernArtifact
-
new_artifact_search_request
(artifact_search_query)¶ Create a new artifact search request and return the object that will be used to launch the requests.
- Parameters
artifact_search_query (
GovernArtifactSearchQuery
) – The query that will be addressed during the search.- Returns
The created artifact search request object
- Return type
-
get_custom_page
(custom_page_id)¶ Retrieve a custom page. To edit a custom page use instead the custom page editor
get_custom_page()
- Parameters
custom_page_id (str) – id of the custom page to retrieve
- Returns
the corresponding custom page object
- Return type
-
list_custom_pages
()¶ List custom pages.
- Returns
a list of custom pages
- Return type
list of
GovernCustomPageListItem
-
get_time_series
(time_series_id)¶ Return a handle to interact with the time series
- Parameters
time_series_id (str) – ID of the time series
- Returns
the corresponding time series object
- Return type
-
get_uploaded_file
(uploaded_file_id)¶ Return a handle to interact with an uploaded file
- Parameters
uploaded_file_id (str) – ID of the uploaded file
- Returns
the corresponding uploaded file object
- Return type
-
upload_file
(file_name, file)¶ Upload a file on Govern. Return a handle to interact with this new uploaded file.
- Parameters
file_name (str) – Name of the file
file (stream) – file contents, as a stream - file-like object
- Returns
the newly uploaded file object
- Return type
-
list_users
(as_objects=False)¶ List all user setup on the Govern instance Note: this call requires an API key with admin rights
- Returns
A list of users, as a list of
GovernUser
if as_objects is True, else as a list of dicts- Return type
list of
GovernUser
or list of dicts
-
get_user
(login)¶ Get a handle to interact with a specific user
- Parameters
login (str) – the login of the desired user
- Returns
A
GovernUser
user handle
-
get_own_user
()¶ Get a handle to interact with the current user
- Returns
A
GovernOwnUser
user handle
-
create_user
(login, password, display_name='', source_type='LOCAL', groups=None, profile='DATA_SCIENTIST')¶ Create a user, and return a handle to interact with it
Note: this call requires an API key with admin rights
- Parameters
login (str) – the login of the new user
password (str) – the password of the new user
display_name (str) – the displayed name for the new user
source_type (str) – the type of new user. Admissible values are ‘LOCAL’ or ‘LDAP’
groups (list) – the names of the groups the new user belongs to (defaults to [])
profile (str) – The profile for the new user, can be one of READER, DATA_ANALYST or DATA_SCIENTIST
- Returns
A
GovernUser
user handle
-
list_groups
()¶ List all groups setup on the Govern instance
Note: this call requires an API key with admin rights
- Returns
A list of groups, as a list of dicts
- Return type
list of dicts
-
get_group
(name)¶ Get a handle to interact with a specific group
- Parameters
name (str) – the name of the desired group
- Returns
A
GovernGroup
group handle
-
create_group
(name, description=None, source_type='LOCAL')¶ Create a group, and return a handle to interact with it
Note: this call requires an API key with admin rights
- Parameters
name (str) – the name of the new group
description (str) – (optional) a description of the new group
source_type (str) – the type of the new group. Admissible values are ‘LOCAL’ and ‘LDAP’
- Returns
A
GovernGroup
group handle
-
list_global_api_keys
()¶ List all global API keys set up on the Govern instance
Note: this call requires an API key with admin rights
- Returns
All global API keys, as a list of dicts
-
get_global_api_key
(key)¶ Get a handle to interact with a specific Global API key
- Parameters
key (str) – the secret key of the desired API key
- Returns
A
GovernGlobalApiKey
API key handle
-
create_global_api_key
(label=None, description=None, admin=False)¶ Create a Global API key, and return a handle to interact with it
Note: this call requires an API key with admin rights
- Parameters
label (str) – the label of the new API key
description (str) – the description of the new API key
admin (boolean) – has the new API key admin rights (True or False)
- Returns
A
GovernGlobalApiKey
API key handle
-
list_logs
()¶ List all available log files on the Govern instance This call requires an API key with admin rights
- Returns
A list of log file names
-
get_log
(name)¶ Get the contents of a specific log file This call requires an API key with admin rights
- Parameters
name (str) – the name of the desired log file (obtained with
list_logs()
)- Returns
The full content of the log file, as a string
-
log_custom_audit
(custom_type, custom_params=None)¶ Log a custom entry to the audit trail
- Parameters
custom_type (str) – value for customMsgType in audit trail item
custom_params (dict) – value for customMsgParams in audit trail item (defaults to {})
-
get_general_settings
()¶ Gets a handle to interact with the general settings.
This call requires an API key with admin rights
- Returns
a
GovernGeneralSettings
handle
-
get_auth_info
()¶ Returns various information about the user currently authenticated using this instance of the API client.
This method returns a dict that may contain the following keys (may also contain others):
authIdentifier: login for a user, id for an API key
groups: list of group names (if context is a user)
- Returns
a dict
- Return type
dict
-
get_licensing_status
()¶ Returns a dictionary with information about licensing status of this Govern instance
- Return type
dict
-
set_license
(license)¶ Sets a new licence for Govern
- Parameters
license (str) – license (content of license file)
- Returns
None
-