Skip to main content

oxen.remote_repo

get_repo

Get a RemoteRepo object for the specified name. For example β€˜ox/CatDogBBox’. Arguments:
  • name - str Name of the repository in the format β€˜namespace/repo_name’.
  • host - str The host to connect to. Defaults to β€˜hub.oxen.ai’
Returns: RemoteRepo

create_repo

Create a new repository on the remote server. Arguments:
  • name - str Name of the repository in the format β€˜namespace/repo_name’.
  • description - str Description of the repository. Only applicable to OxenHub.
  • is_public - bool Whether the repository is public or private. Only applicable to OxenHub.
  • host - str The host to connect to. Defaults to β€˜hub.oxen.ai’
  • scheme - str The scheme to use for the remote url. Default: β€˜https’
  • files - List[Tuple[str, str]] A list of tuples containing the path to the file and the contents of the file that you would like to seed the repository with.
Returns: RemoteRepo

RemoteRepo Objects

The RemoteRepo class allows you to interact with an Oxen repository without downloading the data locally.

Examples

Add & Commit Files

Adding and committing a file to a remote workspace.

Downloading Specific Files

Grab a specific file revision and load it into pandas.

__init__

Create a new RemoteRepo object to interact with. Arguments:
  • repo_id - str Name of the repository in the format β€˜namespace/repo_name’. For example β€˜ox/chatbot’
  • host - str The host to connect to. Defaults to β€˜hub.oxen.ai’
  • revision - str The branch name or commit id to checkout. Defaults to β€˜main’
  • scheme - str The scheme to use for the remote url. Default: β€˜https’

create

Will create the repo on the remote server. Arguments:
  • empty - bool Whether to create an empty repo or not. Default: False
  • is_public - bool Whether the repository is public or private. Default: False

exists

Checks if this remote repo exists on the server.

delete

Delete this remote repo from the server.

checkout

Switches the remote repo to the specified revision. Arguments:
  • revision - str The name of the branch or commit id to checkout.
  • create - bool Whether to create a new branch if it doesn’t exist. Default: False

ls

Lists the contents of a directory in the remote repo. Arguments:
  • directory - str The directory to list. If None, will list the root directory.
  • page_num - int The page number to return. Default: 1
  • page_size - int The number of items to return per page. Default: 100

scan

Generator over the contents of a directory in the remote repo Arguments:
  • directory - str The directory to list. If None, will list the root directory
  • page_size - int The number of items to return per page. Default: 100

download

Download a file or directory from the remote repo. Arguments:
  • src - str The path to the remote file
  • dst - str | None The path to the local file. If None, will download to the same path as src
  • revision - str | None The branch or commit id to download. Defaults to self.revision

add

Stage a file to a workspace in the remote repo. Arguments:
  • src - str The path to the local file to upload
  • dst - str | None The directory to upload the file to. If None, will upload to the root directory.
  • branch - str | None The branch to upload the file to. Defaults to self.revision
Returns: Workspace

status

Get the status of the workspace.

commit

Commit the workspace to the remote repo.

upload

Upload a file to the remote repo. Arguments:
  • src - str The path to the local file to upload
  • file_name - str | None The name of the file to upload. If None, will use the name of the file in src
  • dst_dir - str | None The directory to upload the file to. If None, will upload to the root directory.
  • branch - str | None The branch to upload the file to. Defaults to self.revision

metadata

Get the metadata for a file in the remote repo.

file_exists

Check if a file exists in the remote repo. Arguments:
  • path - str The path to the file to check
  • revision - str The revision to check against, defaults to self.revision

file_has_changes

Check if a local file has changed compared to a remote revision Arguments:
  • local_path - str The local path to the file to check
  • remote_path - str The remote path to the file to check, will default to local_path if not provided
  • revision - str The revision to check against, defaults to self.revision

log

Get the commit history for a remote repo

branch_exists

Check if a branch exists in the remote repo. Arguments:
  • name - str The name of the branch to check

branch

Get the current branch for a remote repo

branches

List all branches for a remote repo

list_workspaces

List all workspaces for a remote repo

get_branch

Return a branch by name on this repo, if exists Arguments:
  • branch - str The name of the branch to return

create_branch

Return a branch by name on this repo, creating it from the currently checked out branch if it doesn’t exist Arguments:
  • branch - str The name to assign to the created branch

create_checkout_branch

Create a new branch from the currently checked out branch, and switch to it Arguments:
  • branch - str The name to assign to the created branch

merge

Merge the head branch into the base branch on the remote repo. Arguments:
  • base_branch - str The base branch to merge into
  • head_branch - str The head branch to merge

namespace

The namespace for the repo.

name

The name of the repo.

identifier

The namespace/name of the repo.

url

The remote url for the repo.

revision

The branch or commit id for the repo