View on GitHub

lakeFS

lakeFS - Data version control for your data lake | Git for data

lakefs-client

lakeFS HTTP API

This Python package is automatically generated by the OpenAPI Generator project:

Requirements.

Python >= 3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/treeverse/lakeFS.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/treeverse/lakeFS.git)

Then import the package:

import lakefs_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import lakefs_client

Getting Started

Please follow the installation procedure and then run the following:


import time
import lakefs_client
from pprint import pprint
from lakefs_client.api import actions_api
from lakefs_client.model.action_run import ActionRun
from lakefs_client.model.action_run_list import ActionRunList
from lakefs_client.model.error import Error
from lakefs_client.model.hook_run_list import HookRunList
# Defining the host is optional and defaults to http://localhost/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = lakefs_client.Configuration(
    host = "http://localhost/api/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: basic_auth
configuration = lakefs_client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)

# Configure API key authorization: cookie_auth
configuration.api_key['cookie_auth'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['cookie_auth'] = 'Bearer'

# Configure Bearer authorization (JWT): jwt_token
configuration = lakefs_client.Configuration(
    access_token = 'YOUR_BEARER_TOKEN'
)

# Configure API key authorization: oidc_auth
configuration.api_key['oidc_auth'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['oidc_auth'] = 'Bearer'

# Configure API key authorization: saml_auth
configuration.api_key['saml_auth'] = 'YOUR_API_KEY'

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['saml_auth'] = 'Bearer'


# Enter a context with an instance of the API client
with lakefs_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = actions_api.ActionsApi(api_client)
    repository = "repository_example" # str | 
run_id = "run_id_example" # str | 

    try:
        # get a run
        api_response = api_instance.get_run(repository, run_id)
        pprint(api_response)
    except lakefs_client.ApiException as e:
        print("Exception when calling ActionsApi->get_run: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to http://localhost/api/v1

Class Method HTTP request Description
ActionsApi get_run GET /repositories/{repository}/actions/runs/{run_id} get a run
ActionsApi get_run_hook_output GET /repositories/{repository}/actions/runs/{run_id}/hooks/{hook_run_id}/output get run hook output
ActionsApi list_repository_runs GET /repositories/{repository}/actions/runs list runs
ActionsApi list_run_hooks GET /repositories/{repository}/actions/runs/{run_id}/hooks list run hooks
AuthApi add_group_membership PUT /auth/groups/{groupId}/members/{userId} add group membership
AuthApi attach_policy_to_group PUT /auth/groups/{groupId}/policies/{policyId} attach policy to group
AuthApi attach_policy_to_user PUT /auth/users/{userId}/policies/{policyId} attach policy to user
AuthApi create_credentials POST /auth/users/{userId}/credentials create credentials
AuthApi create_group POST /auth/groups create group
AuthApi create_policy POST /auth/policies create policy
AuthApi create_user POST /auth/users create user
AuthApi create_user_external_principal POST /auth/users/{userId}/external/principals attach external principal to user
AuthApi delete_credentials DELETE /auth/users/{userId}/credentials/{accessKeyId} delete credentials
AuthApi delete_group DELETE /auth/groups/{groupId} delete group
AuthApi delete_group_membership DELETE /auth/groups/{groupId}/members/{userId} delete group membership
AuthApi delete_policy DELETE /auth/policies/{policyId} delete policy
AuthApi delete_user DELETE /auth/users/{userId} delete user
AuthApi delete_user_external_principal DELETE /auth/users/{userId}/external/principals delete external principal from user
AuthApi detach_policy_from_group DELETE /auth/groups/{groupId}/policies/{policyId} detach policy from group
AuthApi detach_policy_from_user DELETE /auth/users/{userId}/policies/{policyId} detach policy from user
AuthApi get_credentials GET /auth/users/{userId}/credentials/{accessKeyId} get credentials
AuthApi get_current_user GET /user get current user
AuthApi get_external_principal GET /auth/external/principals describe external principal by id
AuthApi get_group GET /auth/groups/{groupId} get group
AuthApi get_group_acl GET /auth/groups/{groupId}/acl get ACL of group
AuthApi get_policy GET /auth/policies/{policyId} get policy
AuthApi get_user GET /auth/users/{userId} get user
AuthApi list_group_members GET /auth/groups/{groupId}/members list group members
AuthApi list_group_policies GET /auth/groups/{groupId}/policies list group policies
AuthApi list_groups GET /auth/groups list groups
AuthApi list_policies GET /auth/policies list policies
AuthApi list_user_credentials GET /auth/users/{userId}/credentials list user credentials
AuthApi list_user_external_principals GET /auth/users/{userId}/external/principals/ls list user external policies attached to a user
AuthApi list_user_groups GET /auth/users/{userId}/groups list user groups
AuthApi list_user_policies GET /auth/users/{userId}/policies list user policies
AuthApi list_users GET /auth/users list users
AuthApi login POST /auth/login perform a login
AuthApi set_group_acl POST /auth/groups/{groupId}/acl set ACL of group
AuthApi update_policy PUT /auth/policies/{policyId} update policy
BranchesApi cherry_pick POST /repositories/{repository}/branches/{branch}/cherry-pick Replay the changes from the given commit on the branch
BranchesApi create_branch POST /repositories/{repository}/branches create branch
BranchesApi delete_branch DELETE /repositories/{repository}/branches/{branch} delete branch
BranchesApi diff_branch GET /repositories/{repository}/branches/{branch}/diff diff branch
BranchesApi get_branch GET /repositories/{repository}/branches/{branch} get branch
BranchesApi list_branches GET /repositories/{repository}/branches list branches
BranchesApi reset_branch PUT /repositories/{repository}/branches/{branch} reset branch
BranchesApi revert_branch POST /repositories/{repository}/branches/{branch}/revert revert
CommitsApi commit POST /repositories/{repository}/branches/{branch}/commits create commit
CommitsApi get_commit GET /repositories/{repository}/commits/{commitId} get commit
ConfigApi get_config GET /config  
ExperimentalApi abort_presign_multipart_upload DELETE /repositories/{repository}/branches/{branch}/staging/pmpu/{uploadId} Abort a presign multipart upload
ExperimentalApi complete_presign_multipart_upload PUT /repositories/{repository}/branches/{branch}/staging/pmpu/{uploadId} Complete a presign multipart upload request
ExperimentalApi create_presign_multipart_upload POST /repositories/{repository}/branches/{branch}/staging/pmpu Initiate a multipart upload
ExperimentalApi create_user_external_principal POST /auth/users/{userId}/external/principals attach external principal to user
ExperimentalApi delete_user_external_principal DELETE /auth/users/{userId}/external/principals delete external principal from user
ExperimentalApi get_external_principal GET /auth/external/principals describe external principal by id
ExperimentalApi hard_reset_branch PUT /repositories/{repository}/branches/{branch}/hard_reset hard reset branch
ExperimentalApi list_user_external_principals GET /auth/users/{userId}/external/principals/ls list user external policies attached to a user
ExperimentalApi s_ts_login POST /sts/login perform a login with STS
ExternalApi create_user_external_principal POST /auth/users/{userId}/external/principals attach external principal to user
ExternalApi delete_user_external_principal DELETE /auth/users/{userId}/external/principals delete external principal from user
ExternalApi get_external_principal GET /auth/external/principals describe external principal by id
ExternalApi list_user_external_principals GET /auth/users/{userId}/external/principals/ls list user external policies attached to a user
HealthCheckApi health_check GET /healthcheck  
ImportApi import_cancel DELETE /repositories/{repository}/branches/{branch}/import cancel ongoing import
ImportApi import_start POST /repositories/{repository}/branches/{branch}/import import data from object store
ImportApi import_status GET /repositories/{repository}/branches/{branch}/import get import status
InternalApi create_branch_protection_rule_preflight GET /repositories/{repository}/branch_protection/set_allowed  
InternalApi create_commit_record POST /repositories/{repository}/commits create commit record
InternalApi create_symlink_file POST /repositories/{repository}/refs/{branch}/symlink creates symlink files corresponding to the given directory
InternalApi delete_repository_metadata DELETE /repositories/{repository}/metadata delete repository metadata
InternalApi dump_refs PUT /repositories/{repository}/refs/dump Dump repository refs (tags, commits, branches) to object store Deprecated: a new API will introduce long running operations
InternalApi get_auth_capabilities GET /auth/capabilities list authentication capabilities supported
InternalApi get_garbage_collection_config GET /config/garbage-collection  
InternalApi get_lake_fs_version GET /config/version  
InternalApi get_setup_state GET /setup_lakefs check if the lakeFS installation is already set up
InternalApi get_storage_config GET /config/storage  
InternalApi get_usage_report_summary GET /usage-report/summary get usage report summary
InternalApi internal_create_branch_protection_rule POST /repositories/{repository}/branch_protection  
InternalApi internal_delete_branch_protection_rule DELETE /repositories/{repository}/branch_protection  
InternalApi internal_delete_garbage_collection_rules DELETE /repositories/{repository}/gc/rules  
InternalApi internal_get_branch_protection_rules GET /repositories/{repository}/branch_protection get branch protection rules
InternalApi internal_get_garbage_collection_rules GET /repositories/{repository}/gc/rules  
InternalApi internal_set_garbage_collection_rules POST /repositories/{repository}/gc/rules  
InternalApi post_stats_events POST /statistics post stats events, this endpoint is meant for internal use only
InternalApi prepare_garbage_collection_commits POST /repositories/{repository}/gc/prepare_commits save lists of active commits for garbage collection
InternalApi prepare_garbage_collection_uncommitted POST /repositories/{repository}/gc/prepare_uncommited save repository uncommitted metadata for garbage collection
InternalApi restore_refs PUT /repositories/{repository}/refs/restore Restore repository refs (tags, commits, branches) from object store. Deprecated: a new API will introduce long running operations
InternalApi set_garbage_collection_rules_preflight GET /repositories/{repository}/gc/rules/set_allowed  
InternalApi set_repository_metadata POST /repositories/{repository}/metadata set repository metadata
InternalApi setup POST /setup_lakefs setup lakeFS and create a first user
InternalApi setup_comm_prefs POST /setup_comm_prefs setup communications preferences
InternalApi stage_object PUT /repositories/{repository}/branches/{branch}/objects stage an object's metadata for the given branch
InternalApi upload_object_preflight GET /repositories/{repository}/branches/{branch}/objects/stage_allowed  
MetadataApi get_meta_range GET /repositories/{repository}/metadata/meta_range/{meta_range} return URI to a meta-range file
MetadataApi get_range GET /repositories/{repository}/metadata/range/{range} return URI to a range file
ObjectsApi copy_object POST /repositories/{repository}/branches/{branch}/objects/copy create a copy of an object
ObjectsApi delete_object DELETE /repositories/{repository}/branches/{branch}/objects delete object. Missing objects will not return a NotFound error.
ObjectsApi delete_objects POST /repositories/{repository}/branches/{branch}/objects/delete delete objects. Missing objects will not return a NotFound error.
ObjectsApi get_object GET /repositories/{repository}/refs/{ref}/objects get object content
ObjectsApi get_underlying_properties GET /repositories/{repository}/refs/{ref}/objects/underlyingProperties get object properties on underlying storage
ObjectsApi head_object HEAD /repositories/{repository}/refs/{ref}/objects check if object exists
ObjectsApi list_objects GET /repositories/{repository}/refs/{ref}/objects/ls list objects under a given prefix
ObjectsApi stat_object GET /repositories/{repository}/refs/{ref}/objects/stat get object metadata
ObjectsApi upload_object POST /repositories/{repository}/branches/{branch}/objects  
RefsApi diff_refs GET /repositories/{repository}/refs/{leftRef}/diff/{rightRef} diff references
RefsApi find_merge_base GET /repositories/{repository}/refs/{sourceRef}/merge/{destinationBranch} find the merge base for 2 references
RefsApi log_commits GET /repositories/{repository}/refs/{ref}/commits get commit log from ref. If both objects and prefixes are empty, return all commits.
RefsApi merge_into_branch POST /repositories/{repository}/refs/{sourceRef}/merge/{destinationBranch} merge references
RepositoriesApi create_repository POST /repositories create repository
RepositoriesApi delete_gc_rules DELETE /repositories/{repository}/settings/gc_rules  
RepositoriesApi delete_repository DELETE /repositories/{repository} delete repository
RepositoriesApi dump_status GET /repositories/{repository}/dump Status of a repository dump task
RepositoriesApi dump_submit POST /repositories/{repository}/dump Backup the repository metadata (tags, commits, branches) and save the backup to the object store.
RepositoriesApi get_branch_protection_rules GET /repositories/{repository}/settings/branch_protection get branch protection rules
RepositoriesApi get_gc_rules GET /repositories/{repository}/settings/gc_rules get repository GC rules
RepositoriesApi get_repository GET /repositories/{repository} get repository
RepositoriesApi get_repository_metadata GET /repositories/{repository}/metadata get repository metadata
RepositoriesApi list_repositories GET /repositories list repositories
RepositoriesApi restore_status GET /repositories/{repository}/restore Status of a restore request
RepositoriesApi restore_submit POST /repositories/{repository}/restore Restore repository from a dump in the object store
RepositoriesApi set_branch_protection_rules PUT /repositories/{repository}/settings/branch_protection  
RepositoriesApi set_gc_rules PUT /repositories/{repository}/settings/gc_rules  
StagingApi get_physical_address GET /repositories/{repository}/branches/{branch}/staging/backing generate an address to which the client can upload an object
StagingApi link_physical_address PUT /repositories/{repository}/branches/{branch}/staging/backing associate staging on this physical address with a path
TagsApi create_tag POST /repositories/{repository}/tags create tag
TagsApi delete_tag DELETE /repositories/{repository}/tags/{tag} delete tag
TagsApi get_tag GET /repositories/{repository}/tags/{tag} get tag
TagsApi list_tags GET /repositories/{repository}/tags list tags

Documentation For Models

Documentation For Authorization

basic_auth

jwt_token

oidc_auth

saml_auth

Author

services@treeverse.io

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in lakefs_client.apis and lakefs_client.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import lakefs_client
from lakefs_client.apis import *
from lakefs_client.models import *