View on GitHub

lakeFS

Git-like capabilities for your object storage

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'


# 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 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 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 forgot_password POST /auth/password/forgot forgot password request initiates the password reset process
AuthApi get_auth_capabilities GET /auth/capabilities list authentication capabilities supported
AuthApi get_credentials GET /auth/users/{userId}/credentials/{accessKeyId} get credentials
AuthApi get_current_user GET /user get current user
AuthApi get_group GET /auth/groups/{groupId} get 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_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 oauth_callback GET /oidc/callback  
AuthApi update_password POST /auth/password Update user password by reset_password token
AuthApi update_policy PUT /auth/policies/{policyId} update policy
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
CommitsApi log_branch_commits GET /repositories/{repository}/branches/{branch}/commits get commit log from branch. Deprecated: replaced by logCommits by passing branch name as ref
ConfigApi get_lake_fs_version GET /config/version  
ConfigApi get_setup_state GET /setup_lakefs check if the lakeFS installation is already set up
ConfigApi get_storage_config GET /config/storage  
ConfigApi setup POST /setup_lakefs setup lakeFS and create a first user
HealthCheckApi health_check GET /healthcheck  
ImportApi create_meta_range POST /repositories/{repository}/branches/metaranges create a lakeFS metarange file from the given ranges
ImportApi ingest_range POST /repositories/{repository}/branches/ranges create a lakeFS range file from the source uri
MetadataApi create_symlink_file POST /repositories/{repository}/refs/{branch}/symlink creates symlink files corresponding to the given directory
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 delete_object DELETE /repositories/{repository}/branches/{branch}/objects delete object
ObjectsApi delete_objects POST /repositories/{repository}/branches/{branch}/objects/delete delete objects
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 list_objects GET /repositories/{repository}/refs/{ref}/objects/ls list objects under a given prefix
ObjectsApi stage_object PUT /repositories/{repository}/branches/{branch}/objects stage an object's metadata for the given branch
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 dump_refs PUT /repositories/{repository}/refs/dump Dump repository refs (tags, commits, branches) to object store
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
RefsApi restore_refs PUT /repositories/{repository}/refs/restore Restore repository refs (tags, commits, branches) from object store
RepositoriesApi create_branch_protection_rule POST /repositories/{repository}/branch_protection  
RepositoriesApi create_repository POST /repositories create repository
RepositoriesApi delete_branch_protection_rule DELETE /repositories/{repository}/branch_protection  
RepositoriesApi delete_repository DELETE /repositories/{repository} delete repository
RepositoriesApi get_branch_protection_rules GET /repositories/{repository}/branch_protection get branch protection rules
RepositoriesApi get_repository GET /repositories/{repository} get repository
RepositoriesApi list_repositories GET /repositories list repositories
RetentionApi delete_garbage_collection_rules DELETE /repositories/{repository}/gc/rules  
RetentionApi get_garbage_collection_rules GET /repositories/{repository}/gc/rules  
RetentionApi prepare_garbage_collection_commits POST /repositories/{repository}/gc/prepare_commits save lists of active and expired commits for garbage collection
RetentionApi prepare_garbage_collection_uncommitted POST /repositories/{repository}/gc/prepare_uncommited save repository uncommitted metadata for garbage collection
RetentionApi set_garbage_collection_rules POST /repositories/{repository}/gc/rules  
StagingApi get_physical_address GET /repositories/{repository}/branches/{branch}/staging/backing get a physical address and a return token to write object to underlying storage
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
TemplatesApi expand_template GET /templates/{template_location}  

Documentation For Models

Documentation For Authorization

basic_auth

jwt_token

oidc_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 *