Projects#

Manage projects in Ionworks Studio.

For usage examples and guides, see Managing projects on docs.ionworks.com.

Project client for managing projects within organizations.

This module provides the ProjectClient for creating, reading, updating, and deleting projects, which organize resources (studies, simulations, pipelines, etc.) within an organization.

class ionworks.project.ProjectClient(client)[source]#

Bases: object

Client for managing projects within organizations.

Projects group resources like studies, simulations, pipelines, and optimizations within an organization.

Parameters:

client (Any)

__init__(client)[source]#

Initialize the ProjectClient.

Parameters:

client (Any) – The HTTP client instance for making API requests.

Return type:

None

get(project_id)[source]#

Get a specific project by ID.

Parameters:

project_id (str) – The ID of the project to retrieve.

Returns:

The requested project object.

Return type:

Project

list(limit=None, offset=None, *, name=None, name_exact=None, created_after=None, created_before=None, updated_after=None, updated_before=None, order_by=None, order=None)[source]#

List projects with optional filtering.

Parameters:
  • limit (int | None, optional) – Maximum number of projects to return per page.

  • offset (int | None, optional) – Number of projects to skip for pagination.

  • name (str | None, optional) – Case-insensitive substring match on project name.

  • name_exact (str | None, optional) – Exact match on project name.

  • created_after (str | None, optional) – ISO datetime; return projects created after this time.

  • created_before (str | None, optional) – ISO datetime; return projects created before this time.

  • updated_after (str | None, optional) – ISO datetime; return projects updated after this time.

  • updated_before (str | None, optional) – ISO datetime; return projects updated before this time.

  • order_by (str | None, optional) – Column to sort by.

  • order (str | None, optional) – Sort direction: "asc" or "desc".

Returns:

A list of project objects.

Return type:

PaginatedList[Project]

create(data=None)[source]#

Create a new project.

Parameters:

data (dict[str, Any]) – Dictionary containing the project data. Required fields: name. Optional fields: description.

Returns:

The newly created project object.

Return type:

Project

update(project_id, data=None)[source]#

Update an existing project.

Parameters:
  • project_id (str) – The ID of the project to update.

  • data (dict[str, Any]) – Dictionary containing the fields to update. Supports name and description.

Returns:

The updated project object.

Return type:

Project

delete(project_id)[source]#

Delete a project by ID.

Parameters:

project_id (str) – The ID of the project to delete.

Return type:

None