The Repositories API provides methods for creating and retrieving adapter repositories, which are used to organize and track your fine-tuning experiments.

Create Repository

pb.repos.create(
    name: str,                    # Name for the repository
    description: str = None,      # Description for the repository
    exists_ok: bool = False       # If True, doesn't raise error if exists
) -> Repository

Create a new adapter repository to track your fine-tuning experiments.

Parameters

  • name: str - Name for the repository
  • description: str, optional - Description for the repository
  • exists_ok: bool, default False - If True, doesn’t raise an error if the repository already exists

Returns

  • Repository - The created repository object

Example 1: Create a new repository

# Create a new adapter repository
repo = pb.repos.create(
    name="text-summarization",
    description="Experiments for fine-tuning summarization models"
)

Example 2: Create or get existing repository

# Create a repository or get it if it already exists
repo = pb.repos.create(
    name="customer-support-bot",
    description="Models for customer support automation",
    exists_ok=True
)

Get Repository

pb.repos.get(
    name: str                    # Name of the repository
) -> Repository

Fetch an adapter repository by name.

Parameters

  • name: str - Name of the repository

Returns

  • Repository - The requested repository object

Example

# Get a repository by name
repo = pb.repos.get("text-summarization")

# Print repository details
print(f"Repository: {repo.name}")
print(f"Description: {repo.description}")

List Repositories

pb.repos.list(
    limit: int = 10,           # Maximum number of repos to return
) -> list[Repository]

List the last limit repositories.

Working with Repository Objects

After you’ve created or retrieved a repository, you can use it to manage adapters.

Create an Adapter in a Repository

from predibase import SFTConfig

# Create a repository
repo = pb.repos.create(name="my-experiments", description="My fine-tuning experiments", exists_ok=True)

# Create an adapter in the repository
adapter = pb.adapters.create(
    config=SFTConfig(
        base_model="qwen3-8b"
    ),
    dataset="my-dataset",
    repo=repo.name,  # Use the repository name
    description="First fine-tuning experiment"
)