Projects
Projects are the main organizational tool in DBNL. Each Project lives within a Namespace in your Organization and is accessible by everyone in that Namespace. Generally, you'll create one Project for every AI application that you'd like to test with DBNL. The list of Projects available to you is the default landing page when browsing to the DBNL UI.
What's in a Project?
Your Project will contain all of your app's Runs — a collection of results from your app — and all of the tests that you've defined to monitor the behavior of your app. It also has a name and various configurable properties like a default Baseline Run and Notifications.

Creating a Project
From Scratch
You can create a Project either via the UI or the SDK:
Simply click the "Create Project" button from the Project list view and choose an option.

Creating a project with the SDK can be done easily with the create_project function.
import dbnl
dbnl.login()
project = dbnl.create_project(
name="My Project",
description="This is a very important project."
)Copying a Project
You can quickly copy an existing Project to get up and running with a new one. This will copy the following items into your new Project:
Test specifications
Test tags
Notification rules
There are a couple of ways to copy a Project.
Exporting and Importing
Any Project can be exported to a JSON file; that JSON file can then be adjusted to your liking and imported as a new Project. This is doable both via the UI and the SDK:
Exporting
To export a Project, simply click the download icon on the Project page, in the header.

This will download the Project's JSON to your computer. There is an example JSON in the expandable section below.
Importing
Once you have a Project JSON, you can edit it as you'd like, and then import it by clicking the "Create Project" button on the Project list and then clicking the "Copy an Existing Project from File" option.

Fill out the name and description, click "Create Project", and you're all set!
Exporting and importing a Project is done easily via the SDK functions export_project_as_json and import_project_from_json.
import dbnl
dbnl.login()
# Export
project_1 = dbnl.get_or_create_project(name="Existing Project")
export_json = dbnl.export_project_as_json(project=proj1)
# Adjust the project values as you'd like. You will need to change the name.
# An example of the JSON structure is in the collapsible section below
export_json["project"]["name"] = "New Project"
# Import
project_2 = dbnl.import_project_from_json(params=export_json)Copying
You can also just directly copy a given Project. Again, this can be done via the UI or the SDK:
There are two ways to copy a Project from the UI:
From the "Create Project" Modal
In the Project list, after you click "Create Project", you can click to the "Copy an Existing Project" option and choose a Project from the dropdown.

From a Project Page
While viewing a Project, you can click the copy icon in the header to copy it to a new Project.

Copying a Project is done easily via the SDK function copy_project.
import dbnl
dbnl.login()
project_1 = dbnl.get_or_create_project(name="Existing Project")
project_2 = dbnl.copy_project(project=project_1, name="New Project")Was this helpful?

