diff --git a/.mock/definition/__package__.yml b/.mock/definition/__package__.yml index 4c8fefa96..e8573492f 100644 --- a/.mock/definition/__package__.yml +++ b/.mock/definition/__package__.yml @@ -6,18 +6,18 @@ errors: examples: - value: key: value - ForbiddenError: - status-code: 403 - type: unknown - docs: Organization does not allow to invite people BadRequestError: status-code: 400 type: unknown - docs: '' + docs: Invalid parameters or unsupported KPI type examples: - value: key: value - value: string + ForbiddenError: + status-code: 403 + type: unknown + docs: Organization does not allow to invite people InternalServerError: status-code: 500 type: unknown @@ -146,6 +146,10 @@ types: validation: min: -2147483648 max: 2147483647 + user_session: + type: optional + validation: + maxLength: 8 workspace_owner_id: type: optional docs: Owner id of workspace where action performed @@ -1429,6 +1433,7 @@ types: allow_data_credentials: boolean allow_invite_people: boolean allow_invite_project_experts: boolean + allow_nda: boolean allow_organization_webhooks: boolean allow_sso: boolean allow_storage_proxy: boolean @@ -1441,7 +1446,6 @@ types: embed_domains: optional>> embed_enabled: boolean embed_settings: optional> - hide_storage_settings_for_manager: boolean manual_role_management: boolean manual_workspace_management: boolean secure_mode: boolean @@ -3047,6 +3051,156 @@ types: docs: Total cost of the inference (in USD) source: openapi: openapi/openapi.yaml + KpiDetailResponse: + docs: |- + Response serializer for KPI detail endpoint. + Structure varies based on segmentation parameters. + properties: + by_user: + type: optional + docs: User-segmented data (compact format with parallel arrays) + kpi_key: + type: string + docs: KPI identifier + kpi_label: + type: optional + docs: Human-readable KPI label + matrix: + type: optional + docs: 2D matrix (time × user) in compact format + segmentation: + type: SegmentationEnum + docs: |- + Type of segmentation applied + + * `none` - none + * `time` - time + * `user` - user + * `matrix` - matrix + time_series: + type: optional + docs: Time-segmented data (compact format with parallel arrays) + total: + type: optional + docs: Total value (no segmentation) + unit: + type: string + docs: 'Unit of measurement: seconds, minutes, hours, count, or ratio' + source: + openapi: openapi/openapi.yaml + KpiMatrixSegment: + docs: |- + Serializer for 2D matrix segmentation (time × user) in compact format. + Returns a 2D array where values[user_index][time_index] corresponds to + users[user_index] at interval_start[time_index]. + properties: + interval_start: + docs: Array of time period start timestamps + type: list + users: + docs: Array of user information + type: list + values: + docs: '2D array of values: values[user_index][time_index]' + type: list>> + source: + openapi: openapi/openapi.yaml + KpiMetadata: + docs: |- + Serializer for KPI metadata information. + Provides information about available KPIs including their keys, labels, + dependencies, and configuration. + properties: + base_class: + type: string + docs: Base class name that the KPI inherits from + calculation_formula: + type: optional> + docs: >- + Formula for calculated KPIs defining how to derive the value from + component KPIs. Structure: {"type": "ratio|sum|difference|product", + "numerator": "kpi_key", "denominator": "kpi_key"} + date_column: + type: optional + docs: Database column used for date filtering and aggregation + depends_on_kpis: + docs: List of other KPI keys that this KPI depends on + type: list + is_calculated: + type: boolean + docs: Whether this KPI is calculated from other KPIs (has dependencies) + is_label_type: + type: boolean + docs: >- + Whether this KPI is a label/filter type that does not show a value per + se + key: + type: string + docs: Unique identifier for the KPI + label: + type: optional + docs: Human-readable label for the KPI + percentage: + type: boolean + docs: 'Whether the KPI value is a percentage (DEPRECATED: use unit)' + unit: + type: string + docs: 'Unit of measurement: seconds, minutes, hours, count, or ratio' + source: + openapi: openapi/openapi.yaml + KpiTimeSegment: + docs: |- + Serializer for time-segmented KPI data (compact format). + Returns parallel arrays: interval_start and values. + properties: + interval_start: + docs: Array of time period start timestamps + type: list + values: + docs: Array of KPI values, one per time period (parallel to interval_start) + type: list> + source: + openapi: openapi/openapi.yaml + KpiUserInfo: + docs: Serializer for user information (compact format). + properties: + user_email: + type: string + docs: User email + validation: + format: email + user_id: + type: integer + docs: User ID + username: + type: string + docs: Username + source: + openapi: openapi/openapi.yaml + KpiUserSegment: + docs: |- + Serializer for user-segmented KPI data (compact format). + Returns parallel arrays: users and values. + properties: + users: + docs: Array of user information + type: list + values: + docs: Array of KPI values, one per user (parallel to users array) + type: list> + source: + openapi: openapi/openapi.yaml + KpiValue: + docs: Serializer for a single KPI value (no segmentation). + properties: + unit: + type: string + docs: 'Unit of measurement: seconds, minutes, hours, count, or ratio' + value: + type: optional + docs: The KPI value in its native unit + source: + openapi: openapi/openapi.yaml LseapiTokenCreate: properties: created_at: string @@ -7650,6 +7804,19 @@ types: * `Model` - Model source: openapi: openapi/openapi.yaml + SegmentationEnum: + enum: + - none + - time + - user + - matrix + docs: |- + * `none` - none + * `time` - time + * `user` - user + * `matrix` - matrix + source: + openapi: openapi/openapi.yaml SelectedItemsRequest: properties: all: boolean diff --git a/.mock/definition/actions.yml b/.mock/definition/actions.yml index 747504855..e80fe6d09 100644 --- a/.mock/definition/actions.yml +++ b/.mock/definition/actions.yml @@ -12,6 +12,15 @@ types: source: openapi: openapi/openapi.yaml inline: true + ActionsListResponseItemPermission: + discriminated: false + union: + - string + - docs: List of permissions (user needs any all of them) + type: list + source: + openapi: openapi/openapi.yaml + inline: true ActionsListResponseItem: properties: dialog: @@ -23,7 +32,7 @@ types: order: type: optional permission: - type: optional + type: optional title: type: optional source: diff --git a/.mock/definition/analytics.yml b/.mock/definition/analytics.yml new file mode 100644 index 000000000..7a9373aa3 --- /dev/null +++ b/.mock/definition/analytics.yml @@ -0,0 +1,128 @@ +imports: + root: __package__.yml +service: + auth: false + base-path: '' + endpoints: + api_analytics_kpis_retrieve: + path: /api/analytics/kpis/ + method: GET + auth: true + docs: >- + Returns metadata for all available KPI (Key Performance Indicator) + classes. Each KPI includes its key, label, base class, dependencies, and + configuration. This endpoint is useful for discovering available metrics + and understanding their relationships and requirements. + source: + openapi: openapi/openapi.yaml + display-name: List all available KPIs + response: + docs: List of available KPIs with metadata + type: list + examples: + - response: + body: + - base_class: base_class + calculation_formula: + key: value + date_column: date_column + depends_on_kpis: + - depends_on_kpis + is_calculated: true + is_label_type: true + key: key + label: label + percentage: true + unit: unit + api_analytics_kpis_retrieve_2: + path: /api/analytics/kpis/{kpi_key} + method: GET + auth: true + docs: >- + Retrieve data for a specific KPI with support for filtering and + segmentation. Can segment by time (hourly, daily, weekly, monthly, + yearly), by user, or both (2D matrix). If no segmentation is specified, + returns a single total value. Supports filtering by projects, members, + and date range. Date filters are interpreted in the specified timezone + (required parameter). + source: + openapi: openapi/openapi.yaml + path-parameters: + kpi_key: + type: string + docs: KPI identifier (key) + display-name: Get KPI data with optional segmentation + request: + name: ApiAnalyticsKpisRetrieve2Request + query-parameters: + end: + type: optional + docs: End date for filtering (ISO format) + members: + type: optional + docs: >- + Comma-separated user IDs. If empty, includes all organization + members. + projects: + type: optional + docs: >- + Comma-separated project IDs. If empty, includes all organization + projects. + segment_by_time: + type: optional + docs: 'Time granularity: hourly, daily, weekly, monthly, yearly' + segment_by_user: + type: optional + docs: Whether to segment results by user + start: + type: optional + docs: Start date for filtering (ISO format) + tz: + type: string + docs: >- + Timezone for date filtering (IANA timezone name, e.g., + "America/New_York", "UTC"). The start and end dates will be + interpreted in this timezone. + response: + docs: KPI data with requested segmentation + type: root.KpiDetailResponse + errors: + - root.BadRequestError + - root.NotFoundError + examples: + - path-parameters: + kpi_key: kpi_key + query-parameters: + tz: tz + response: + body: + by_user: + users: + - user_email: user_email + user_id: 1 + username: username + values: + - 1.1 + kpi_key: kpi_key + kpi_label: kpi_label + matrix: + interval_start: + - '2024-01-15T09:30:00Z' + users: + - user_email: user_email + user_id: 1 + username: username + values: + - [] + segmentation: none + time_series: + interval_start: + - '2024-01-15T09:30:00Z' + values: + - 1.1 + total: + unit: unit + value: 1.1 + unit: unit + source: + openapi: openapi/openapi.yaml diff --git a/.mock/definition/billing.yml b/.mock/definition/billing.yml index 6b336f5cc..cc35a479d 100644 --- a/.mock/definition/billing.yml +++ b/.mock/definition/billing.yml @@ -74,6 +74,7 @@ service: allow_data_credentials: true allow_invite_people: true allow_invite_project_experts: true + allow_nda: true allow_organization_webhooks: true allow_sso: false allow_storage_proxy: true @@ -91,7 +92,6 @@ service: public_verify_alg: - RS256 public_verify_key: .... - hide_storage_settings_for_manager: false manual_role_management: false manual_workspace_management: false secure_mode: false @@ -148,6 +148,7 @@ service: allow_data_credentials: true allow_invite_people: true allow_invite_project_experts: true + allow_nda: true allow_organization_webhooks: true allow_sso: true allow_storage_proxy: true @@ -165,7 +166,6 @@ service: public_verify_alg: - RS256 public_verify_key: .... - hide_storage_settings_for_manager: false manual_role_management: false manual_workspace_management: false secure_mode: false @@ -222,6 +222,7 @@ service: allow_data_credentials: false allow_invite_people: true allow_invite_project_experts: true + allow_nda: true allow_organization_webhooks: false allow_sso: true allow_storage_proxy: true @@ -239,7 +240,6 @@ service: public_verify_alg: - RS256 public_verify_key: .... - hide_storage_settings_for_manager: false manual_role_management: true manual_workspace_management: true secure_mode: false diff --git a/.mock/definition/exportStorage/azure.yml b/.mock/definition/exportStorage/azure.yml index 0e26ee5f1..61f76099a 100644 --- a/.mock/definition/exportStorage/azure.yml +++ b/.mock/definition/exportStorage/azure.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - account_key: account_key account_name: account_name diff --git a/.mock/definition/exportStorage/azureSpi.yml b/.mock/definition/exportStorage/azureSpi.yml index f81682186..e204a1c02 100644 --- a/.mock/definition/exportStorage/azureSpi.yml +++ b/.mock/definition/exportStorage/azureSpi.yml @@ -27,13 +27,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - account_name: account_name can_delete_objects: true diff --git a/.mock/definition/exportStorage/databricks.yml b/.mock/definition/exportStorage/databricks.yml index b02ed8d4b..25f4cfaa8 100644 --- a/.mock/definition/exportStorage/databricks.yml +++ b/.mock/definition/exportStorage/databricks.yml @@ -26,13 +26,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - can_delete_objects: true catalog: catalog diff --git a/.mock/definition/exportStorage/gcs.yml b/.mock/definition/exportStorage/gcs.yml index c00e8b713..f8cf379fe 100644 --- a/.mock/definition/exportStorage/gcs.yml +++ b/.mock/definition/exportStorage/gcs.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - bucket: bucket can_delete_objects: true diff --git a/.mock/definition/exportStorage/gcswif.yml b/.mock/definition/exportStorage/gcswif.yml index ab3ea4605..9d419f439 100644 --- a/.mock/definition/exportStorage/gcswif.yml +++ b/.mock/definition/exportStorage/gcswif.yml @@ -27,13 +27,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - bucket: bucket can_delete_objects: true diff --git a/.mock/definition/exportStorage/local.yml b/.mock/definition/exportStorage/local.yml index 49b888aed..0a340bd61 100644 --- a/.mock/definition/exportStorage/local.yml +++ b/.mock/definition/exportStorage/local.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - can_delete_objects: true created_at: '2024-01-15T09:30:00Z' diff --git a/.mock/definition/exportStorage/redis.yml b/.mock/definition/exportStorage/redis.yml index a17299458..c68268935 100644 --- a/.mock/definition/exportStorage/redis.yml +++ b/.mock/definition/exportStorage/redis.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - can_delete_objects: true created_at: '2024-01-15T09:30:00Z' diff --git a/.mock/definition/exportStorage/s3.yml b/.mock/definition/exportStorage/s3.yml index 964181a38..ec1598392 100644 --- a/.mock/definition/exportStorage/s3.yml +++ b/.mock/definition/exportStorage/s3.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - aws_access_key_id: aws_access_key_id aws_secret_access_key: aws_secret_access_key diff --git a/.mock/definition/exportStorage/s3S.yml b/.mock/definition/exportStorage/s3S.yml index fab37b8d1..0f882015b 100644 --- a/.mock/definition/exportStorage/s3S.yml +++ b/.mock/definition/exportStorage/s3S.yml @@ -27,13 +27,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - aws_access_key_id: aws_access_key_id aws_secret_access_key: aws_secret_access_key diff --git a/.mock/definition/importStorage/azure.yml b/.mock/definition/importStorage/azure.yml index cadeca972..e915df875 100644 --- a/.mock/definition/importStorage/azure.yml +++ b/.mock/definition/importStorage/azure.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - account_key: account_key account_name: account_name diff --git a/.mock/definition/importStorage/azureSpi.yml b/.mock/definition/importStorage/azureSpi.yml index 60a57a14f..50d59ae9d 100644 --- a/.mock/definition/importStorage/azureSpi.yml +++ b/.mock/definition/importStorage/azureSpi.yml @@ -27,13 +27,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - account_name: account_name client_id: client_id diff --git a/.mock/definition/importStorage/databricks.yml b/.mock/definition/importStorage/databricks.yml index e08ce65c2..1c73e5759 100644 --- a/.mock/definition/importStorage/databricks.yml +++ b/.mock/definition/importStorage/databricks.yml @@ -26,13 +26,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - catalog: catalog created_at: '2024-01-15T09:30:00Z' diff --git a/.mock/definition/importStorage/gcs.yml b/.mock/definition/importStorage/gcs.yml index bfc71e315..735cb56a0 100644 --- a/.mock/definition/importStorage/gcs.yml +++ b/.mock/definition/importStorage/gcs.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - bucket: bucket created_at: '2024-01-15T09:30:00Z' diff --git a/.mock/definition/importStorage/gcswif.yml b/.mock/definition/importStorage/gcswif.yml index 81399f634..7c60350f6 100644 --- a/.mock/definition/importStorage/gcswif.yml +++ b/.mock/definition/importStorage/gcswif.yml @@ -27,13 +27,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - bucket: bucket created_at: '2024-01-15T09:30:00Z' diff --git a/.mock/definition/importStorage/local.yml b/.mock/definition/importStorage/local.yml index 0d654969c..274fd3694 100644 --- a/.mock/definition/importStorage/local.yml +++ b/.mock/definition/importStorage/local.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - created_at: '2024-01-15T09:30:00Z' description: description diff --git a/.mock/definition/importStorage/redis.yml b/.mock/definition/importStorage/redis.yml index 02d5a0e59..b0697a79c 100644 --- a/.mock/definition/importStorage/redis.yml +++ b/.mock/definition/importStorage/redis.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - created_at: '2024-01-15T09:30:00Z' db: 1 diff --git a/.mock/definition/importStorage/s3.yml b/.mock/definition/importStorage/s3.yml index de67ea85b..9db70e7f4 100644 --- a/.mock/definition/importStorage/s3.yml +++ b/.mock/definition/importStorage/s3.yml @@ -19,13 +19,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - aws_access_key_id: aws_access_key_id aws_secret_access_key: aws_secret_access_key diff --git a/.mock/definition/importStorage/s3S.yml b/.mock/definition/importStorage/s3S.yml index fc8d725a1..e8c3afdce 100644 --- a/.mock/definition/importStorage/s3S.yml +++ b/.mock/definition/importStorage/s3S.yml @@ -27,13 +27,15 @@ service: type: optional docs: Which field to use when ordering the results. project: - type: optional + type: integer docs: Project ID response: docs: '' type: list examples: - - response: + - query-parameters: + project: 1 + response: body: - aws_access_key_id: aws_access_key_id aws_secret_access_key: aws_secret_access_key diff --git a/.mock/openapi/openapi.yaml b/.mock/openapi/openapi.yaml index 7e7f6c402..9f16e21c6 100644 --- a/.mock/openapi/openapi.yaml +++ b/.mock/openapi/openapi.yaml @@ -97,6 +97,89 @@ paths: - public x-fern-sdk-group-name: activity_logs x-fern-sdk-method-name: list + /api/analytics/kpis/: + get: + description: Returns metadata for all available KPI (Key Performance Indicator) classes. Each KPI includes its key, label, base class, dependencies, and configuration. This endpoint is useful for discovering available metrics and understanding their relationships and requirements. + operationId: api_analytics_kpis_retrieve + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/KPIMetadata' + type: array + description: List of available KPIs with metadata + security: + - Token: [] + summary: List all available KPIs + tags: + - Analytics + /api/analytics/kpis/{kpi_key}: + get: + description: Retrieve data for a specific KPI with support for filtering and segmentation. Can segment by time (hourly, daily, weekly, monthly, yearly), by user, or both (2D matrix). If no segmentation is specified, returns a single total value. Supports filtering by projects, members, and date range. Date filters are interpreted in the specified timezone (required parameter). + operationId: api_analytics_kpis_retrieve_2 + parameters: + - description: End date for filtering (ISO format) + in: query + name: end + schema: + format: date-time + type: string + - description: KPI identifier (key) + in: path + name: kpi_key + required: true + schema: + type: string + - description: Comma-separated user IDs. If empty, includes all organization members. + in: query + name: members + schema: + type: string + - description: Comma-separated project IDs. If empty, includes all organization projects. + in: query + name: projects + schema: + type: string + - description: 'Time granularity: hourly, daily, weekly, monthly, yearly' + in: query + name: segment_by_time + schema: + type: string + - description: Whether to segment results by user + in: query + name: segment_by_user + schema: + type: boolean + - description: Start date for filtering (ISO format) + in: query + name: start + schema: + format: date-time + type: string + - description: Timezone for date filtering (IANA timezone name, e.g., "America/New_York", "UTC"). The start and end dates will be interpreted in this timezone. + in: query + name: tz + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/KPIDetailResponse' + description: KPI data with requested segmentation + '400': + description: Invalid parameters or unsupported KPI type + '404': + description: KPI not found or organization not found + security: + - Token: [] + summary: Get KPI data with optional segmentation + tags: + - Analytics /api/annotation-history/: delete: description: |- @@ -758,7 +841,6 @@ paths: public_verify_alg: - RS256 public_verify_key: '....' - hide_storage_settings_for_manager: false manual_role_management: false manual_workspace_management: false secure_mode: false @@ -828,7 +910,6 @@ paths: public_verify_alg: - RS256 public_verify_key: '....' - hide_storage_settings_for_manager: false manual_role_management: false manual_workspace_management: false secure_mode: false @@ -898,7 +979,6 @@ paths: public_verify_alg: - RS256 public_verify_key: '....' - hide_storage_settings_for_manager: false manual_role_management: true manual_workspace_management: true secure_mode: false @@ -2971,8 +3051,12 @@ paths: title: Order type: integer permission: - title: Permission - type: string + oneOf: + - type: string + - description: List of permissions (user needs any all of them) + items: + type: string + type: array title: title: Title type: string @@ -11775,6 +11859,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -12099,6 +12184,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -12364,6 +12450,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -12654,6 +12741,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -12944,6 +13032,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -13209,6 +13298,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -13467,6 +13557,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -13757,6 +13848,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -14015,6 +14107,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -14280,6 +14373,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -14572,6 +14666,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -14898,6 +14993,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -15184,6 +15280,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -15508,6 +15605,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -15766,6 +15864,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -16032,6 +16131,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -16325,6 +16425,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -16694,6 +16795,7 @@ paths: - description: Project ID in: query name: project + required: true schema: type: integer responses: @@ -18950,6 +19052,10 @@ components: maximum: 2147483647 minimum: -2147483648 type: integer + user_session: + maxLength: 8 + nullable: true + type: string workspace_owner_id: description: Owner id of workspace where action performed maximum: 2147483647 @@ -20728,6 +20834,8 @@ components: type: boolean allow_invite_project_experts: type: boolean + allow_nda: + type: boolean allow_organization_webhooks: type: boolean allow_sso: @@ -20756,8 +20864,6 @@ components: embed_settings: additionalProperties: {} type: object - hide_storage_settings_for_manager: - type: boolean manual_role_management: type: boolean manual_workspace_management: @@ -20777,6 +20883,7 @@ components: - allow_data_credentials - allow_invite_people - allow_invite_project_experts + - allow_nda - allow_organization_webhooks - allow_sso - allow_storage_proxy @@ -20787,7 +20894,6 @@ components: - disable_project_imports - early_adopter - embed_enabled - - hide_storage_settings_for_manager - manual_role_management - manual_workspace_management - secure_mode @@ -22929,6 +23035,217 @@ components: nullable: true type: string type: object + KPIDetailResponse: + description: |- + Response serializer for KPI detail endpoint. + Structure varies based on segmentation parameters. + properties: + by_user: + allOf: + - $ref: '#/components/schemas/KPIUserSegment' + description: User-segmented data (compact format with parallel arrays) + nullable: true + kpi_key: + description: KPI identifier + type: string + kpi_label: + description: Human-readable KPI label + nullable: true + type: string + matrix: + allOf: + - $ref: '#/components/schemas/KPIMatrixSegment' + description: 2D matrix (time × user) in compact format + nullable: true + segmentation: + allOf: + - $ref: '#/components/schemas/SegmentationEnum' + description: |- + Type of segmentation applied + + * `none` - none + * `time` - time + * `user` - user + * `matrix` - matrix + time_series: + allOf: + - $ref: '#/components/schemas/KPITimeSegment' + description: Time-segmented data (compact format with parallel arrays) + nullable: true + total: + allOf: + - $ref: '#/components/schemas/KPIValue' + description: Total value (no segmentation) + nullable: true + unit: + description: 'Unit of measurement: seconds, minutes, hours, count, or ratio' + type: string + required: + - kpi_key + - kpi_label + - segmentation + - unit + type: object + KPIMatrixSegment: + description: |- + Serializer for 2D matrix segmentation (time × user) in compact format. + Returns a 2D array where values[user_index][time_index] corresponds to + users[user_index] at interval_start[time_index]. + properties: + interval_start: + description: Array of time period start timestamps + items: + format: date-time + type: string + type: array + users: + description: Array of user information + items: + $ref: '#/components/schemas/KPIUserInfo' + type: array + values: + description: '2D array of values: values[user_index][time_index]' + items: + items: + format: double + nullable: true + type: number + type: array + type: array + required: + - interval_start + - users + - values + type: object + KPIMetadata: + description: |- + Serializer for KPI metadata information. + Provides information about available KPIs including their keys, labels, + dependencies, and configuration. + properties: + base_class: + description: Base class name that the KPI inherits from + type: string + calculation_formula: + additionalProperties: {} + description: 'Formula for calculated KPIs defining how to derive the value from component KPIs. Structure: {"type": "ratio|sum|difference|product", "numerator": "kpi_key", "denominator": "kpi_key"}' + nullable: true + type: object + date_column: + description: Database column used for date filtering and aggregation + nullable: true + type: string + depends_on_kpis: + description: List of other KPI keys that this KPI depends on + items: + type: string + type: array + is_calculated: + description: Whether this KPI is calculated from other KPIs (has dependencies) + type: boolean + is_label_type: + description: Whether this KPI is a label/filter type that does not show a value per se + type: boolean + key: + description: Unique identifier for the KPI + type: string + label: + description: Human-readable label for the KPI + nullable: true + type: string + percentage: + description: 'Whether the KPI value is a percentage (DEPRECATED: use unit)' + type: boolean + unit: + description: 'Unit of measurement: seconds, minutes, hours, count, or ratio' + type: string + required: + - base_class + - date_column + - depends_on_kpis + - is_calculated + - is_label_type + - key + - label + - percentage + - unit + type: object + KPITimeSegment: + description: |- + Serializer for time-segmented KPI data (compact format). + Returns parallel arrays: interval_start and values. + properties: + interval_start: + description: Array of time period start timestamps + items: + format: date-time + type: string + type: array + values: + description: Array of KPI values, one per time period (parallel to interval_start) + items: + format: double + nullable: true + type: number + type: array + required: + - interval_start + - values + type: object + KPIUserInfo: + description: Serializer for user information (compact format). + properties: + user_email: + description: User email + format: email + type: string + user_id: + description: User ID + type: integer + username: + description: Username + type: string + required: + - user_email + - user_id + - username + type: object + KPIUserSegment: + description: |- + Serializer for user-segmented KPI data (compact format). + Returns parallel arrays: users and values. + properties: + users: + description: Array of user information + items: + $ref: '#/components/schemas/KPIUserInfo' + type: array + values: + description: Array of KPI values, one per user (parallel to users array) + items: + format: double + nullable: true + type: number + type: array + required: + - users + - values + type: object + KPIValue: + description: Serializer for a single KPI value (no segmentation). + properties: + unit: + description: 'Unit of measurement: seconds, minutes, hours, count, or ratio' + type: string + value: + description: The KPI value in its native unit + format: double + nullable: true + type: number + required: + - unit + - value + type: object LSAPITokenBlacklistRequest: properties: refresh: @@ -31305,6 +31622,18 @@ components: - User - Model type: string + SegmentationEnum: + description: |- + * `none` - none + * `time` - time + * `user` - user + * `matrix` - matrix + enum: + - none + - time + - user + - matrix + type: string SelectedItemsRequest: properties: all: diff --git a/poetry.lock b/poetry.lock index 8c7dfef09..979e869e7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -44,13 +44,13 @@ files = [ [[package]] name = "argcomplete" -version = "3.6.2" +version = "3.6.3" description = "Bash tab completion for argparse" optional = false python-versions = ">=3.8" files = [ - {file = "argcomplete-3.6.2-py3-none-any.whl", hash = "sha256:65b3133a29ad53fb42c48cf5114752c7ab66c1c38544fdf6460f450c09b42591"}, - {file = "argcomplete-3.6.2.tar.gz", hash = "sha256:d0519b1bc867f5f4f4713c41ad0aba73a4a5f007449716b16f385f2166dc6adf"}, + {file = "argcomplete-3.6.3-py3-none-any.whl", hash = "sha256:f5007b3a600ccac5d25bbce33089211dfd49eab4a7718da3f10e3082525a92ce"}, + {file = "argcomplete-3.6.3.tar.gz", hash = "sha256:62e8ed4fd6a45864acc8235409461b72c9a28ee785a2011cc5eb78318786c89c"}, ] [package.extras] @@ -360,13 +360,13 @@ test = ["pytest (>=6)"] [[package]] name = "faker" -version = "37.11.0" +version = "37.12.0" description = "Faker is a Python package that generates fake data for you." optional = false python-versions = ">=3.9" files = [ - {file = "faker-37.11.0-py3-none-any.whl", hash = "sha256:1508d2da94dfd1e0087b36f386126d84f8583b3de19ac18e392a2831a6676c57"}, - {file = "faker-37.11.0.tar.gz", hash = "sha256:22969803849ba0618be8eee2dd01d0d9e2cd3b75e6ff1a291fa9abcdb34da5e6"}, + {file = "faker-37.12.0-py3-none-any.whl", hash = "sha256:afe7ccc038da92f2fbae30d8e16d19d91e92e242f8401ce9caf44de892bab4c4"}, + {file = "faker-37.12.0.tar.gz", hash = "sha256:7505e59a7e02fa9010f06c3e1e92f8250d4cfbb30632296140c2d6dbef09b0fa"}, ] [package.dependencies] @@ -1713,126 +1713,126 @@ typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} [[package]] name = "regex" -version = "2025.9.18" +version = "2025.10.23" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.9" files = [ - {file = "regex-2025.9.18-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:12296202480c201c98a84aecc4d210592b2f55e200a1d193235c4db92b9f6788"}, - {file = "regex-2025.9.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:220381f1464a581f2ea988f2220cf2a67927adcef107d47d6897ba5a2f6d51a4"}, - {file = "regex-2025.9.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:87f681bfca84ebd265278b5daa1dcb57f4db315da3b5d044add7c30c10442e61"}, - {file = "regex-2025.9.18-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34d674cbba70c9398074c8a1fcc1a79739d65d1105de2a3c695e2b05ea728251"}, - {file = "regex-2025.9.18-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:385c9b769655cb65ea40b6eea6ff763cbb6d69b3ffef0b0db8208e1833d4e746"}, - {file = "regex-2025.9.18-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8900b3208e022570ae34328712bef6696de0804c122933414014bae791437ab2"}, - {file = "regex-2025.9.18-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c204e93bf32cd7a77151d44b05eb36f469d0898e3fba141c026a26b79d9914a0"}, - {file = "regex-2025.9.18-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3acc471d1dd7e5ff82e6cacb3b286750decd949ecd4ae258696d04f019817ef8"}, - {file = "regex-2025.9.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6479d5555122433728760e5f29edb4c2b79655a8deb681a141beb5c8a025baea"}, - {file = "regex-2025.9.18-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:431bd2a8726b000eb6f12429c9b438a24062a535d06783a93d2bcbad3698f8a8"}, - {file = "regex-2025.9.18-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0cc3521060162d02bd36927e20690129200e5ac9d2c6d32b70368870b122db25"}, - {file = "regex-2025.9.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a021217b01be2d51632ce056d7a837d3fa37c543ede36e39d14063176a26ae29"}, - {file = "regex-2025.9.18-cp310-cp310-win32.whl", hash = "sha256:4a12a06c268a629cb67cc1d009b7bb0be43e289d00d5111f86a2efd3b1949444"}, - {file = "regex-2025.9.18-cp310-cp310-win_amd64.whl", hash = "sha256:47acd811589301298c49db2c56bde4f9308d6396da92daf99cba781fa74aa450"}, - {file = "regex-2025.9.18-cp310-cp310-win_arm64.whl", hash = "sha256:16bd2944e77522275e5ee36f867e19995bcaa533dcb516753a26726ac7285442"}, - {file = "regex-2025.9.18-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:51076980cd08cd13c88eb7365427ae27f0d94e7cebe9ceb2bb9ffdae8fc4d82a"}, - {file = "regex-2025.9.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:828446870bd7dee4e0cbeed767f07961aa07f0ea3129f38b3ccecebc9742e0b8"}, - {file = "regex-2025.9.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c28821d5637866479ec4cc23b8c990f5bc6dd24e5e4384ba4a11d38a526e1414"}, - {file = "regex-2025.9.18-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:726177ade8e481db669e76bf99de0b278783be8acd11cef71165327abd1f170a"}, - {file = "regex-2025.9.18-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f5cca697da89b9f8ea44115ce3130f6c54c22f541943ac8e9900461edc2b8bd4"}, - {file = "regex-2025.9.18-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dfbde38f38004703c35666a1e1c088b778e35d55348da2b7b278914491698d6a"}, - {file = "regex-2025.9.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f2f422214a03fab16bfa495cfec72bee4aaa5731843b771860a471282f1bf74f"}, - {file = "regex-2025.9.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a295916890f4df0902e4286bc7223ee7f9e925daa6dcdec4192364255b70561a"}, - {file = "regex-2025.9.18-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:5db95ff632dbabc8c38c4e82bf545ab78d902e81160e6e455598014f0abe66b9"}, - {file = "regex-2025.9.18-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fb967eb441b0f15ae610b7069bdb760b929f267efbf522e814bbbfffdf125ce2"}, - {file = "regex-2025.9.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f04d2f20da4053d96c08f7fde6e1419b7ec9dbcee89c96e3d731fca77f411b95"}, - {file = "regex-2025.9.18-cp311-cp311-win32.whl", hash = "sha256:895197241fccf18c0cea7550c80e75f185b8bd55b6924fcae269a1a92c614a07"}, - {file = "regex-2025.9.18-cp311-cp311-win_amd64.whl", hash = "sha256:7e2b414deae99166e22c005e154a5513ac31493db178d8aec92b3269c9cce8c9"}, - {file = "regex-2025.9.18-cp311-cp311-win_arm64.whl", hash = "sha256:fb137ec7c5c54f34a25ff9b31f6b7b0c2757be80176435bf367111e3f71d72df"}, - {file = "regex-2025.9.18-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:436e1b31d7efd4dcd52091d076482031c611dde58bf9c46ca6d0a26e33053a7e"}, - {file = "regex-2025.9.18-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c190af81e5576b9c5fdc708f781a52ff20f8b96386c6e2e0557a78402b029f4a"}, - {file = "regex-2025.9.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e4121f1ce2b2b5eec4b397cc1b277686e577e658d8f5870b7eb2d726bd2300ab"}, - {file = "regex-2025.9.18-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:300e25dbbf8299d87205e821a201057f2ef9aa3deb29caa01cd2cac669e508d5"}, - {file = "regex-2025.9.18-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7b47fcf9f5316c0bdaf449e879407e1b9937a23c3b369135ca94ebc8d74b1742"}, - {file = "regex-2025.9.18-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:57a161bd3acaa4b513220b49949b07e252165e6b6dc910ee7617a37ff4f5b425"}, - {file = "regex-2025.9.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f130c3a7845ba42de42f380fff3c8aebe89a810747d91bcf56d40a069f15352"}, - {file = "regex-2025.9.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f96fa342b6f54dcba928dd452e8d8cb9f0d63e711d1721cd765bb9f73bb048d"}, - {file = "regex-2025.9.18-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0f0d676522d68c207828dcd01fb6f214f63f238c283d9f01d85fc664c7c85b56"}, - {file = "regex-2025.9.18-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:40532bff8a1a0621e7903ae57fce88feb2e8a9a9116d341701302c9302aef06e"}, - {file = "regex-2025.9.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:039f11b618ce8d71a1c364fdee37da1012f5a3e79b1b2819a9f389cd82fd6282"}, - {file = "regex-2025.9.18-cp312-cp312-win32.whl", hash = "sha256:e1dd06f981eb226edf87c55d523131ade7285137fbde837c34dc9d1bf309f459"}, - {file = "regex-2025.9.18-cp312-cp312-win_amd64.whl", hash = "sha256:3d86b5247bf25fa3715e385aa9ff272c307e0636ce0c9595f64568b41f0a9c77"}, - {file = "regex-2025.9.18-cp312-cp312-win_arm64.whl", hash = "sha256:032720248cbeeae6444c269b78cb15664458b7bb9ed02401d3da59fe4d68c3a5"}, - {file = "regex-2025.9.18-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2a40f929cd907c7e8ac7566ac76225a77701a6221bca937bdb70d56cb61f57b2"}, - {file = "regex-2025.9.18-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c90471671c2cdf914e58b6af62420ea9ecd06d1554d7474d50133ff26ae88feb"}, - {file = "regex-2025.9.18-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a351aff9e07a2dabb5022ead6380cff17a4f10e4feb15f9100ee56c4d6d06af"}, - {file = "regex-2025.9.18-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc4b8e9d16e20ddfe16430c23468a8707ccad3365b06d4536142e71823f3ca29"}, - {file = "regex-2025.9.18-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b8cdbddf2db1c5e80338ba2daa3cfa3dec73a46fff2a7dda087c8efbf12d62f"}, - {file = "regex-2025.9.18-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a276937d9d75085b2c91fb48244349c6954f05ee97bba0963ce24a9d915b8b68"}, - {file = "regex-2025.9.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92a8e375ccdc1256401c90e9dc02b8642894443d549ff5e25e36d7cf8a80c783"}, - {file = "regex-2025.9.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0dc6893b1f502d73037cf807a321cdc9be29ef3d6219f7970f842475873712ac"}, - {file = "regex-2025.9.18-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a61e85bfc63d232ac14b015af1261f826260c8deb19401c0597dbb87a864361e"}, - {file = "regex-2025.9.18-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1ef86a9ebc53f379d921fb9a7e42b92059ad3ee800fcd9e0fe6181090e9f6c23"}, - {file = "regex-2025.9.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d3bc882119764ba3a119fbf2bd4f1b47bc56c1da5d42df4ed54ae1e8e66fdf8f"}, - {file = "regex-2025.9.18-cp313-cp313-win32.whl", hash = "sha256:3810a65675845c3bdfa58c3c7d88624356dd6ee2fc186628295e0969005f928d"}, - {file = "regex-2025.9.18-cp313-cp313-win_amd64.whl", hash = "sha256:16eaf74b3c4180ede88f620f299e474913ab6924d5c4b89b3833bc2345d83b3d"}, - {file = "regex-2025.9.18-cp313-cp313-win_arm64.whl", hash = "sha256:4dc98ba7dd66bd1261927a9f49bd5ee2bcb3660f7962f1ec02617280fc00f5eb"}, - {file = "regex-2025.9.18-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:fe5d50572bc885a0a799410a717c42b1a6b50e2f45872e2b40f4f288f9bce8a2"}, - {file = "regex-2025.9.18-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b9d9a2d6cda6621551ca8cf7a06f103adf72831153f3c0d982386110870c4d3"}, - {file = "regex-2025.9.18-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:13202e4c4ac0ef9a317fff817674b293c8f7e8c68d3190377d8d8b749f566e12"}, - {file = "regex-2025.9.18-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:874ff523b0fecffb090f80ae53dc93538f8db954c8bb5505f05b7787ab3402a0"}, - {file = "regex-2025.9.18-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d13ab0490128f2bb45d596f754148cd750411afc97e813e4b3a61cf278a23bb6"}, - {file = "regex-2025.9.18-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:05440bc172bc4b4b37fb9667e796597419404dbba62e171e1f826d7d2a9ebcef"}, - {file = "regex-2025.9.18-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5514b8e4031fdfaa3d27e92c75719cbe7f379e28cacd939807289bce76d0e35a"}, - {file = "regex-2025.9.18-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:65d3c38c39efce73e0d9dc019697b39903ba25b1ad45ebbd730d2cf32741f40d"}, - {file = "regex-2025.9.18-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ae77e447ebc144d5a26d50055c6ddba1d6ad4a865a560ec7200b8b06bc529368"}, - {file = "regex-2025.9.18-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e3ef8cf53dc8df49d7e28a356cf824e3623764e9833348b655cfed4524ab8a90"}, - {file = "regex-2025.9.18-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9feb29817df349c976da9a0debf775c5c33fc1c8ad7b9f025825da99374770b7"}, - {file = "regex-2025.9.18-cp313-cp313t-win32.whl", hash = "sha256:168be0d2f9b9d13076940b1ed774f98595b4e3c7fc54584bba81b3cc4181742e"}, - {file = "regex-2025.9.18-cp313-cp313t-win_amd64.whl", hash = "sha256:d59ecf3bb549e491c8104fea7313f3563c7b048e01287db0a90485734a70a730"}, - {file = "regex-2025.9.18-cp313-cp313t-win_arm64.whl", hash = "sha256:dbef80defe9fb21310948a2595420b36c6d641d9bea4c991175829b2cc4bc06a"}, - {file = "regex-2025.9.18-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c6db75b51acf277997f3adcd0ad89045d856190d13359f15ab5dda21581d9129"}, - {file = "regex-2025.9.18-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8f9698b6f6895d6db810e0bda5364f9ceb9e5b11328700a90cae573574f61eea"}, - {file = "regex-2025.9.18-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29cd86aa7cb13a37d0f0d7c21d8d949fe402ffa0ea697e635afedd97ab4b69f1"}, - {file = "regex-2025.9.18-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7c9f285a071ee55cd9583ba24dde006e53e17780bb309baa8e4289cd472bcc47"}, - {file = "regex-2025.9.18-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5adf266f730431e3be9021d3e5b8d5ee65e563fec2883ea8093944d21863b379"}, - {file = "regex-2025.9.18-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1137cabc0f38807de79e28d3f6e3e3f2cc8cfb26bead754d02e6d1de5f679203"}, - {file = "regex-2025.9.18-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7cc9e5525cada99699ca9223cce2d52e88c52a3d2a0e842bd53de5497c604164"}, - {file = "regex-2025.9.18-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:bbb9246568f72dce29bcd433517c2be22c7791784b223a810225af3b50d1aafb"}, - {file = "regex-2025.9.18-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:6a52219a93dd3d92c675383efff6ae18c982e2d7651c792b1e6d121055808743"}, - {file = "regex-2025.9.18-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:ae9b3840c5bd456780e3ddf2f737ab55a79b790f6409182012718a35c6d43282"}, - {file = "regex-2025.9.18-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d488c236ac497c46a5ac2005a952c1a0e22a07be9f10c3e735bc7d1209a34773"}, - {file = "regex-2025.9.18-cp314-cp314-win32.whl", hash = "sha256:0c3506682ea19beefe627a38872d8da65cc01ffa25ed3f2e422dffa1474f0788"}, - {file = "regex-2025.9.18-cp314-cp314-win_amd64.whl", hash = "sha256:57929d0f92bebb2d1a83af372cd0ffba2263f13f376e19b1e4fa32aec4efddc3"}, - {file = "regex-2025.9.18-cp314-cp314-win_arm64.whl", hash = "sha256:6a4b44df31d34fa51aa5c995d3aa3c999cec4d69b9bd414a8be51984d859f06d"}, - {file = "regex-2025.9.18-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:b176326bcd544b5e9b17d6943f807697c0cb7351f6cfb45bf5637c95ff7e6306"}, - {file = "regex-2025.9.18-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:0ffd9e230b826b15b369391bec167baed57c7ce39efc35835448618860995946"}, - {file = "regex-2025.9.18-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ec46332c41add73f2b57e2f5b642f991f6b15e50e9f86285e08ffe3a512ac39f"}, - {file = "regex-2025.9.18-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b80fa342ed1ea095168a3f116637bd1030d39c9ff38dc04e54ef7c521e01fc95"}, - {file = "regex-2025.9.18-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f4d97071c0ba40f0cf2a93ed76e660654c399a0a04ab7d85472239460f3da84b"}, - {file = "regex-2025.9.18-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0ac936537ad87cef9e0e66c5144484206c1354224ee811ab1519a32373e411f3"}, - {file = "regex-2025.9.18-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dec57f96d4def58c422d212d414efe28218d58537b5445cf0c33afb1b4768571"}, - {file = "regex-2025.9.18-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:48317233294648bf7cd068857f248e3a57222259a5304d32c7552e2284a1b2ad"}, - {file = "regex-2025.9.18-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:274687e62ea3cf54846a9b25fc48a04459de50af30a7bd0b61a9e38015983494"}, - {file = "regex-2025.9.18-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:a78722c86a3e7e6aadf9579e3b0ad78d955f2d1f1a8ca4f67d7ca258e8719d4b"}, - {file = "regex-2025.9.18-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:06104cd203cdef3ade989a1c45b6215bf42f8b9dd705ecc220c173233f7cba41"}, - {file = "regex-2025.9.18-cp314-cp314t-win32.whl", hash = "sha256:2e1eddc06eeaffd249c0adb6fafc19e2118e6308c60df9db27919e96b5656096"}, - {file = "regex-2025.9.18-cp314-cp314t-win_amd64.whl", hash = "sha256:8620d247fb8c0683ade51217b459cb4a1081c0405a3072235ba43a40d355c09a"}, - {file = "regex-2025.9.18-cp314-cp314t-win_arm64.whl", hash = "sha256:b7531a8ef61de2c647cdf68b3229b071e46ec326b3138b2180acb4275f470b01"}, - {file = "regex-2025.9.18-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3dbcfcaa18e9480669030d07371713c10b4f1a41f791ffa5cb1a99f24e777f40"}, - {file = "regex-2025.9.18-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1e85f73ef7095f0380208269055ae20524bfde3f27c5384126ddccf20382a638"}, - {file = "regex-2025.9.18-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9098e29b3ea4ffffeade423f6779665e2a4f8db64e699c0ed737ef0db6ba7b12"}, - {file = "regex-2025.9.18-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90b6b7a2d0f45b7ecaaee1aec6b362184d6596ba2092dd583ffba1b78dd0231c"}, - {file = "regex-2025.9.18-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c81b892af4a38286101502eae7aec69f7cd749a893d9987a92776954f3943408"}, - {file = "regex-2025.9.18-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3b524d010973f2e1929aeb635418d468d869a5f77b52084d9f74c272189c251d"}, - {file = "regex-2025.9.18-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b498437c026a3d5d0be0020023ff76d70ae4d77118e92f6f26c9d0423452446"}, - {file = "regex-2025.9.18-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0716e4d6e58853d83f6563f3cf25c281ff46cf7107e5f11879e32cb0b59797d9"}, - {file = "regex-2025.9.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:065b6956749379d41db2625f880b637d4acc14c0a4de0d25d609a62850e96d36"}, - {file = "regex-2025.9.18-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d4a691494439287c08ddb9b5793da605ee80299dd31e95fa3f323fac3c33d9d4"}, - {file = "regex-2025.9.18-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ef8d10cc0989565bcbe45fb4439f044594d5c2b8919d3d229ea2c4238f1d55b0"}, - {file = "regex-2025.9.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4baeb1b16735ac969a7eeecc216f1f8b7caf60431f38a2671ae601f716a32d25"}, - {file = "regex-2025.9.18-cp39-cp39-win32.whl", hash = "sha256:8e5f41ad24a1e0b5dfcf4c4e5d9f5bd54c895feb5708dd0c1d0d35693b24d478"}, - {file = "regex-2025.9.18-cp39-cp39-win_amd64.whl", hash = "sha256:50e8290707f2fb8e314ab3831e594da71e062f1d623b05266f8cfe4db4949afd"}, - {file = "regex-2025.9.18-cp39-cp39-win_arm64.whl", hash = "sha256:039a9d7195fd88c943d7c777d4941e8ef736731947becce773c31a1009cb3c35"}, - {file = "regex-2025.9.18.tar.gz", hash = "sha256:c5ba23274c61c6fef447ba6a39333297d0c247f53059dba0bca415cac511edc4"}, + {file = "regex-2025.10.23-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:17bbcde374bef1c5fad9b131f0e28a6a24856dd90368d8c0201e2b5a69533daa"}, + {file = "regex-2025.10.23-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b4e10434279cc8567f99ca6e018e9025d14f2fded2a603380b6be2090f476426"}, + {file = "regex-2025.10.23-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9c9bb421cbe7012c744a5a56cf4d6c80829c72edb1a2991677299c988d6339c8"}, + {file = "regex-2025.10.23-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:275cd1c2ed8c4a78ebfa489618d7aee762e8b4732da73573c3e38236ec5f65de"}, + {file = "regex-2025.10.23-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7b426ae7952f3dc1e73a86056d520bd4e5f021397484a6835902fc5648bcacce"}, + {file = "regex-2025.10.23-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c5cdaf5b6d37c7da1967dbe729d819461aab6a98a072feef65bbcff0a6e60649"}, + {file = "regex-2025.10.23-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3bfeff0b08f296ab28b4332a7e03ca31c437ee78b541ebc874bbf540e5932f8d"}, + {file = "regex-2025.10.23-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5f97236a67307b775f30a74ef722b64b38b7ab7ba3bb4a2508518a5de545459c"}, + {file = "regex-2025.10.23-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:be19e7de499940cd72475fb8e46ab2ecb1cf5906bebdd18a89f9329afb1df82f"}, + {file = "regex-2025.10.23-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:883df76ee42d9ecb82b37ff8d01caea5895b3f49630a64d21111078bbf8ef64c"}, + {file = "regex-2025.10.23-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2e9117d1d35fc2addae6281019ecc70dc21c30014b0004f657558b91c6a8f1a7"}, + {file = "regex-2025.10.23-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0ff1307f531a5d8cf5c20ea517254551ff0a8dc722193aab66c656c5a900ea68"}, + {file = "regex-2025.10.23-cp310-cp310-win32.whl", hash = "sha256:7888475787cbfee4a7cd32998eeffe9a28129fa44ae0f691b96cb3939183ef41"}, + {file = "regex-2025.10.23-cp310-cp310-win_amd64.whl", hash = "sha256:ec41a905908496ce4906dab20fb103c814558db1d69afc12c2f384549c17936a"}, + {file = "regex-2025.10.23-cp310-cp310-win_arm64.whl", hash = "sha256:b2b7f19a764d5e966d5a62bf2c28a8b4093cc864c6734510bdb4aeb840aec5e6"}, + {file = "regex-2025.10.23-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6c531155bf9179345e85032052a1e5fe1a696a6abf9cea54b97e8baefff970fd"}, + {file = "regex-2025.10.23-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:912e9df4e89d383681268d38ad8f5780d7cccd94ba0e9aa09ca7ab7ab4f8e7eb"}, + {file = "regex-2025.10.23-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4f375c61bfc3138b13e762fe0ae76e3bdca92497816936534a0177201666f44f"}, + {file = "regex-2025.10.23-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e248cc9446081119128ed002a3801f8031e0c219b5d3c64d3cc627da29ac0a33"}, + {file = "regex-2025.10.23-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b52bf9282fdf401e4f4e721f0f61fc4b159b1307244517789702407dd74e38ca"}, + {file = "regex-2025.10.23-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c084889ab2c59765a0d5ac602fd1c3c244f9b3fcc9a65fdc7ba6b74c5287490"}, + {file = "regex-2025.10.23-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d80e8eb79009bdb0936658c44ca06e2fbbca67792013e3818eea3f5f228971c2"}, + {file = "regex-2025.10.23-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6f259118ba87b814a8ec475380aee5f5ae97a75852a3507cf31d055b01b5b40"}, + {file = "regex-2025.10.23-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:9b8c72a242683dcc72d37595c4f1278dfd7642b769e46700a8df11eab19dfd82"}, + {file = "regex-2025.10.23-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a8d7b7a0a3df9952f9965342159e0c1f05384c0f056a47ce8b61034f8cecbe83"}, + {file = "regex-2025.10.23-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:413bfea20a484c524858125e92b9ce6ffdd0a4b97d4ff96b5859aa119b0f1bdd"}, + {file = "regex-2025.10.23-cp311-cp311-win32.whl", hash = "sha256:f76deef1f1019a17dad98f408b8f7afc4bd007cbe835ae77b737e8c7f19ae575"}, + {file = "regex-2025.10.23-cp311-cp311-win_amd64.whl", hash = "sha256:59bba9f7125536f23fdab5deeea08da0c287a64c1d3acc1c7e99515809824de8"}, + {file = "regex-2025.10.23-cp311-cp311-win_arm64.whl", hash = "sha256:b103a752b6f1632ca420225718d6ed83f6a6ced3016dd0a4ab9a6825312de566"}, + {file = "regex-2025.10.23-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7a44d9c00f7a0a02d3b777429281376370f3d13d2c75ae74eb94e11ebcf4a7fc"}, + {file = "regex-2025.10.23-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b83601f84fde939ae3478bb32a3aef36f61b58c3208d825c7e8ce1a735f143f2"}, + {file = "regex-2025.10.23-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ec13647907bb9d15fd192bbfe89ff06612e098a5709e7d6ecabbdd8f7908fc45"}, + {file = "regex-2025.10.23-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78d76dd2957d62501084e7012ddafc5fcd406dd982b7a9ca1ea76e8eaaf73e7e"}, + {file = "regex-2025.10.23-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8668e5f067e31a47699ebb354f43aeb9c0ef136f915bd864243098524482ac43"}, + {file = "regex-2025.10.23-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a32433fe3deb4b2d8eda88790d2808fed0dc097e84f5e683b4cd4f42edef6cca"}, + {file = "regex-2025.10.23-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d97d73818c642c938db14c0668167f8d39520ca9d983604575ade3fda193afcc"}, + {file = "regex-2025.10.23-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bca7feecc72ee33579e9f6ddf8babbe473045717a0e7dbc347099530f96e8b9a"}, + {file = "regex-2025.10.23-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7e24af51e907d7457cc4a72691ec458320b9ae67dc492f63209f01eecb09de32"}, + {file = "regex-2025.10.23-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d10bcde58bbdf18146f3a69ec46dd03233b94a4a5632af97aa5378da3a47d288"}, + {file = "regex-2025.10.23-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:44383bc0c933388516c2692c9a7503e1f4a67e982f20b9a29d2fb70c6494f147"}, + {file = "regex-2025.10.23-cp312-cp312-win32.whl", hash = "sha256:6040a86f95438a0114bba16e51dfe27f1bc004fd29fe725f54a586f6d522b079"}, + {file = "regex-2025.10.23-cp312-cp312-win_amd64.whl", hash = "sha256:436b4c4352fe0762e3bfa34a5567079baa2ef22aa9c37cf4d128979ccfcad842"}, + {file = "regex-2025.10.23-cp312-cp312-win_arm64.whl", hash = "sha256:f4b1b1991617055b46aff6f6db24888c1f05f4db9801349d23f09ed0714a9335"}, + {file = "regex-2025.10.23-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b7690f95404a1293923a296981fd943cca12c31a41af9c21ba3edd06398fc193"}, + {file = "regex-2025.10.23-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1a32d77aeaea58a13230100dd8797ac1a84c457f3af2fdf0d81ea689d5a9105b"}, + {file = "regex-2025.10.23-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b24b29402f264f70a3c81f45974323b41764ff7159655360543b7cabb73e7d2f"}, + {file = "regex-2025.10.23-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:563824a08c7c03d96856d84b46fdb3bbb7cfbdf79da7ef68725cda2ce169c72a"}, + {file = "regex-2025.10.23-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0ec8bdd88d2e2659c3518087ee34b37e20bd169419ffead4240a7004e8ed03b"}, + {file = "regex-2025.10.23-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b577601bfe1d33913fcd9276d7607bbac827c4798d9e14d04bf37d417a6c41cb"}, + {file = "regex-2025.10.23-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c9f2c68ac6cb3de94eea08a437a75eaa2bd33f9e97c84836ca0b610a5804368"}, + {file = "regex-2025.10.23-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:89f8b9ea3830c79468e26b0e21c3585f69f105157c2154a36f6b7839f8afb351"}, + {file = "regex-2025.10.23-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:98fd84c4e4ea185b3bb5bf065261ab45867d8875032f358a435647285c722673"}, + {file = "regex-2025.10.23-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1e11d3e5887b8b096f96b4154dfb902f29c723a9556639586cd140e77e28b313"}, + {file = "regex-2025.10.23-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f13450328a6634348d47a88367e06b64c9d84980ef6a748f717b13f8ce64e87"}, + {file = "regex-2025.10.23-cp313-cp313-win32.whl", hash = "sha256:37be9296598a30c6a20236248cb8b2c07ffd54d095b75d3a2a2ee5babdc51df1"}, + {file = "regex-2025.10.23-cp313-cp313-win_amd64.whl", hash = "sha256:ea7a3c283ce0f06fe789365841e9174ba05f8db16e2fd6ae00a02df9572c04c0"}, + {file = "regex-2025.10.23-cp313-cp313-win_arm64.whl", hash = "sha256:d9a4953575f300a7bab71afa4cd4ac061c7697c89590a2902b536783eeb49a4f"}, + {file = "regex-2025.10.23-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:7d6606524fa77b3912c9ef52a42ef63c6cfbfc1077e9dc6296cd5da0da286044"}, + {file = "regex-2025.10.23-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c037aadf4d64bdc38af7db3dbd34877a057ce6524eefcb2914d6d41c56f968cc"}, + {file = "regex-2025.10.23-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:99018c331fb2529084a0c9b4c713dfa49fafb47c7712422e49467c13a636c656"}, + {file = "regex-2025.10.23-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fd8aba965604d70306eb90a35528f776e59112a7114a5162824d43b76fa27f58"}, + {file = "regex-2025.10.23-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:238e67264b4013e74136c49f883734f68656adf8257bfa13b515626b31b20f8e"}, + {file = "regex-2025.10.23-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b2eb48bd9848d66fd04826382f5e8491ae633de3233a3d64d58ceb4ecfa2113a"}, + {file = "regex-2025.10.23-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d36591ce06d047d0c0fe2fc5f14bfbd5b4525d08a7b6a279379085e13f0e3d0e"}, + {file = "regex-2025.10.23-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b5d4ece8628d6e364302006366cea3ee887db397faebacc5dacf8ef19e064cf8"}, + {file = "regex-2025.10.23-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:39a7e8083959cb1c4ff74e483eecb5a65d3b3e1d821b256e54baf61782c906c6"}, + {file = "regex-2025.10.23-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:842d449a8fefe546f311656cf8c0d6729b08c09a185f1cad94c756210286d6a8"}, + {file = "regex-2025.10.23-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d614986dc68506be8f00474f4f6960e03e4ca9883f7df47744800e7d7c08a494"}, + {file = "regex-2025.10.23-cp313-cp313t-win32.whl", hash = "sha256:a5b7a26b51a9df473ec16a1934d117443a775ceb7b39b78670b2e21893c330c9"}, + {file = "regex-2025.10.23-cp313-cp313t-win_amd64.whl", hash = "sha256:ce81c5544a5453f61cb6f548ed358cfb111e3b23f3cd42d250a4077a6be2a7b6"}, + {file = "regex-2025.10.23-cp313-cp313t-win_arm64.whl", hash = "sha256:e9bf7f6699f490e4e43c44757aa179dab24d1960999c84ab5c3d5377714ed473"}, + {file = "regex-2025.10.23-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:5b5cb5b6344c4c4c24b2dc87b0bfee78202b07ef7633385df70da7fcf6f7cec6"}, + {file = "regex-2025.10.23-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:a6ce7973384c37bdf0f371a843f95a6e6f4e1489e10e0cf57330198df72959c5"}, + {file = "regex-2025.10.23-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2ee3663f2c334959016b56e3bd0dd187cbc73f948e3a3af14c3caaa0c3035d10"}, + {file = "regex-2025.10.23-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2003cc82a579107e70d013482acce8ba773293f2db534fb532738395c557ff34"}, + {file = "regex-2025.10.23-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:182c452279365a93a9f45874f7f191ec1c51e1f1eb41bf2b16563f1a40c1da3a"}, + {file = "regex-2025.10.23-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b1249e9ff581c5b658c8f0437f883b01f1edcf424a16388591e7c05e5e9e8b0c"}, + {file = "regex-2025.10.23-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b841698f93db3ccc36caa1900d2a3be281d9539b822dc012f08fc80b46a3224"}, + {file = "regex-2025.10.23-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:956d89e0c92d471e8f7eee73f73fdff5ed345886378c45a43175a77538a1ffe4"}, + {file = "regex-2025.10.23-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5c259cb363299a0d90d63b5c0d7568ee98419861618a95ee9d91a41cb9954462"}, + {file = "regex-2025.10.23-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:185d2b18c062820b3a40d8fefa223a83f10b20a674bf6e8c4a432e8dfd844627"}, + {file = "regex-2025.10.23-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:281d87fa790049c2b7c1b4253121edd80b392b19b5a3d28dc2a77579cb2a58ec"}, + {file = "regex-2025.10.23-cp314-cp314-win32.whl", hash = "sha256:63b81eef3656072e4ca87c58084c7a9c2b81d41a300b157be635a8a675aacfb8"}, + {file = "regex-2025.10.23-cp314-cp314-win_amd64.whl", hash = "sha256:0967c5b86f274800a34a4ed862dfab56928144d03cb18821c5153f8777947796"}, + {file = "regex-2025.10.23-cp314-cp314-win_arm64.whl", hash = "sha256:c70dfe58b0a00b36aa04cdb0f798bf3e0adc31747641f69e191109fd8572c9a9"}, + {file = "regex-2025.10.23-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:1f5799ea1787aa6de6c150377d11afad39a38afd033f0c5247aecb997978c422"}, + {file = "regex-2025.10.23-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a9639ab7540cfea45ef57d16dcbea2e22de351998d614c3ad2f9778fa3bdd788"}, + {file = "regex-2025.10.23-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:08f52122c352eb44c3421dab78b9b73a8a77a282cc8314ae576fcaa92b780d10"}, + {file = "regex-2025.10.23-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ebf1baebef1c4088ad5a5623decec6b52950f0e4d7a0ae4d48f0a99f8c9cb7d7"}, + {file = "regex-2025.10.23-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:16b0f1c2e2d566c562d5c384c2b492646be0a19798532fdc1fdedacc66e3223f"}, + {file = "regex-2025.10.23-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7ada5d9dceafaab92646aa00c10a9efd9b09942dd9b0d7c5a4b73db92cc7e61"}, + {file = "regex-2025.10.23-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a36b4005770044bf08edecc798f0e41a75795b9e7c9c12fe29da8d792ef870c"}, + {file = "regex-2025.10.23-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:af7b2661dcc032da1fae82069b5ebf2ac1dfcd5359ef8b35e1367bfc92181432"}, + {file = "regex-2025.10.23-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:1cb976810ac1416a67562c2e5ba0accf6f928932320fef302e08100ed681b38e"}, + {file = "regex-2025.10.23-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:1a56a54be3897d62f54290190fbcd754bff6932934529fbf5b29933da28fcd43"}, + {file = "regex-2025.10.23-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8f3e6d202fb52c2153f532043bbcf618fd177df47b0b306741eb9b60ba96edc3"}, + {file = "regex-2025.10.23-cp314-cp314t-win32.whl", hash = "sha256:1fa1186966b2621b1769fd467c7b22e317e6ba2d2cdcecc42ea3089ef04a8521"}, + {file = "regex-2025.10.23-cp314-cp314t-win_amd64.whl", hash = "sha256:08a15d40ce28362eac3e78e83d75475147869c1ff86bc93285f43b4f4431a741"}, + {file = "regex-2025.10.23-cp314-cp314t-win_arm64.whl", hash = "sha256:a93e97338e1c8ea2649e130dcfbe8cd69bba5e1e163834752ab64dcb4de6d5ed"}, + {file = "regex-2025.10.23-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8d286760ee5b77fd21cf6b33cc45e0bffd1deeda59ca65b9be996f590a9828a"}, + {file = "regex-2025.10.23-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e72e3b84b170fec02193d32620a0a7060a22e52c46e45957dcd14742e0d28fb"}, + {file = "regex-2025.10.23-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ec506e8114fa12d21616deb44800f536d6bf2e1a69253dbf611f69af92395c99"}, + {file = "regex-2025.10.23-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d7e481f9710e8e24228ce2c77b41db7662a3f68853395da86a292b49dadca2aa"}, + {file = "regex-2025.10.23-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4663ff2fc367735ae7b90b4f0e05b25554446df4addafc76fdaacaaa0ba852b5"}, + {file = "regex-2025.10.23-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0879dd3251a42d2e9b938e1e03b1e9f60de90b4d153015193f5077a376a18439"}, + {file = "regex-2025.10.23-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:651c58aecbab7e97bdf8ec76298a28d2bf2b6238c099ec6bf32e6d41e2f9a9cb"}, + {file = "regex-2025.10.23-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ceabc62a0e879169cd1bf066063bd6991c3e41e437628936a2ce66e0e2071c32"}, + {file = "regex-2025.10.23-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bfdf4e9aa3e7b7d02fda97509b4ceeed34542361694ecc0a81db1688373ecfbd"}, + {file = "regex-2025.10.23-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:92f565ff9beb9f51bc7cc8c578a7e92eb5c4576b69043a4c58cd05d73fda83c5"}, + {file = "regex-2025.10.23-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:abbea548b1076eaf8635caf1071c9d86efdf0fa74abe71fca26c05a2d64cda80"}, + {file = "regex-2025.10.23-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:33535dcf34f47821381e341f7b715cbd027deda4223af4d3932adcd371d3192a"}, + {file = "regex-2025.10.23-cp39-cp39-win32.whl", hash = "sha256:345c9df49a15bf6460534b104b336581bc5f35c286cac526416e7a63d389b09b"}, + {file = "regex-2025.10.23-cp39-cp39-win_amd64.whl", hash = "sha256:f668fe1fd3358c5423355a289a4a003e58005ce829d217b828f80bd605a90145"}, + {file = "regex-2025.10.23-cp39-cp39-win_arm64.whl", hash = "sha256:07a3fd25d9074923e4d7258b551ae35ab6bdfe01904b8f0d5341c7d8b20eb18d"}, + {file = "regex-2025.10.23.tar.gz", hash = "sha256:8cbaf8ceb88f96ae2356d01b9adf5e6306fa42fa6f7eab6b97794e37c959ac26"}, ] [[package]] @@ -2102,13 +2102,13 @@ files = [ [[package]] name = "smart-open" -version = "7.3.1" +version = "7.4.1" description = "Utils for streaming large files (S3, HDFS, GCS, SFTP, Azure Blob Storage, gzip, bz2, zst...)" optional = false -python-versions = "<4.0,>=3.8" +python-versions = "<4.0,>=3.9" files = [ - {file = "smart_open-7.3.1-py3-none-any.whl", hash = "sha256:e243b2e7f69d6c0c96dd763d6fbbedbb4e0e4fc6d74aa007acc5b018d523858c"}, - {file = "smart_open-7.3.1.tar.gz", hash = "sha256:b33fee8dffd206f189d5e704106a8723afb4210d2ff47e0e1f7fbe436187a990"}, + {file = "smart_open-7.4.1-py3-none-any.whl", hash = "sha256:f52cb9bc897c7676dfc6996735332bd2465dfb048c73bfa9dfcdc829f48018cc"}, + {file = "smart_open-7.4.1.tar.gz", hash = "sha256:5c20f09026875e6dec708e9610e0cd13d24d91f0a2c12e6511b9e478a566b4a0"}, ] [package.dependencies] @@ -2120,11 +2120,11 @@ all = ["smart_open[azure,gcs,http,s3,ssh,webhdfs,zst]"] azure = ["azure-common", "azure-core", "azure-storage-blob"] gcs = ["google-cloud-storage (>=2.6.0)"] http = ["requests"] -s3 = ["boto3"] +s3 = ["boto3 (>=1.9.17)"] ssh = ["paramiko"] -test = ["awscli", "moto[server]", "numpy", "pyopenssl", "pytest", "pytest-rerunfailures", "pytest_benchmark", "responses", "smart_open[all]"] +test = ["awscli", "flake8", "moto[server]", "numpy", "pyopenssl", "pytest", "pytest-rerunfailures", "pytest-timeout", "pytest-xdist[psutil]", "pytest_benchmark", "responses", "smart_open[all]"] webhdfs = ["requests"] -zst = ["zstandard"] +zst = ["backports.zstd (>=1.0.0)"] [[package]] name = "sniffio" @@ -2379,94 +2379,123 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wrapt" -version = "1.17.3" +version = "2.0.0" description = "Module for decorators, wrappers and monkey patching." optional = false python-versions = ">=3.8" files = [ - {file = "wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04"}, - {file = "wrapt-1.17.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2"}, - {file = "wrapt-1.17.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd341868a4b6714a5962c1af0bd44f7c404ef78720c7de4892901e540417111c"}, - {file = "wrapt-1.17.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f9b2601381be482f70e5d1051a5965c25fb3625455a2bf520b5a077b22afb775"}, - {file = "wrapt-1.17.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:343e44b2a8e60e06a7e0d29c1671a0d9951f59174f3709962b5143f60a2a98bd"}, - {file = "wrapt-1.17.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:33486899acd2d7d3066156b03465b949da3fd41a5da6e394ec49d271baefcf05"}, - {file = "wrapt-1.17.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e6f40a8aa5a92f150bdb3e1c44b7e98fb7113955b2e5394122fa5532fec4b418"}, - {file = "wrapt-1.17.3-cp310-cp310-win32.whl", hash = "sha256:a36692b8491d30a8c75f1dfee65bef119d6f39ea84ee04d9f9311f83c5ad9390"}, - {file = "wrapt-1.17.3-cp310-cp310-win_amd64.whl", hash = "sha256:afd964fd43b10c12213574db492cb8f73b2f0826c8df07a68288f8f19af2ebe6"}, - {file = "wrapt-1.17.3-cp310-cp310-win_arm64.whl", hash = "sha256:af338aa93554be859173c39c85243970dc6a289fa907402289eeae7543e1ae18"}, - {file = "wrapt-1.17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:273a736c4645e63ac582c60a56b0acb529ef07f78e08dc6bfadf6a46b19c0da7"}, - {file = "wrapt-1.17.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5531d911795e3f935a9c23eb1c8c03c211661a5060aab167065896bbf62a5f85"}, - {file = "wrapt-1.17.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0610b46293c59a3adbae3dee552b648b984176f8562ee0dba099a56cfbe4df1f"}, - {file = "wrapt-1.17.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b32888aad8b6e68f83a8fdccbf3165f5469702a7544472bdf41f582970ed3311"}, - {file = "wrapt-1.17.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cccf4f81371f257440c88faed6b74f1053eef90807b77e31ca057b2db74edb1"}, - {file = "wrapt-1.17.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8a210b158a34164de8bb68b0e7780041a903d7b00c87e906fb69928bf7890d5"}, - {file = "wrapt-1.17.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:79573c24a46ce11aab457b472efd8d125e5a51da2d1d24387666cd85f54c05b2"}, - {file = "wrapt-1.17.3-cp311-cp311-win32.whl", hash = "sha256:c31eebe420a9a5d2887b13000b043ff6ca27c452a9a22fa71f35f118e8d4bf89"}, - {file = "wrapt-1.17.3-cp311-cp311-win_amd64.whl", hash = "sha256:0b1831115c97f0663cb77aa27d381237e73ad4f721391a9bfb2fe8bc25fa6e77"}, - {file = "wrapt-1.17.3-cp311-cp311-win_arm64.whl", hash = "sha256:5a7b3c1ee8265eb4c8f1b7d29943f195c00673f5ab60c192eba2d4a7eae5f46a"}, - {file = "wrapt-1.17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0"}, - {file = "wrapt-1.17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba"}, - {file = "wrapt-1.17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd"}, - {file = "wrapt-1.17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828"}, - {file = "wrapt-1.17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9"}, - {file = "wrapt-1.17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396"}, - {file = "wrapt-1.17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc"}, - {file = "wrapt-1.17.3-cp312-cp312-win32.whl", hash = "sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe"}, - {file = "wrapt-1.17.3-cp312-cp312-win_amd64.whl", hash = "sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c"}, - {file = "wrapt-1.17.3-cp312-cp312-win_arm64.whl", hash = "sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6"}, - {file = "wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0"}, - {file = "wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77"}, - {file = "wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7"}, - {file = "wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277"}, - {file = "wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d"}, - {file = "wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa"}, - {file = "wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050"}, - {file = "wrapt-1.17.3-cp313-cp313-win32.whl", hash = "sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8"}, - {file = "wrapt-1.17.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb"}, - {file = "wrapt-1.17.3-cp313-cp313-win_arm64.whl", hash = "sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16"}, - {file = "wrapt-1.17.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39"}, - {file = "wrapt-1.17.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235"}, - {file = "wrapt-1.17.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c"}, - {file = "wrapt-1.17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b"}, - {file = "wrapt-1.17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa"}, - {file = "wrapt-1.17.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7"}, - {file = "wrapt-1.17.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4"}, - {file = "wrapt-1.17.3-cp314-cp314-win32.whl", hash = "sha256:fbd3c8319de8e1dc79d346929cd71d523622da527cca14e0c1d257e31c2b8b10"}, - {file = "wrapt-1.17.3-cp314-cp314-win_amd64.whl", hash = "sha256:e1a4120ae5705f673727d3253de3ed0e016f7cd78dc463db1b31e2463e1f3cf6"}, - {file = "wrapt-1.17.3-cp314-cp314-win_arm64.whl", hash = "sha256:507553480670cab08a800b9463bdb881b2edeed77dc677b0a5915e6106e91a58"}, - {file = "wrapt-1.17.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a"}, - {file = "wrapt-1.17.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067"}, - {file = "wrapt-1.17.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454"}, - {file = "wrapt-1.17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e"}, - {file = "wrapt-1.17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f"}, - {file = "wrapt-1.17.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056"}, - {file = "wrapt-1.17.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804"}, - {file = "wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977"}, - {file = "wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116"}, - {file = "wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6"}, - {file = "wrapt-1.17.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:70d86fa5197b8947a2fa70260b48e400bf2ccacdcab97bb7de47e3d1e6312225"}, - {file = "wrapt-1.17.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:df7d30371a2accfe4013e90445f6388c570f103d61019b6b7c57e0265250072a"}, - {file = "wrapt-1.17.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:caea3e9c79d5f0d2c6d9ab96111601797ea5da8e6d0723f77eabb0d4068d2b2f"}, - {file = "wrapt-1.17.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:758895b01d546812d1f42204bd443b8c433c44d090248bf22689df673ccafe00"}, - {file = "wrapt-1.17.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02b551d101f31694fc785e58e0720ef7d9a10c4e62c1c9358ce6f63f23e30a56"}, - {file = "wrapt-1.17.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:656873859b3b50eeebe6db8b1455e99d90c26ab058db8e427046dbc35c3140a5"}, - {file = "wrapt-1.17.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a9a2203361a6e6404f80b99234fe7fb37d1fc73487b5a78dc1aa5b97201e0f22"}, - {file = "wrapt-1.17.3-cp38-cp38-win32.whl", hash = "sha256:55cbbc356c2842f39bcc553cf695932e8b30e30e797f961860afb308e6b1bb7c"}, - {file = "wrapt-1.17.3-cp38-cp38-win_amd64.whl", hash = "sha256:ad85e269fe54d506b240d2d7b9f5f2057c2aa9a2ea5b32c66f8902f768117ed2"}, - {file = "wrapt-1.17.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:30ce38e66630599e1193798285706903110d4f057aab3168a34b7fdc85569afc"}, - {file = "wrapt-1.17.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:65d1d00fbfb3ea5f20add88bbc0f815150dbbde3b026e6c24759466c8b5a9ef9"}, - {file = "wrapt-1.17.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7c06742645f914f26c7f1fa47b8bc4c91d222f76ee20116c43d5ef0912bba2d"}, - {file = "wrapt-1.17.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7e18f01b0c3e4a07fe6dfdb00e29049ba17eadbc5e7609a2a3a4af83ab7d710a"}, - {file = "wrapt-1.17.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f5f51a6466667a5a356e6381d362d259125b57f059103dd9fdc8c0cf1d14139"}, - {file = "wrapt-1.17.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:59923aa12d0157f6b82d686c3fd8e1166fa8cdfb3e17b42ce3b6147ff81528df"}, - {file = "wrapt-1.17.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:46acc57b331e0b3bcb3e1ca3b421d65637915cfcd65eb783cb2f78a511193f9b"}, - {file = "wrapt-1.17.3-cp39-cp39-win32.whl", hash = "sha256:3e62d15d3cfa26e3d0788094de7b64efa75f3a53875cdbccdf78547aed547a81"}, - {file = "wrapt-1.17.3-cp39-cp39-win_amd64.whl", hash = "sha256:1f23fa283f51c890eda8e34e4937079114c74b4c81d2b2f1f1d94948f5cc3d7f"}, - {file = "wrapt-1.17.3-cp39-cp39-win_arm64.whl", hash = "sha256:24c2ed34dc222ed754247a2702b1e1e89fdbaa4016f324b4b8f1a802d4ffe87f"}, - {file = "wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22"}, - {file = "wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0"}, + {file = "wrapt-2.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a7cebcee61f21b1e46aa32db8d9d93826d0fbf1ad85defc2ccfb93b4adef1435"}, + {file = "wrapt-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:827e6e3a3a560f6ec1f5ee92d4319c21a0549384f896ec692f3201eda31ebd11"}, + {file = "wrapt-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a91075a5383a7cbfe46aed1845ef7c3f027e8e20e7d9a8a75e36ebc9b0dd15e"}, + {file = "wrapt-2.0.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b6a18c813196e18146b8d041e20875bdb0cb09b94ac1d1e1146e0fa87b2deb0d"}, + {file = "wrapt-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec5028d26011a53c76bd91bb6198b30b438c6e0f7adb45f2ad84fe2655b6a104"}, + {file = "wrapt-2.0.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bed9b04900204721a24bcefc652ca267b01c1e8ad8bc8c0cff81558a45a3aadc"}, + {file = "wrapt-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03442f2b45fa3f2b98a94a1917f52fb34670de8f96c0a009c02dbd512d855a3d"}, + {file = "wrapt-2.0.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:17d0b5c42495ba142a1cee52b76414f9210591c84aae94dffda70240753bfb3c"}, + {file = "wrapt-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ee44215e7d13e112a8fc74e12ed1a1f41cab2bc07b11cc703f2398cd114b261c"}, + {file = "wrapt-2.0.0-cp310-cp310-win32.whl", hash = "sha256:fe6eafac3bc3c957ab6597a0c0654a0a308868458d00d218743e5b5fae51951c"}, + {file = "wrapt-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:9e070c3491397fba0445b8977900271eca9656570cca7c900d9b9352186703a0"}, + {file = "wrapt-2.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:806e2e73186eb5e3546f39fb5d0405040e0088db0fc8b2f667fd1863de2b3c99"}, + {file = "wrapt-2.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b7e221abb6c5387819db9323dac3c875b459695057449634f1111955d753c621"}, + {file = "wrapt-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1147a84c8fc852426580af8b6e33138461ddbc65aa459a25ea539374d32069fa"}, + {file = "wrapt-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5d6691d4a711504a0bc10de789842ad6ac627bed22937b10f37a1211a8ab7bb3"}, + {file = "wrapt-2.0.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f460e1eb8e75a17c3918c8e35ba57625721eef2439ef0bcf05304ac278a65e1d"}, + {file = "wrapt-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:12c37784b77bf043bf65cc96c7195a5db474b8e54173208af076bdbb61df7b3e"}, + {file = "wrapt-2.0.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:75e5c049eb583835f7a0e0e311d9dde9bfbaac723a6dd89d052540f9b2809977"}, + {file = "wrapt-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e50bcbd5b65dac21b82319fcf18486e6ac439947e9305034b00704eb7405f553"}, + {file = "wrapt-2.0.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:06b78cb6b9320f57737a52fede882640d93cface98332d1a3df0c5696ec9ae9f"}, + {file = "wrapt-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8c8349ebfc3cd98bc9105e0112dd8c8ac1f3c7cb5601f9d02248cae83a63f748"}, + {file = "wrapt-2.0.0-cp311-cp311-win32.whl", hash = "sha256:028f19ec29e204fe725139d4a8b09f77ecfb64f8f02b7ab5ee822c85e330b68b"}, + {file = "wrapt-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:c6961f05e58d919153ba311b397b7b904b907132b7b8344dde47865d4bb5ec89"}, + {file = "wrapt-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:be7e316c2accd5a31dbcc230de19e2a846a325f8967fdea72704d00e38e6af06"}, + {file = "wrapt-2.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73c6f734aecb1a030d9a265c13a425897e1ea821b73249bb14471445467ca71c"}, + {file = "wrapt-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b4a7f8023b8ce8a36370154733c747f8d65c8697cb977d8b6efeb89291fff23e"}, + {file = "wrapt-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a1cb62f686c50e9dab5983c68f6c8e9cbf14a6007935e683662898a7d892fa69"}, + {file = "wrapt-2.0.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:43dc0550ae15e33e6bb45a82a5e1b5495be2587fbaa996244b509921810ee49f"}, + {file = "wrapt-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39c5b45b056d630545e40674d1f5e1b51864b3546f25ab6a4a331943de96262e"}, + {file = "wrapt-2.0.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:804e88f824b76240a1b670330637ccfd2d18b9efa3bb4f02eb20b2f64880b324"}, + {file = "wrapt-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c2c476aa3fc2b9899c3f7b20963fac4f952e7edb74a31fc92f7745389a2e3618"}, + {file = "wrapt-2.0.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8d851e526891216f89fcb7a1820dad9bd503ba3468fb9635ee28e93c781aa98e"}, + {file = "wrapt-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b95733c2360c4a8656ee93c7af78e84c0bd617da04a236d7a456c8faa34e7a2d"}, + {file = "wrapt-2.0.0-cp312-cp312-win32.whl", hash = "sha256:ea56817176834edf143df1109ae8fdaa087be82fdad3492648de0baa8ae82bf2"}, + {file = "wrapt-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c7d3bee7be7a2665286103f4d1f15405c8074e6e1f89dac5774f9357c9a3809"}, + {file = "wrapt-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:680f707e1d26acbc60926659799b15659f077df5897a6791c7c598a5d4a211c4"}, + {file = "wrapt-2.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e2ea096db28d5eb64d381af0e93464621ace38a7003a364b6b5ffb7dd713aabe"}, + {file = "wrapt-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c92b5a82d28491e3f14f037e1aae99a27a5e6e0bb161e65f52c0445a3fa7c940"}, + {file = "wrapt-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:81d234718aabe632d179fac52c7f69f0f99fbaac4d4bcd670e62462bbcbfcad7"}, + {file = "wrapt-2.0.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:db2eea83c43f84e4e41dbbb4c1de371a53166e55f900a6b130c3ef51c6345c1a"}, + {file = "wrapt-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:65f50e356c425c061e1e17fe687ff30e294fed9bf3441dc1f13ef73859c2a817"}, + {file = "wrapt-2.0.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:887f2a667e3cbfb19e204032d42ad7dedaa43972e4861dc7a3d51ae951d9b578"}, + {file = "wrapt-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9054829da4be461e3ad3192e4b6bbf1fc18af64c9975ce613aec191924e004dc"}, + {file = "wrapt-2.0.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b952ffd77133a5a2798ee3feb18e51b0a299d2f440961e5bb7737dbb02e57289"}, + {file = "wrapt-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e25fde03c480061b8234d8ee4863eb5f40a9be4fb258ce105b364de38fc6bcf9"}, + {file = "wrapt-2.0.0-cp313-cp313-win32.whl", hash = "sha256:49e982b7860d325094978292a49e0418833fc7fc42c0dc7cd0b7524d7d06ee74"}, + {file = "wrapt-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:6e5c86389d9964050ce50babe247d172a5e3911d59a64023b90db2b4fa00ae7c"}, + {file = "wrapt-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:b96fdaa4611e05c7231937930567d3c16782be9dbcf03eb9f60d83e57dd2f129"}, + {file = "wrapt-2.0.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f2c7b7fead096dbf1dcc455b7f59facb05de3f5bfb04f60a69f98cdfe6049e5f"}, + {file = "wrapt-2.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:04c7c8393f25b11c0faa5d907dd9eb462e87e4e7ba55e308a046d7ed37f4bbe2"}, + {file = "wrapt-2.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a93e0f8b376c0735b2f4daf58018b4823614d2b896cb72b6641c4d3dbdca1d75"}, + {file = "wrapt-2.0.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b42d13603da4416c43c430dbc6313c8d7ff745c40942f146ed4f6dd02c7d2547"}, + {file = "wrapt-2.0.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c8bbd2472abf8c33480ad2314b1f8fac45d592aba6cc093e8839a7b2045660e6"}, + {file = "wrapt-2.0.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e64a3a1fd9a308ab9b815a2ad7a65b679730629dbf85f8fc3f7f970d634ee5df"}, + {file = "wrapt-2.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d61214525eaf88e0d0edf3d1ad5b5889863c6f88e588c6cdc6aa4ee5d1f10a4a"}, + {file = "wrapt-2.0.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:04f7a5f92c5f7324a1735043cc467b1295a1c5b4e0c1395472b7c44706e3dc61"}, + {file = "wrapt-2.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2356f76cb99b3de5b4e5b8210367fbbb81c7309fe39b622f5d199dd88eb7f765"}, + {file = "wrapt-2.0.0-cp313-cp313t-win32.whl", hash = "sha256:0a921b657a224e40e4bc161b5d33934583b34f0c9c5bdda4e6ac66f9d2fcb849"}, + {file = "wrapt-2.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:c16f6d4eea98080f6659a8a7fc559d4a0a337ee66960659265cad2c8a40f7c0f"}, + {file = "wrapt-2.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:52878edc13dc151c58a9966621d67163a80654bc6cff4b2e1c79fa62d0352b26"}, + {file = "wrapt-2.0.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:79a53d86c2aff7b32cc77267e3a308365d1fcb881e74bc9cbe26f63ee90e37f0"}, + {file = "wrapt-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d731a4f22ed6ffa4cb551b4d2b0c24ff940c27a88edaf8e3490a5ee3a05aef71"}, + {file = "wrapt-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3e02ab8c0ac766a5a6e81cd3b6cc39200c69051826243182175555872522bd5a"}, + {file = "wrapt-2.0.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:895870602d65d7338edb3b6a717d856632ad9f14f7ff566214e4fb11f0816649"}, + {file = "wrapt-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b9ad4fab76a0086dc364c4f17f39ad289600e73ef5c6e9ab529aff22cac1ac3"}, + {file = "wrapt-2.0.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e7ca0562606d7bad2736b2c18f61295d61f50cd3f4bfc51753df13614dbcce1b"}, + {file = "wrapt-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe089d9f5a4a3dea0108a8ae34bced114d0c4cca417bada1c5e8f42d98af9050"}, + {file = "wrapt-2.0.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e761f2d2f8dbc80384af3d547b522a80e67db3e319c7b02e7fd97aded0a8a678"}, + {file = "wrapt-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:17ba1bdc52d0c783481850996aa26cea5237720769197335abea2ae6b4c23bc0"}, + {file = "wrapt-2.0.0-cp314-cp314-win32.whl", hash = "sha256:f73318741b141223a4674ba96992aa2291b1b3f7a5e85cb3c2c964f86171eb45"}, + {file = "wrapt-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:8e08d4edb13cafe7b3260f31d4de033f73d3205774540cf583bffaa4bec97db9"}, + {file = "wrapt-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:af01695c2b7bbd8d67b869d8e3de2b123a7bfbee0185bdd138c2775f75373b83"}, + {file = "wrapt-2.0.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:057f02c13cce7b26c79624c06a3e1c2353e6dc9708525232232f6768118042ca"}, + {file = "wrapt-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:79bdd84570267f3f43d609c892ae2d30b91ee4b8614c2cbfd311a2965f1c9bdb"}, + {file = "wrapt-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:93c8b4f4d54fd401a817abbfc9bf482aa72fd447f8adf19ce81d035b3f5c762c"}, + {file = "wrapt-2.0.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5e09ffd31001dce71c2c2a4fc201bdba9a2f9f62b23700cf24af42266e784741"}, + {file = "wrapt-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d87c285ff04e26083c4b03546e7b74df7ba4f1f32f1dcb92e9ac13c2dbb4c379"}, + {file = "wrapt-2.0.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e52e50ea0a72ea48d1291cf8b8aaedcc99072d9dc5baba6b820486dcf4c67da8"}, + {file = "wrapt-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1fd4c95536975895f32571073446e614d5e2810b666b64955586dcddfd438fd3"}, + {file = "wrapt-2.0.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d6ebfe9283209220ed9de80a3e9442aab8fc2be5a9bbf8491b99e02ca9349a89"}, + {file = "wrapt-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5d3ebd784804f146b7ea55359beb138e23cc18e5a5cc2cf26ad438723c00ce3a"}, + {file = "wrapt-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:9b15940ae9debc8b40b15dc57e1ce4433f7fb9d3f8761c7fab1ddd94cb999d99"}, + {file = "wrapt-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:7a0efbbc06d3e2077476a04f55859819d23206600b4c33f791359a8e6fa3c362"}, + {file = "wrapt-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:7fec8a9455c029c8cf4ff143a53b6e7c463268d42be6c17efa847ebd2f809965"}, + {file = "wrapt-2.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ac3d8beac68e4863c703b844fcc82693f83f933b37d2a54e9d513b2aab9c76aa"}, + {file = "wrapt-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4b8f8644602803add6848c81b7d214cfd397b1ebab2130dc8530570d888155c"}, + {file = "wrapt-2.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:93cb5bff1fcd89b75f869e4f69566a91ab2c9f13e8edf0241fd5777b2fa6d48e"}, + {file = "wrapt-2.0.0-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e0eb6d155d02c7525b7ec09856cda5e611fc6eb9ab40d140e1f35f27ac7d5eae"}, + {file = "wrapt-2.0.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:309dd467a94ee38a7aa5752bda64e660aeab5723b26200d0b65a375dad9add09"}, + {file = "wrapt-2.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a55e8edd08e2eece131d90d82cd1521962d9152829b22c56e68539526d605825"}, + {file = "wrapt-2.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:1724dd7b84d419c80ba839da81ad78b02ac30df626e5aefcb18e94632a965f13"}, + {file = "wrapt-2.0.0-cp38-cp38-win32.whl", hash = "sha256:f8255c380a79f6752d0b920e69a5d656d863675d9c433eeb5548518ee2c8d9da"}, + {file = "wrapt-2.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:829c8d46465dbae49dba91516f11200a2b5ea91eae8afaccbc035f0b651eb9c4"}, + {file = "wrapt-2.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:094d348ce7e6ce37bf6ed9a6ecc11886c96f447b3ffebc7539ca197daa9a997e"}, + {file = "wrapt-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:98223acaa25b1449d993a3f4ffc8b5a03535e4041b37bf6a25459a0c74ee4cfc"}, + {file = "wrapt-2.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b79bf04c722035b1c474980dc1a64369feab7b703d6fe67da2d8664ed0bc980"}, + {file = "wrapt-2.0.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:623242959cb0c53f76baeb929be79f5f6a9a1673ef51628072b91bf299af2212"}, + {file = "wrapt-2.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:59dc94afc4542c7d9b9447fb2ae1168b5a29064eca4061dbbf3b3c26df268334"}, + {file = "wrapt-2.0.0-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d7c532cc9f0a9e6017f8d3c37f478a3e3a5dffa955ebba556274e5e916c058f7"}, + {file = "wrapt-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9d72c725cefbcc8ebab85c8352e5062ae87b6e323858e934e16b54ced580435a"}, + {file = "wrapt-2.0.0-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:2ca35b83497276c2ca0b072d2c00da2edde4c2a6c8c650eafcd1a006c17ab231"}, + {file = "wrapt-2.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2fc55d0da29318a5da33c2827aef8946bba046ac609a4784a90faff73c511174"}, + {file = "wrapt-2.0.0-cp39-cp39-win32.whl", hash = "sha256:9c100b0598f3763274f2033bcc0454de7486409f85bc6da58b49e5971747eb36"}, + {file = "wrapt-2.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:1316972a72c67936a07dbb48e2464356d91dd9674335aaec087b60094d87750b"}, + {file = "wrapt-2.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:5aad54ff45da9784573099696fd84841c7e559ce312f02afa6aa7e89b58e2c2f"}, + {file = "wrapt-2.0.0-py3-none-any.whl", hash = "sha256:02482fb0df89857e35427dfb844319417e14fae05878f295ee43fa3bf3b15502"}, + {file = "wrapt-2.0.0.tar.gz", hash = "sha256:35a542cc7a962331d0279735c30995b024e852cf40481e384fd63caaa391cbb9"}, ] +[package.extras] +dev = ["pytest", "setuptools"] + [[package]] name = "xmljson" version = "0.2.1" diff --git a/reference.md b/reference.md index c77786453..d9808fac8 100644 --- a/reference.md +++ b/reference.md @@ -13056,7 +13056,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.azure.list() +client.export_storage.azure.list( + project=1, +) ``` @@ -13072,7 +13074,7 @@ client.export_storage.azure.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -13080,7 +13082,7 @@ client.export_storage.azure.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -13739,7 +13741,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.azure_spi.list() +client.export_storage.azure_spi.list( + project=1, +) ``` @@ -13755,7 +13759,7 @@ client.export_storage.azure_spi.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -13763,7 +13767,7 @@ client.export_storage.azure_spi.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -14742,7 +14746,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.databricks.list() +client.export_storage.databricks.list( + project=1, +) ``` @@ -14758,7 +14764,7 @@ client.export_storage.databricks.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -14766,7 +14772,7 @@ client.export_storage.databricks.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -15795,7 +15801,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.gcs.list() +client.export_storage.gcs.list( + project=1, +) ``` @@ -15811,7 +15819,7 @@ client.export_storage.gcs.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -15819,7 +15827,7 @@ client.export_storage.gcs.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -16478,7 +16486,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.gcswif.list() +client.export_storage.gcswif.list( + project=1, +) ``` @@ -16494,7 +16504,7 @@ client.export_storage.gcswif.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -16502,7 +16512,7 @@ client.export_storage.gcswif.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -17499,7 +17509,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.local.list() +client.export_storage.local.list( + project=1, +) ``` @@ -17515,7 +17527,7 @@ client.export_storage.local.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -17523,7 +17535,7 @@ client.export_storage.local.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -18128,7 +18140,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.redis.list() +client.export_storage.redis.list( + project=1, +) ``` @@ -18144,7 +18158,7 @@ client.export_storage.redis.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -18152,7 +18166,7 @@ client.export_storage.redis.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -18829,7 +18843,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.s3.list() +client.export_storage.s3.list( + project=1, +) ``` @@ -18845,7 +18861,7 @@ client.export_storage.s3.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -18853,7 +18869,7 @@ client.export_storage.s3.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -19608,7 +19624,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.export_storage.s3s.list() +client.export_storage.s3s.list( + project=1, +) ``` @@ -19624,7 +19642,7 @@ client.export_storage.s3s.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -19632,7 +19650,7 @@ client.export_storage.s3s.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -20703,7 +20721,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.azure.list() +client.import_storage.azure.list( + project=1, +) ``` @@ -20719,7 +20739,7 @@ client.import_storage.azure.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -20727,7 +20747,7 @@ client.import_storage.azure.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -21458,7 +21478,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.azure_spi.list() +client.import_storage.azure_spi.list( + project=1, +) ``` @@ -21474,7 +21496,7 @@ client.import_storage.azure_spi.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -21482,7 +21504,7 @@ client.import_storage.azure_spi.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -22509,7 +22531,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.databricks.list() +client.import_storage.databricks.list( + project=1, +) ``` @@ -22525,7 +22549,7 @@ client.import_storage.databricks.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -22533,7 +22557,7 @@ client.import_storage.databricks.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -23610,7 +23634,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.gcs.list() +client.import_storage.gcs.list( + project=1, +) ``` @@ -23626,7 +23652,7 @@ client.import_storage.gcs.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -23634,7 +23660,7 @@ client.import_storage.gcs.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -24365,7 +24391,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.gcswif.list() +client.import_storage.gcswif.list( + project=1, +) ``` @@ -24381,7 +24409,7 @@ client.import_storage.gcswif.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -24389,7 +24417,7 @@ client.import_storage.gcswif.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -25434,7 +25462,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.local.list() +client.import_storage.local.list( + project=1, +) ``` @@ -25450,7 +25480,7 @@ client.import_storage.local.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -25458,7 +25488,7 @@ client.import_storage.local.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -26063,7 +26093,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.redis.list() +client.import_storage.redis.list( + project=1, +) ``` @@ -26079,7 +26111,7 @@ client.import_storage.redis.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -26087,7 +26119,7 @@ client.import_storage.redis.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -26764,7 +26796,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.s3.list() +client.import_storage.s3.list( + project=1, +) ``` @@ -26780,7 +26814,7 @@ client.import_storage.s3.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -26788,7 +26822,7 @@ client.import_storage.s3.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
@@ -27639,7 +27673,9 @@ from label_studio_sdk import LabelStudio client = LabelStudio( api_key="YOUR_API_KEY", ) -client.import_storage.s3s.list() +client.import_storage.s3s.list( + project=1, +) ``` @@ -27655,7 +27691,7 @@ client.import_storage.s3s.list()
-**ordering:** `typing.Optional[str]` — Which field to use when ordering the results. +**project:** `int` — Project ID
@@ -27663,7 +27699,7 @@ client.import_storage.s3s.list()
-**project:** `typing.Optional[int]` — Project ID +**ordering:** `typing.Optional[str]` — Which field to use when ordering the results.
diff --git a/src/label_studio_sdk/__init__.py b/src/label_studio_sdk/__init__.py index e2282e146..0f2fe8c54 100644 --- a/src/label_studio_sdk/__init__.py +++ b/src/label_studio_sdk/__init__.py @@ -291,6 +291,7 @@ ActionsCreateRequestSelectedItemsIncluded, ActionsListResponseItem, ActionsListResponseItemDialog, + ActionsListResponseItemPermission, ) from .activity_logs import ActivityLogsListRequestMethod from .annotation_history import AnnotationHistoryDeleteResponse @@ -367,6 +368,7 @@ "ActionsEnum", "ActionsListResponseItem", "ActionsListResponseItemDialog", + "ActionsListResponseItemPermission", "ActivityLog", "ActivityLogResponse", "ActivityLogsListRequestMethod", diff --git a/src/label_studio_sdk/actions/__init__.py b/src/label_studio_sdk/actions/__init__.py index 4ae776910..dc9fc2a14 100644 --- a/src/label_studio_sdk/actions/__init__.py +++ b/src/label_studio_sdk/actions/__init__.py @@ -14,6 +14,7 @@ ActionsCreateRequestSelectedItemsIncluded, ActionsListResponseItem, ActionsListResponseItemDialog, + ActionsListResponseItemPermission, ) __all__ = [ @@ -30,4 +31,5 @@ "ActionsCreateRequestSelectedItemsIncluded", "ActionsListResponseItem", "ActionsListResponseItemDialog", + "ActionsListResponseItemPermission", ] diff --git a/src/label_studio_sdk/actions/types/__init__.py b/src/label_studio_sdk/actions/types/__init__.py index 06d908df8..36bc01b51 100644 --- a/src/label_studio_sdk/actions/types/__init__.py +++ b/src/label_studio_sdk/actions/types/__init__.py @@ -13,6 +13,7 @@ from .actions_create_request_selected_items_included import ActionsCreateRequestSelectedItemsIncluded from .actions_list_response_item import ActionsListResponseItem from .actions_list_response_item_dialog import ActionsListResponseItemDialog +from .actions_list_response_item_permission import ActionsListResponseItemPermission __all__ = [ "ActionsCreateRequestFilters", @@ -28,4 +29,5 @@ "ActionsCreateRequestSelectedItemsIncluded", "ActionsListResponseItem", "ActionsListResponseItemDialog", + "ActionsListResponseItemPermission", ] diff --git a/src/label_studio_sdk/actions/types/actions_list_response_item.py b/src/label_studio_sdk/actions/types/actions_list_response_item.py index 9934b183b..db72c1342 100644 --- a/src/label_studio_sdk/actions/types/actions_list_response_item.py +++ b/src/label_studio_sdk/actions/types/actions_list_response_item.py @@ -3,6 +3,7 @@ from ...core.unchecked_base_model import UncheckedBaseModel import typing from .actions_list_response_item_dialog import ActionsListResponseItemDialog +from .actions_list_response_item_permission import ActionsListResponseItemPermission from ...core.pydantic_utilities import IS_PYDANTIC_V2 import pydantic @@ -12,7 +13,7 @@ class ActionsListResponseItem(UncheckedBaseModel): experimental: typing.Optional[bool] = None id: typing.Optional[str] = None order: typing.Optional[int] = None - permission: typing.Optional[str] = None + permission: typing.Optional[ActionsListResponseItemPermission] = None title: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/label_studio_sdk/actions/types/actions_list_response_item_permission.py b/src/label_studio_sdk/actions/types/actions_list_response_item_permission.py new file mode 100644 index 000000000..e9747cf09 --- /dev/null +++ b/src/label_studio_sdk/actions/types/actions_list_response_item_permission.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +ActionsListResponseItemPermission = typing.Union[str, typing.List[str]] diff --git a/src/label_studio_sdk/export_storage/azure/client.py b/src/label_studio_sdk/export_storage/azure/client.py index ff98d0b76..5e41c45f6 100644 --- a/src/label_studio_sdk/export_storage/azure/client.py +++ b/src/label_studio_sdk/export_storage/azure/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureBlobExportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.azure.list() + client.export_storage.azure.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/azure", @@ -494,8 +496,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureBlobExportStorage]: """ @@ -503,12 +505,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -529,7 +531,9 @@ async def list( async def main() -> None: - await client.export_storage.azure.list() + await client.export_storage.azure.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/azure_spi/client.py b/src/label_studio_sdk/export_storage/azure_spi/client.py index b159dd175..697a8b8b2 100644 --- a/src/label_studio_sdk/export_storage/azure_spi/client.py +++ b/src/label_studio_sdk/export_storage/azure_spi/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureServicePrincipalExportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.azure_spi.list() + client.export_storage.azure_spi.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/azure_spi", @@ -706,8 +708,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureServicePrincipalExportStorage]: """ @@ -721,12 +723,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -747,7 +749,9 @@ async def list( async def main() -> None: - await client.export_storage.azure_spi.list() + await client.export_storage.azure_spi.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/databricks/client.py b/src/label_studio_sdk/export_storage/databricks/client.py index a350c8100..3213481cc 100644 --- a/src/label_studio_sdk/export_storage/databricks/client.py +++ b/src/label_studio_sdk/export_storage/databricks/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[DatabricksExportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.databricks.list() + client.export_storage.databricks.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/databricks", @@ -731,8 +733,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[DatabricksExportStorage]: """ @@ -746,12 +748,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -772,7 +774,9 @@ async def list( async def main() -> None: - await client.export_storage.databricks.list() + await client.export_storage.databricks.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/gcs/client.py b/src/label_studio_sdk/export_storage/gcs/client.py index 1ce654e97..bda9d15cc 100644 --- a/src/label_studio_sdk/export_storage/gcs/client.py +++ b/src/label_studio_sdk/export_storage/gcs/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcsExportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.gcs.list() + client.export_storage.gcs.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/gcs", @@ -494,8 +496,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcsExportStorage]: """ @@ -503,12 +505,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -529,7 +531,9 @@ async def list( async def main() -> None: - await client.export_storage.gcs.list() + await client.export_storage.gcs.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/gcswif/client.py b/src/label_studio_sdk/export_storage/gcswif/client.py index b8fdb8f8d..e02c26854 100644 --- a/src/label_studio_sdk/export_storage/gcswif/client.py +++ b/src/label_studio_sdk/export_storage/gcswif/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcswifExportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.gcswif.list() + client.export_storage.gcswif.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/gcswif", @@ -717,8 +719,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcswifExportStorage]: """ @@ -732,12 +734,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -758,7 +760,9 @@ async def list( async def main() -> None: - await client.export_storage.gcswif.list() + await client.export_storage.gcswif.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/local/client.py b/src/label_studio_sdk/export_storage/local/client.py index ae55c6fe3..14eacac10 100644 --- a/src/label_studio_sdk/export_storage/local/client.py +++ b/src/label_studio_sdk/export_storage/local/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LocalFilesExportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.local.list() + client.export_storage.local.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/localfiles", @@ -464,8 +466,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LocalFilesExportStorage]: """ @@ -473,12 +475,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -499,7 +501,9 @@ async def list( async def main() -> None: - await client.export_storage.local.list() + await client.export_storage.local.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/redis/client.py b/src/label_studio_sdk/export_storage/redis/client.py index 30684bc96..5893e39bd 100644 --- a/src/label_studio_sdk/export_storage/redis/client.py +++ b/src/label_studio_sdk/export_storage/redis/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[RedisExportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.redis.list() + client.export_storage.redis.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/redis", @@ -509,8 +511,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[RedisExportStorage]: """ @@ -518,12 +520,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -544,7 +546,9 @@ async def list( async def main() -> None: - await client.export_storage.redis.list() + await client.export_storage.redis.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/s3/client.py b/src/label_studio_sdk/export_storage/s3/client.py index 1f72b5258..91134e979 100644 --- a/src/label_studio_sdk/export_storage/s3/client.py +++ b/src/label_studio_sdk/export_storage/s3/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[S3ExportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.s3.list() + client.export_storage.s3.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/s3", @@ -554,8 +556,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[S3ExportStorage]: """ @@ -563,12 +565,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -589,7 +591,9 @@ async def list( async def main() -> None: - await client.export_storage.s3.list() + await client.export_storage.s3.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/export_storage/s3s/client.py b/src/label_studio_sdk/export_storage/s3s/client.py index 234e90af2..ef2656e41 100644 --- a/src/label_studio_sdk/export_storage/s3s/client.py +++ b/src/label_studio_sdk/export_storage/s3s/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LseS3ExportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.export_storage.s3s.list() + client.export_storage.s3s.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/export/s3s", @@ -761,8 +763,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LseS3ExportStorage]: """ @@ -776,12 +778,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -802,7 +804,9 @@ async def list( async def main() -> None: - await client.export_storage.s3s.list() + await client.export_storage.s3s.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/azure/client.py b/src/label_studio_sdk/import_storage/azure/client.py index bf31f88bd..f363650b2 100644 --- a/src/label_studio_sdk/import_storage/azure/client.py +++ b/src/label_studio_sdk/import_storage/azure/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureBlobImportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.azure.list() + client.import_storage.azure.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/azure/", @@ -540,8 +542,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureBlobImportStorage]: """ @@ -549,12 +551,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -575,7 +577,9 @@ async def list( async def main() -> None: - await client.import_storage.azure.list() + await client.import_storage.azure.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/azure_spi/client.py b/src/label_studio_sdk/import_storage/azure_spi/client.py index 804a02e20..fde8f0de8 100644 --- a/src/label_studio_sdk/import_storage/azure_spi/client.py +++ b/src/label_studio_sdk/import_storage/azure_spi/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureServicePrincipalImportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.azure_spi.list() + client.import_storage.azure_spi.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/azure_spi/", @@ -733,8 +735,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[AzureServicePrincipalImportStorage]: """ @@ -748,12 +750,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -774,7 +776,9 @@ async def list( async def main() -> None: - await client.import_storage.azure_spi.list() + await client.import_storage.azure_spi.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/databricks/client.py b/src/label_studio_sdk/import_storage/databricks/client.py index e8203005e..a71e8a6b6 100644 --- a/src/label_studio_sdk/import_storage/databricks/client.py +++ b/src/label_studio_sdk/import_storage/databricks/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[DatabricksImportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.databricks.list() + client.import_storage.databricks.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/databricks/", @@ -761,8 +763,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[DatabricksImportStorage]: """ @@ -776,12 +778,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -802,7 +804,9 @@ async def list( async def main() -> None: - await client.import_storage.databricks.list() + await client.import_storage.databricks.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/gcs/client.py b/src/label_studio_sdk/import_storage/gcs/client.py index 08c63bdf8..faf08e42f 100644 --- a/src/label_studio_sdk/import_storage/gcs/client.py +++ b/src/label_studio_sdk/import_storage/gcs/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcsImportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.gcs.list() + client.import_storage.gcs.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/gcs/", @@ -540,8 +542,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcsImportStorage]: """ @@ -549,12 +551,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -575,7 +577,9 @@ async def list( async def main() -> None: - await client.import_storage.gcs.list() + await client.import_storage.gcs.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/gcswif/client.py b/src/label_studio_sdk/import_storage/gcswif/client.py index 23fab0927..84e859b32 100644 --- a/src/label_studio_sdk/import_storage/gcswif/client.py +++ b/src/label_studio_sdk/import_storage/gcswif/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcswifImportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.gcswif.list() + client.import_storage.gcswif.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/gcswif/", @@ -744,8 +746,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[GcswifImportStorage]: """ @@ -759,12 +761,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -785,7 +787,9 @@ async def list( async def main() -> None: - await client.import_storage.gcswif.list() + await client.import_storage.gcswif.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/local/client.py b/src/label_studio_sdk/import_storage/local/client.py index 94bbd5ff6..863305372 100644 --- a/src/label_studio_sdk/import_storage/local/client.py +++ b/src/label_studio_sdk/import_storage/local/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LocalFilesImportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.local.list() + client.import_storage.local.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/localfiles/", @@ -465,8 +467,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LocalFilesImportStorage]: """ @@ -474,12 +476,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -500,7 +502,9 @@ async def list( async def main() -> None: - await client.import_storage.local.list() + await client.import_storage.local.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/redis/client.py b/src/label_studio_sdk/import_storage/redis/client.py index c3d44bd64..b0b053a91 100644 --- a/src/label_studio_sdk/import_storage/redis/client.py +++ b/src/label_studio_sdk/import_storage/redis/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[RedisImportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.redis.list() + client.import_storage.redis.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/redis/", @@ -510,8 +512,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[RedisImportStorage]: """ @@ -519,12 +521,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -545,7 +547,9 @@ async def list( async def main() -> None: - await client.import_storage.redis.list() + await client.import_storage.redis.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/s3/client.py b/src/label_studio_sdk/import_storage/s3/client.py index 045afea0a..5625c04f0 100644 --- a/src/label_studio_sdk/import_storage/s3/client.py +++ b/src/label_studio_sdk/import_storage/s3/client.py @@ -21,8 +21,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[S3ImportStorage]: """ @@ -30,12 +30,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -51,7 +51,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.s3.list() + client.import_storage.s3.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/s3/", @@ -615,8 +617,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[S3ImportStorage]: """ @@ -624,12 +626,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -650,7 +652,9 @@ async def list( async def main() -> None: - await client.import_storage.s3.list() + await client.import_storage.s3.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/import_storage/s3s/client.py b/src/label_studio_sdk/import_storage/s3s/client.py index 04f80e07d..ef530a84a 100644 --- a/src/label_studio_sdk/import_storage/s3s/client.py +++ b/src/label_studio_sdk/import_storage/s3s/client.py @@ -23,8 +23,8 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LseS3ImportStorage]: """ @@ -38,12 +38,12 @@ def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -59,7 +59,9 @@ def list( client = LabelStudio( api_key="YOUR_API_KEY", ) - client.import_storage.s3s.list() + client.import_storage.s3s.list( + project=1, + ) """ _response = self._client_wrapper.httpx_client.request( "api/storages/s3s/", @@ -788,8 +790,8 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def list( self, *, + project: int, ordering: typing.Optional[str] = None, - project: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.List[LseS3ImportStorage]: """ @@ -803,12 +805,12 @@ async def list( Parameters ---------- + project : int + Project ID + ordering : typing.Optional[str] Which field to use when ordering the results. - project : typing.Optional[int] - Project ID - request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -829,7 +831,9 @@ async def list( async def main() -> None: - await client.import_storage.s3s.list() + await client.import_storage.s3s.list( + project=1, + ) asyncio.run(main()) diff --git a/src/label_studio_sdk/types/activity_log.py b/src/label_studio_sdk/types/activity_log.py index 4044f6174..8ff5ec8c9 100644 --- a/src/label_studio_sdk/types/activity_log.py +++ b/src/label_studio_sdk/types/activity_log.py @@ -34,6 +34,7 @@ class ActivityLog(UncheckedBaseModel): response_code: str user_agent: typing.Optional[str] = None user_id: int + user_session: typing.Optional[str] = None workspace_owner_id: typing.Optional[int] = pydantic.Field(default=None) """ Owner id of workspace where action performed diff --git a/src/label_studio_sdk/types/billing_flags.py b/src/label_studio_sdk/types/billing_flags.py index 2b818143f..498e20228 100644 --- a/src/label_studio_sdk/types/billing_flags.py +++ b/src/label_studio_sdk/types/billing_flags.py @@ -15,6 +15,7 @@ class BillingFlags(UncheckedBaseModel): allow_data_credentials: bool allow_invite_people: bool allow_invite_project_experts: bool + allow_nda: bool allow_organization_webhooks: bool allow_sso: bool allow_storage_proxy: bool @@ -27,7 +28,6 @@ class BillingFlags(UncheckedBaseModel): embed_domains: typing.Optional[typing.List[typing.Dict[str, typing.Optional[typing.Any]]]] = None embed_enabled: bool embed_settings: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None - hide_storage_settings_for_manager: bool manual_role_management: bool manual_workspace_management: bool secure_mode: bool diff --git a/tests/export_storage/test_azure.py b/tests/export_storage/test_azure.py index 4ab874e64..a6bdbeef4 100644 --- a/tests/export_storage/test_azure.py +++ b/tests/export_storage/test_azure.py @@ -58,10 +58,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.azure.list() + response = client.export_storage.azure.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.azure.list() + async_response = await async_client.export_storage.azure.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_azure_spi.py b/tests/export_storage/test_azure_spi.py index 29c899c60..17994bfe6 100644 --- a/tests/export_storage/test_azure_spi.py +++ b/tests/export_storage/test_azure_spi.py @@ -64,10 +64,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.azure_spi.list() + response = client.export_storage.azure_spi.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.azure_spi.list() + async_response = await async_client.export_storage.azure_spi.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_databricks.py b/tests/export_storage/test_databricks.py index 8bd2a5d20..ecc6f56da 100644 --- a/tests/export_storage/test_databricks.py +++ b/tests/export_storage/test_databricks.py @@ -66,10 +66,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.databricks.list() + response = client.export_storage.databricks.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.databricks.list() + async_response = await async_client.export_storage.databricks.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_gcs.py b/tests/export_storage/test_gcs.py index aca0c7f56..5cc240b8d 100644 --- a/tests/export_storage/test_gcs.py +++ b/tests/export_storage/test_gcs.py @@ -58,10 +58,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.gcs.list() + response = client.export_storage.gcs.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.gcs.list() + async_response = await async_client.export_storage.gcs.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_gcswif.py b/tests/export_storage/test_gcswif.py index eab72e819..00196887d 100644 --- a/tests/export_storage/test_gcswif.py +++ b/tests/export_storage/test_gcswif.py @@ -66,10 +66,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.gcswif.list() + response = client.export_storage.gcswif.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.gcswif.list() + async_response = await async_client.export_storage.gcswif.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_local.py b/tests/export_storage/test_local.py index 206e4f682..0d3e3de38 100644 --- a/tests/export_storage/test_local.py +++ b/tests/export_storage/test_local.py @@ -52,10 +52,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.local.list() + response = client.export_storage.local.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.local.list() + async_response = await async_client.export_storage.local.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_redis.py b/tests/export_storage/test_redis.py index 1486f83a7..873807d93 100644 --- a/tests/export_storage/test_redis.py +++ b/tests/export_storage/test_redis.py @@ -60,10 +60,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.redis.list() + response = client.export_storage.redis.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.redis.list() + async_response = await async_client.export_storage.redis.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_s3.py b/tests/export_storage/test_s3.py index 1f1f29ce0..33163e35c 100644 --- a/tests/export_storage/test_s3.py +++ b/tests/export_storage/test_s3.py @@ -66,10 +66,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.s3.list() + response = client.export_storage.s3.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.s3.list() + async_response = await async_client.export_storage.s3.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/export_storage/test_s3s.py b/tests/export_storage/test_s3s.py index dfae7d9fe..31c521019 100644 --- a/tests/export_storage/test_s3s.py +++ b/tests/export_storage/test_s3s.py @@ -72,10 +72,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.export_storage.s3s.list() + response = client.export_storage.s3s.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.export_storage.s3s.list() + async_response = await async_client.export_storage.s3s.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_azure.py b/tests/import_storage/test_azure.py index 76a6b1901..9b181def8 100644 --- a/tests/import_storage/test_azure.py +++ b/tests/import_storage/test_azure.py @@ -62,10 +62,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.azure.list() + response = client.import_storage.azure.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.azure.list() + async_response = await async_client.import_storage.azure.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_azure_spi.py b/tests/import_storage/test_azure_spi.py index 71d9828cd..bcd9238bf 100644 --- a/tests/import_storage/test_azure_spi.py +++ b/tests/import_storage/test_azure_spi.py @@ -68,10 +68,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.azure_spi.list() + response = client.import_storage.azure_spi.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.azure_spi.list() + async_response = await async_client.import_storage.azure_spi.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_databricks.py b/tests/import_storage/test_databricks.py index 7b77d6411..1a0b61bf2 100644 --- a/tests/import_storage/test_databricks.py +++ b/tests/import_storage/test_databricks.py @@ -70,10 +70,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.databricks.list() + response = client.import_storage.databricks.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.databricks.list() + async_response = await async_client.import_storage.databricks.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_gcs.py b/tests/import_storage/test_gcs.py index a54df8978..028b8d28e 100644 --- a/tests/import_storage/test_gcs.py +++ b/tests/import_storage/test_gcs.py @@ -62,10 +62,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.gcs.list() + response = client.import_storage.gcs.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.gcs.list() + async_response = await async_client.import_storage.gcs.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_gcswif.py b/tests/import_storage/test_gcswif.py index cedc92fbd..b169ab051 100644 --- a/tests/import_storage/test_gcswif.py +++ b/tests/import_storage/test_gcswif.py @@ -70,10 +70,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.gcswif.list() + response = client.import_storage.gcswif.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.gcswif.list() + async_response = await async_client.import_storage.gcswif.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_local.py b/tests/import_storage/test_local.py index 03dd8014d..e3d3fcb6a 100644 --- a/tests/import_storage/test_local.py +++ b/tests/import_storage/test_local.py @@ -52,10 +52,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.local.list() + response = client.import_storage.local.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.local.list() + async_response = await async_client.import_storage.local.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_redis.py b/tests/import_storage/test_redis.py index 62714bb8a..23794607b 100644 --- a/tests/import_storage/test_redis.py +++ b/tests/import_storage/test_redis.py @@ -58,10 +58,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.redis.list() + response = client.import_storage.redis.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.redis.list() + async_response = await async_client.import_storage.redis.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_s3.py b/tests/import_storage/test_s3.py index 505e0a2b6..e530e008a 100644 --- a/tests/import_storage/test_s3.py +++ b/tests/import_storage/test_s3.py @@ -70,10 +70,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.s3.list() + response = client.import_storage.s3.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.s3.list() + async_response = await async_client.import_storage.s3.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/import_storage/test_s3s.py b/tests/import_storage/test_s3s.py index adde2563d..3a6f7ac80 100644 --- a/tests/import_storage/test_s3s.py +++ b/tests/import_storage/test_s3s.py @@ -76,10 +76,10 @@ async def test_list_(client: LabelStudio, async_client: AsyncLabelStudio) -> Non } }, ) - response = client.import_storage.s3s.list() + response = client.import_storage.s3s.list(project=1) validate_response(response, expected_response, expected_types) - async_response = await async_client.import_storage.s3s.list() + async_response = await async_client.import_storage.s3s.list(project=1) validate_response(async_response, expected_response, expected_types) diff --git a/tests/test_billing.py b/tests/test_billing.py index eb52f077d..cf36b7487 100644 --- a/tests/test_billing.py +++ b/tests/test_billing.py @@ -37,6 +37,7 @@ async def test_info(client: LabelStudio, async_client: AsyncLabelStudio) -> None "allow_data_credentials": True, "allow_invite_people": True, "allow_invite_project_experts": True, + "allow_nda": True, "allow_organization_webhooks": True, "allow_sso": False, "allow_storage_proxy": True, @@ -49,7 +50,6 @@ async def test_info(client: LabelStudio, async_client: AsyncLabelStudio) -> None "embed_domains": [{"domain": "http://localhost:3000"}, {"domain": "https://example.com"}], "embed_enabled": False, "embed_settings": {"public_verify_alg": ["RS256"], "public_verify_key": "...."}, - "hide_storage_settings_for_manager": False, "manual_role_management": False, "manual_workspace_management": False, "secure_mode": False, @@ -87,6 +87,7 @@ async def test_info(client: LabelStudio, async_client: AsyncLabelStudio) -> None "allow_data_credentials": None, "allow_invite_people": None, "allow_invite_project_experts": None, + "allow_nda": None, "allow_organization_webhooks": None, "allow_sso": None, "allow_storage_proxy": None, @@ -99,7 +100,6 @@ async def test_info(client: LabelStudio, async_client: AsyncLabelStudio) -> None "embed_domains": ("list", {0: ("dict", {0: (None, None)}), 1: ("dict", {0: (None, None)})}), "embed_enabled": None, "embed_settings": ("dict", {0: (None, None), 1: (None, None)}), - "hide_storage_settings_for_manager": None, "manual_role_management": None, "manual_workspace_management": None, "secure_mode": None,