Skip to content

Projects API

The Projects API provides access to project-related endpoints in the data platform.

from deeporigin.platform.client import DeepOriginClient

client = DeepOriginClient()

# List projects
projects = client.projects.list()

src.platform.projects.Projects

Projects API wrapper.

Provides access to project-related endpoints through the DeepOriginClient.

Functions

create

create(
    *,
    name: str,
    description: str | None = None,
    slug: str | None = None
) -> dict[str, Any]

Create a project row.

Parameters:

Name Type Description Default
name str

Display name (required by the platform schema).

required
description str | None

Optional long description.

None
slug str | None

Optional slug; generated from name when omitted.

None

Returns:

Type Description
dict[str, Any]

API response containing the created row under data.

get

get(*, project_id: str) -> dict[str, Any]

Fetch a single project by id via search.

Parameters:

Name Type Description Default
project_id str

Data platform project id.

required

Returns:

Type Description
dict[str, Any]

Dict with a data key holding the project row.

Raises:

Type Description
DeepOriginException

If no project matches project_id.

list

list(*, limit: int | None = 100) -> dict[str, Any]

List projects via search (non-deleted rows only).

Parameters:

Name Type Description Default
limit int | None

Maximum rows to return. Defaults to 100 (data platform default when a limit is applied). Pass None to omit limit from the request body (server default applies).

100

Returns:

Type Description
dict[str, Any]

Dictionary containing the list of projects (data, count).

search

search(
    *,
    name: str | None = None,
    filter_dict: dict[str, Any] | None = None,
    limit: int | None = 100,
    offset: int | None = None,
    select: list[str] | None = None,
    sort: dict[str, str] | None = None
) -> dict[str, Any]

Search projects with optional filters.

The data platform applies filter as column predicates: plain values use equality; objects use operators (e.g. {"name": {"icontains": "x"}}). See platform buildFilterWhere / entity search validation for supported ops.

Parameters:

Name Type Description Default
name str | None

If set, restricts to rows whose name matches this substring (case-insensitive), via {"icontains": name}. Applied after filter_dict and overrides a name key there.

None
filter_dict dict[str, Any] | None

Extra filter criteria (deleted is set False if omitted).

None
limit int | None

Maximum rows to return.

100
offset int | None

Skip offset.

None
select list[str] | None

Column selection list.

None
sort dict[str, str] | None

Sort mapping.

None

Returns:

Type Description
dict[str, Any]

Search response from the data platform.