quilt3.admin Python API

quilt3.admin.types

Permission(bucket: str, level: quilt3._graphql_client.enums.BucketPermissionLevel) -> None

PolicySummary(id: str, title: str, arn: str, managed: bool, permissions: list[quilt3.admin.types.Permission]) -> None

Policy without back-references to roles (avoids circular nesting).

ManagedRole(id: str, name: str, arn: str, policies: list[quilt3.admin.types.PolicySummary], permissions: list[quilt3.admin.types.Permission], typename__: Literal['ManagedRole']) -> None

UnmanagedRole(id: str, name: str, arn: str, typename__: Literal['UnmanagedRole']) -> None

Policy(id: str, title: str, arn: str, managed: bool, permissions: list[quilt3.admin.types.Permission], roles: list[quilt3.admin.types.ManagedRole]) -> None

User(name: str, email: str, date_joined: datetime.datetime, last_login: datetime.datetime, is_active: bool, is_admin: bool, is_sso_only: bool, is_service: bool, role: Annotated[quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole, FieldInfo(annotation=NoneType, required=True, discriminator='typename__')] | None, extra_roles: list[typing.Annotated[quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole, FieldInfo(annotation=NoneType, required=True, discriminator='typename__')]]) -> None

SSOConfig(text: str, timestamp: datetime.datetime, uploader: quilt3.admin.types.User) -> None

TabulatorTable(name: str, config: str) -> None

Bucket(name: str, title: str, icon_url: str | None, description: str | None, overview_url: str | None, tags: list[str] | None, relevance_score: int, last_indexed: datetime.datetime | None, sns_notification_arn: str | None, scanner_parallel_shards_depth: int | None, skip_meta_data_indexing: bool | None, file_extensions_to_index: list[str] | None, index_content_bytes: int | None, prefixes: list[str]) -> None

quilt3.admin.api_keys

Admin API for managing API keys.

list(email: str | None = None, key_name: str | None = None, fingerprint: str | None = None, status: Literal['ACTIVE', 'EXPIRED'] | None = None) -> List[quilt3.api_keys.APIKey]

List API keys. Optionally filter by user email, key name, fingerprint, or status.

Arguments

  • email: Filter by user email.

  • key_name: Filter by key name.

  • fingerprint: Filter by key fingerprint.

  • status: Filter by "ACTIVE" or "EXPIRED". None returns all.

Returns

List of API keys matching the filters.

get(id: str) -> quilt3.api_keys.APIKey | None

Get a specific API key by ID.

Arguments

  • id: The API key ID.

Returns

The API key, or None if not found.

revoke(id: str) -> None

Revoke an API key.

Arguments

  • id: The API key ID to revoke.

Raises

  • Quilt3AdminError: If the operation fails.

quilt3.admin.buckets

get(name: str) -> quilt3.admin.types.Bucket | None

Get a specific bucket configuration from the registry. Returns None if the bucket does not exist.

Arguments

  • name: Name of the bucket to get.

list() -> list[quilt3.admin.types.Bucket]

List all bucket configurations in the registry.

add(name: str, title: str, *, description: str | None = None, icon_url: str | None = None, overview_url: str | None = None, tags: List[str] | None = None, relevance_score: int | None = None, sns_notification_arn: str | None = None, scanner_parallel_shards_depth: int | None = None, skip_meta_data_indexing: bool | None = None, file_extensions_to_index: List[str] | None = None, index_content_bytes: int | None = None, delay_scan: bool | None = None, browsable: bool | None = None, prefixes: List[str] | None = None) -> quilt3.admin.types.Bucket

Add a new bucket to the registry.

Arguments

  • name: S3 bucket name.

  • title: Display title for the bucket.

  • description: Optional description.

  • icon_url: Optional URL for bucket icon.

  • overview_url: Optional URL for bucket overview page.

  • tags: Optional list of tags.

  • relevance_score: Optional relevance score for bucket ordering.

  • sns_notification_arn: Optional SNS topic ARN for notifications.

  • scanner_parallel_shards_depth: Optional depth for parallel scanning.

  • skip_meta_data_indexing: If True, skip metadata indexing.

  • file_extensions_to_index: Optional list of file extensions to index content.

  • index_content_bytes: Optional max bytes of content to index.

  • delay_scan: If True, delay initial bucket scan.

  • browsable: If True, bucket is browsable.

  • prefixes: Optional list of S3 prefixes to scope bucket access to. If provided, only these prefixes will be indexed and verified for access.

update(name: str, title: str, *, description: str | None = None, icon_url: str | None = None, overview_url: str | None = None, tags: List[str] | None = None, relevance_score: int | None = None, sns_notification_arn: str | None = None, scanner_parallel_shards_depth: int | None = None, skip_meta_data_indexing: bool | None = None, file_extensions_to_index: List[str] | None = None, index_content_bytes: int | None = None, browsable: bool | None = None, prefixes: List[str] | None = None) -> quilt3.admin.types.Bucket

Update an existing bucket configuration.

Arguments

  • name: S3 bucket name.

  • title: Display title for the bucket.

  • description: Optional description.

  • icon_url: Optional URL for bucket icon.

  • overview_url: Optional URL for bucket overview page.

  • tags: Optional list of tags.

  • relevance_score: Optional relevance score for bucket ordering.

  • sns_notification_arn: Optional SNS topic ARN for notifications.

  • scanner_parallel_shards_depth: Optional depth for parallel scanning.

  • skip_meta_data_indexing: If True, skip metadata indexing.

  • file_extensions_to_index: Optional list of file extensions to index content.

  • index_content_bytes: Optional max bytes of content to index.

  • browsable: If True, bucket is browsable.

  • prefixes: Optional list of S3 prefixes to scope bucket access to. If provided, only these prefixes will be indexed and verified for access. Changing prefixes will trigger permission re-verification.

