Skip to content

Ultralytics HUB-SDK Project Management Operations

Welcome to the Ultralytics HUB-SDK documentation! Here we'll guide you through the essentials of managing your machine learning projects using the HUB-SDK. From creating a new project, updating existing one, to navigating through lists of projects, we have covered it all for you with easy-to-follow Python code snippets. Our goal is to make your experience seamless and straightforward, so you can focus on the important stuff – building and deploying exceptional machine learning models. Let's dive in 🏊!

Fetch a Project by ID

When you already have a project hosted on the Ultralytics platform, you may want to retrieve it to see its details or make changes. To fetch a project by its unique ID, you only need to pass the ID to the client.project function. Below is a snippet that enables you to do just that, providing a quick peek at the project's data:

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}  # api key
client = HUBClient(credentials)

project = client.project("<Project ID>")  # Replace '<Project ID>' with your actual project ID
print(project.data)

Create a New Project

Are you starting a fresh ML project? Fantastic! The following Python code outlines the steps to create a new project on Ultralytics. We will import the necessary libraries, define the project details (in this case its name), and finally create the project using the create_project method of our HUB-SDK client library. Here's how:

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}  # api key
client = HUBClient(credentials)

data = {"meta": {"name": "my project"}}  # Name your project
project = client.project()  # Initialize a project instance
project.create_project(data)  # Create your new project with the specified data

Update Existing Project

Update your project's metadata with ease by specifying the project ID and the new details you want to include. This could be a name change, description update, or any other modifiable property. Find out how to execute these changes with this straightforward code snippet:

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}  # api key
client = HUBClient(credentials)

project = client.project("<Project ID>")  # Provide your actual project ID here
project.update({"meta": {"name": "Project name update"}})  # Update the project's name or other metadata

Delete a Project

If you no longer require a project and wish to delete it from the Ultralytics platform, you can do so with a simple call to the delete method on the project object. The following snippet will guide you through deleting a project using its ID:

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}  # api key
client = HUBClient(credentials)

project = client.project("<Project ID>")  # Input the project ID for the project to delete
project.delete()  # This will permanently delete your project

List and Navigate Projects

In some cases, you may want to browse through your projects or even check out public projects on Ultralytics. This can be done by fetching a list of projects with your desired page size. Our code snippet demonstrates how to view the current page results, navigate to the next page, and then go back to the previous one. It's a great way to explore the breadth of projects available:

from hub_sdk import HUBClient

credentials = {"api_key": "<YOUR-API-KEY>"}  # api key
client = HUBClient(credentials)

projects = client.project_list(page_size=10)  # Fetch a list of projects with specified page size
print("Current result:", projects.results)  # Display the projects in the current page

projects.next()  # Navigate to the next page
print("Next page result:", projects.results)  # Display the projects after pagination

projects.previous()  # Go back to the previous page
print("Previous page result:", projects.results)  # Confirm the projects in the previous page

Congratulations! You're now equipped with the knowledge to effortlessly manage your machine learning projects on Ultralytics HUB-SDK. Experiment with these operations, and watch as your ML endeavors become more organized and efficient. If you have any questions or need further assistance, don't hesitate to reach out to our supportive community. Happy coding! 🚀

Comments