remove(name: str) -> None

Remove a bucket from the registry.

Arguments

  • name: Name of the bucket to remove.

quilt3.admin.roles

get(id_or_name: str) -> quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole | None

Get a role by ID or name. Return None if the role does not exist.

Arguments

  • id_or_name: Role ID or name.

get_default() -> quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole | None

Get the default role from the registry. Return None if no default role is set.

list() -> List[quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole]

Get a list of all roles in the registry.

create_managed(name: str, policies: List[str] = ()) -> quilt3.admin.types.ManagedRole

Create a managed role in the registry.

Arguments

  • name: Role name.

  • policies: Policy IDs to attach to the role.

create_unmanaged(name: str, arn: str) -> quilt3.admin.types.UnmanagedRole

Create an unmanaged role in the registry.

Arguments

  • name: Role name.

  • arn: Existing IAM role ARN.

update_managed(id_or_name: str, *, name: str, policies: List[str]) -> quilt3.admin.types.ManagedRole

Update a managed role in the registry (full replacement).

Arguments

  • id_or_name: Role ID or name.

  • name: New role name.

  • policies: Policy IDs to attach to the role.

update_unmanaged(id_or_name: str, *, name: str, arn: str) -> quilt3.admin.types.UnmanagedRole

Update an unmanaged role in the registry (full replacement).

Arguments

  • id_or_name: Role ID or name.

  • name: New role name.

  • arn: Existing IAM role ARN.

patch_managed(id_or_name: str, *, name: str | None = None, policies: List[str] | None = None) -> quilt3.admin.types.ManagedRole

Partially update a managed role — only specified fields are changed.

Arguments

  • id_or_name: Role ID or name.

  • name: New role name (keeps current if not specified).

  • policies: Policy IDs to attach (keeps current if not specified).

patch_unmanaged(id_or_name: str, *, name: str | None = None, arn: str | None = None) -> quilt3.admin.types.UnmanagedRole

Partially update an unmanaged role — only specified fields are changed.

Arguments

  • id_or_name: Role ID or name.

  • name: New role name (keeps current if not specified).

  • arn: New IAM role ARN (keeps current if not specified).

delete(id_or_name: str) -> None

Delete a role from the registry.

Arguments

  • id_or_name: Role ID or name.

set_default(id_or_name: str) -> quilt3.admin.types.ManagedRole | quilt3.admin.types.UnmanagedRole

Set the default role in the registry.

Arguments

  • id_or_name: Role ID or name.

quilt3.admin.users

get(name: str) -> quilt3.admin.types.User | None

Get a specific user from the registry. Return None if the user does not exist.

Arguments

  • name: Username of user to get.

list() -> List[quilt3.admin.types.User]

Get a list of all users in the registry.

create(name: str, email: str, role: str, extra_roles: List[str] | None = None) -> quilt3.admin.types.User

Create a new user in the registry.

Arguments

  • name: Username of user to create.

  • email: Email of user to create.

  • role: Active role of the user.

  • extra_roles: Additional roles to assign to the user.

delete(name: str) -> None

Delete user from the registry.

Arguments

  • name: Username of user to delete.

set_email(name: str, email: str) -> quilt3.admin.types.User

Set the email for a user.

Arguments

  • name: Username of user to update.

  • email: Email to set for the user.

set_admin(name: str, admin: bool) -> quilt3.admin.types.User

Set the admin status for a user.

Arguments

  • name: Username of user to update.

  • admin: Admin status to set for the user.

set_active(name: str, active: bool) -> quilt3.admin.types.User

Set the active status for a user.

Arguments

  • name: Username of user to update.

  • active: Active status to set for the user.

reset_password(name: str) -> None

Reset the password for a user.

Arguments

  • name: Username of user to update.

set_role(name: str, role: str, extra_roles: List[str] | None = None, *, append: bool = False) -> quilt3.admin.types.User

Set the active and extra roles for a user.

Arguments

  • name: Username of user to update.

  • role: Role to be set as the active role.

  • extra_roles: Additional roles to assign to the user.

  • append: If True, append the extra roles to the existing roles. If False, replace the existing roles.

add_roles(name: str, roles: List[str]) -> quilt3.admin.types.User

Add roles to a user.

Arguments

  • name: Username of user to update.

  • roles: Roles to add to the user.

remove_roles(name: str, roles: List[str], fallback: str | None = None) -> quilt3.admin.types.User

Remove roles from a user.

Arguments

  • name: Username of user to update.

  • roles: Roles to remove from the user.

  • fallback: If set, the role to assign to the user if the active role is removed.

quilt3.admin.sso_config

get() -> quilt3.admin.types.SSOConfig | None

Get the current SSO configuration.

set(config: str | None) -> quilt3.admin.types.SSOConfig | None

Set the SSO configuration. Pass None to remove SSO configuration.

quilt3.admin.tabulator

list_tables(bucket_name: str) -> list[quilt3.admin.types.TabulatorTable]

List all tabulator tables in a bucket.

set_table(bucket_name: str, table_name: str, config: str | None) -> None

Set the tabulator table configuration. Pass None to remove the table.

rename_table(bucket_name: str, table_name: str, new_table_name: str) -> None

Rename tabulator table.

get_open_query() -> bool

Get the open query status.

set_open_query(enabled: bool) -> None

Set the open query status.

Last updated

Was this helpful?