forte-sdk 1.0.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. forte_sdk-1.0.8/PKG-INFO +126 -0
  2. forte_sdk-1.0.8/README.md +112 -0
  3. forte_sdk-1.0.8/forte_sdk/__init__.py +27 -0
  4. forte_sdk-1.0.8/forte_sdk/generated/__init__.py +128 -0
  5. forte_sdk-1.0.8/forte_sdk/generated/api/__init__.py +6 -0
  6. forte_sdk-1.0.8/forte_sdk/generated/api/projects_server_api.py +7278 -0
  7. forte_sdk-1.0.8/forte_sdk/generated/api/users_server_api.py +2590 -0
  8. forte_sdk-1.0.8/forte_sdk/generated/api_client.py +804 -0
  9. forte_sdk-1.0.8/forte_sdk/generated/api_response.py +21 -0
  10. forte_sdk-1.0.8/forte_sdk/generated/configuration.py +578 -0
  11. forte_sdk-1.0.8/forte_sdk/generated/exceptions.py +219 -0
  12. forte_sdk-1.0.8/forte_sdk/generated/models/__init__.py +55 -0
  13. forte_sdk-1.0.8/forte_sdk/generated/models/add_contact_method_request.py +89 -0
  14. forte_sdk-1.0.8/forte_sdk/generated/models/build_step_log.py +114 -0
  15. forte_sdk-1.0.8/forte_sdk/generated/models/contact_method.py +104 -0
  16. forte_sdk-1.0.8/forte_sdk/generated/models/create_forte_service_request.py +124 -0
  17. forte_sdk-1.0.8/forte_sdk/generated/models/create_service_request_proxy_request.py +91 -0
  18. forte_sdk-1.0.8/forte_sdk/generated/models/create_service_request_proxy_response.py +93 -0
  19. forte_sdk-1.0.8/forte_sdk/generated/models/dockerfile_detection_output.py +89 -0
  20. forte_sdk-1.0.8/forte_sdk/generated/models/dockerfile_generation_error.py +101 -0
  21. forte_sdk-1.0.8/forte_sdk/generated/models/dockerfile_generation_response.py +107 -0
  22. forte_sdk-1.0.8/forte_sdk/generated/models/forte_api_exception.py +101 -0
  23. forte_sdk-1.0.8/forte_sdk/generated/models/health_check_config.py +97 -0
  24. forte_sdk-1.0.8/forte_sdk/generated/models/health_check_detection_error.py +107 -0
  25. forte_sdk-1.0.8/forte_sdk/generated/models/health_check_detection_output.py +93 -0
  26. forte_sdk-1.0.8/forte_sdk/generated/models/health_check_detection_response.py +99 -0
  27. forte_sdk-1.0.8/forte_sdk/generated/models/latency_metrics.py +101 -0
  28. forte_sdk-1.0.8/forte_sdk/generated/models/latency_stats.py +93 -0
  29. forte_sdk-1.0.8/forte_sdk/generated/models/log_line_object.py +100 -0
  30. forte_sdk-1.0.8/forte_sdk/generated/models/login_user_response.py +97 -0
  31. forte_sdk-1.0.8/forte_sdk/generated/models/paginated_response_log_line_object.py +99 -0
  32. forte_sdk-1.0.8/forte_sdk/generated/models/paginated_response_request_log_object.py +99 -0
  33. forte_sdk-1.0.8/forte_sdk/generated/models/paginated_response_service_build_request_object.py +99 -0
  34. forte_sdk-1.0.8/forte_sdk/generated/models/paginated_response_user_action_log_object.py +99 -0
  35. forte_sdk-1.0.8/forte_sdk/generated/models/paginated_response_user_object.py +99 -0
  36. forte_sdk-1.0.8/forte_sdk/generated/models/project_object.py +114 -0
  37. forte_sdk-1.0.8/forte_sdk/generated/models/register_user_request.py +93 -0
  38. forte_sdk-1.0.8/forte_sdk/generated/models/renew_session_token_response.py +90 -0
  39. forte_sdk-1.0.8/forte_sdk/generated/models/repository_analysis.py +87 -0
  40. forte_sdk-1.0.8/forte_sdk/generated/models/request_log_object.py +116 -0
  41. forte_sdk-1.0.8/forte_sdk/generated/models/request_log_object_meta.py +95 -0
  42. forte_sdk-1.0.8/forte_sdk/generated/models/service_build_request_object.py +143 -0
  43. forte_sdk-1.0.8/forte_sdk/generated/models/service_metrics_response.py +137 -0
  44. forte_sdk-1.0.8/forte_sdk/generated/models/service_object.py +136 -0
  45. forte_sdk-1.0.8/forte_sdk/generated/models/time_series_data_point.py +90 -0
  46. forte_sdk-1.0.8/forte_sdk/generated/models/update_forte_service_request.py +114 -0
  47. forte_sdk-1.0.8/forte_sdk/generated/models/update_forte_service_response.py +97 -0
  48. forte_sdk-1.0.8/forte_sdk/generated/models/update_project_request.py +87 -0
  49. forte_sdk-1.0.8/forte_sdk/generated/models/user_action_log_object.py +101 -0
  50. forte_sdk-1.0.8/forte_sdk/generated/models/user_metrics_response.py +114 -0
  51. forte_sdk-1.0.8/forte_sdk/generated/models/user_object.py +122 -0
  52. forte_sdk-1.0.8/forte_sdk/generated/py.typed +0 -0
  53. forte_sdk-1.0.8/forte_sdk/generated/rest.py +263 -0
  54. forte_sdk-1.0.8/forte_sdk.egg-info/PKG-INFO +126 -0
  55. forte_sdk-1.0.8/forte_sdk.egg-info/SOURCES.txt +58 -0
  56. forte_sdk-1.0.8/forte_sdk.egg-info/dependency_links.txt +1 -0
  57. forte_sdk-1.0.8/forte_sdk.egg-info/requires.txt +4 -0
  58. forte_sdk-1.0.8/forte_sdk.egg-info/top_level.txt +1 -0
  59. forte_sdk-1.0.8/pyproject.toml +92 -0
  60. forte_sdk-1.0.8/setup.cfg +4 -0
@@ -0,0 +1,126 @@
1
+ Metadata-Version: 2.4
2
+ Name: forte-sdk
3
+ Version: 1.0.8
4
+ Summary: Official Python SDK for Forte Platforms
5
+ Author-email: Forte Platforms <support@forteplatforms.com>
6
+ License-Expression: MIT
7
+ Project-URL: Repository, https://github.com/FortePlatforms/SDK
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ Requires-Dist: urllib3<3.0.0,>=2.1.0
11
+ Requires-Dist: python-dateutil>=2.8.2
12
+ Requires-Dist: pydantic>=2
13
+ Requires-Dist: typing-extensions>=4.7.1
14
+
15
+ # Forte Platforms Python SDK
16
+
17
+ Official Python SDK for interacting with the Forte Platforms API.
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ pip install forte-sdk
23
+ ```
24
+
25
+ ## Authentication
26
+
27
+ Set your API token as an environment variable:
28
+
29
+ ```bash
30
+ export FORTE_API_TOKEN=your_api_token_here
31
+ ```
32
+
33
+ Or pass it directly when creating the client:
34
+
35
+ ```python
36
+ client = ForteClient(api_token="your_api_token_here")
37
+ ```
38
+
39
+ You can generate an API token from the Forte Platforms dashboard.
40
+
41
+ ## Quick Start
42
+
43
+ ```python
44
+ from forte_sdk import ForteClient
45
+
46
+ client = ForteClient()
47
+
48
+ # List your projects
49
+ projects = client.projects.list_projects()
50
+
51
+ # Get a specific project
52
+ project = client.projects.get_project(project_id="your-project-id")
53
+ ```
54
+
55
+ ## Custom Base URL
56
+
57
+ ```python
58
+ client = ForteClient(base_url="https://custom-endpoint.example.com")
59
+ ```
60
+
61
+ ## Error Handling
62
+
63
+ API errors are raised as exceptions:
64
+
65
+ ```python
66
+ from forte_sdk.generated.exceptions import ApiException
67
+
68
+ try:
69
+ project = client.projects.get_project(project_id="invalid-id")
70
+ except ApiException as e:
71
+ print(f"API error {e.status}: {e.reason}")
72
+ ```
73
+
74
+ ## User Custom Attributes
75
+
76
+ Store arbitrary key-value metadata on your users. Useful for tracking subscription tiers, feature flags, preferences, or any application-specific data.
77
+
78
+ ```python
79
+ # Set custom attributes on a user
80
+ user = client.projects.put_user_custom_attributes(
81
+ project_id="your-project-id",
82
+ user_id="user-id",
83
+ request_body={
84
+ "plan": "pro",
85
+ "referral_source": "google",
86
+ "onboarding_completed": "true",
87
+ },
88
+ )
89
+
90
+ print(user.custom_metadata_attributes)
91
+ # {'plan': 'pro', 'referral_source': 'google', 'onboarding_completed': 'true'}
92
+ ```
93
+
94
+ **Key constraints:**
95
+ - Keys must be 1-64 characters: letters, numbers, underscores, and hyphens only
96
+ - Values are strings
97
+ - Each call replaces all existing attributes — include any you want to keep
98
+
99
+ ### Merge with existing attributes
100
+
101
+ ```python
102
+ # Read current attributes, then merge
103
+ user = client.projects.get_project_user(
104
+ project_id="your-project-id",
105
+ user_id="user-id",
106
+ )
107
+
108
+ client.projects.put_user_custom_attributes(
109
+ project_id="your-project-id",
110
+ user_id="user-id",
111
+ request_body={
112
+ **user.custom_metadata_attributes,
113
+ "plan": "enterprise", # update one field
114
+ },
115
+ )
116
+ ```
117
+
118
+ ## API Reference
119
+
120
+ ### `client.projects`
121
+
122
+ Manage projects and services on Forte Platforms.
123
+
124
+ ### `client.users`
125
+
126
+ Manage end-users within your projects.
@@ -0,0 +1,112 @@
1
+ # Forte Platforms Python SDK
2
+
3
+ Official Python SDK for interacting with the Forte Platforms API.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install forte-sdk
9
+ ```
10
+
11
+ ## Authentication
12
+
13
+ Set your API token as an environment variable:
14
+
15
+ ```bash
16
+ export FORTE_API_TOKEN=your_api_token_here
17
+ ```
18
+
19
+ Or pass it directly when creating the client:
20
+
21
+ ```python
22
+ client = ForteClient(api_token="your_api_token_here")
23
+ ```
24
+
25
+ You can generate an API token from the Forte Platforms dashboard.
26
+
27
+ ## Quick Start
28
+
29
+ ```python
30
+ from forte_sdk import ForteClient
31
+
32
+ client = ForteClient()
33
+
34
+ # List your projects
35
+ projects = client.projects.list_projects()
36
+
37
+ # Get a specific project
38
+ project = client.projects.get_project(project_id="your-project-id")
39
+ ```
40
+
41
+ ## Custom Base URL
42
+
43
+ ```python
44
+ client = ForteClient(base_url="https://custom-endpoint.example.com")
45
+ ```
46
+
47
+ ## Error Handling
48
+
49
+ API errors are raised as exceptions:
50
+
51
+ ```python
52
+ from forte_sdk.generated.exceptions import ApiException
53
+
54
+ try:
55
+ project = client.projects.get_project(project_id="invalid-id")
56
+ except ApiException as e:
57
+ print(f"API error {e.status}: {e.reason}")
58
+ ```
59
+
60
+ ## User Custom Attributes
61
+
62
+ Store arbitrary key-value metadata on your users. Useful for tracking subscription tiers, feature flags, preferences, or any application-specific data.
63
+
64
+ ```python
65
+ # Set custom attributes on a user
66
+ user = client.projects.put_user_custom_attributes(
67
+ project_id="your-project-id",
68
+ user_id="user-id",
69
+ request_body={
70
+ "plan": "pro",
71
+ "referral_source": "google",
72
+ "onboarding_completed": "true",
73
+ },
74
+ )
75
+
76
+ print(user.custom_metadata_attributes)
77
+ # {'plan': 'pro', 'referral_source': 'google', 'onboarding_completed': 'true'}
78
+ ```
79
+
80
+ **Key constraints:**
81
+ - Keys must be 1-64 characters: letters, numbers, underscores, and hyphens only
82
+ - Values are strings
83
+ - Each call replaces all existing attributes — include any you want to keep
84
+
85
+ ### Merge with existing attributes
86
+
87
+ ```python
88
+ # Read current attributes, then merge
89
+ user = client.projects.get_project_user(
90
+ project_id="your-project-id",
91
+ user_id="user-id",
92
+ )
93
+
94
+ client.projects.put_user_custom_attributes(
95
+ project_id="your-project-id",
96
+ user_id="user-id",
97
+ request_body={
98
+ **user.custom_metadata_attributes,
99
+ "plan": "enterprise", # update one field
100
+ },
101
+ )
102
+ ```
103
+
104
+ ## API Reference
105
+
106
+ ### `client.projects`
107
+
108
+ Manage projects and services on Forte Platforms.
109
+
110
+ ### `client.users`
111
+
112
+ Manage end-users within your projects.
@@ -0,0 +1,27 @@
1
+ import os
2
+
3
+ from forte_sdk.generated import ApiClient, Configuration
4
+ from forte_sdk.generated.api import ProjectsServerApi, UsersServerApi
5
+
6
+
7
+ class ForteClient:
8
+ """Official Python client for the Forte Platforms API."""
9
+
10
+ def __init__(
11
+ self,
12
+ api_token: str | None = None,
13
+ base_url: str | None = None,
14
+ ):
15
+ token = api_token or os.environ.get("FORTE_API_TOKEN")
16
+ if not token:
17
+ raise ValueError(
18
+ "FORTE_API_TOKEN is required. "
19
+ "Set it as an environment variable or pass api_token."
20
+ )
21
+
22
+ config = Configuration(host=base_url or "https://api.forteplatforms.com")
23
+ client = ApiClient(config)
24
+ client.default_headers["Authorization"] = f"Bearer {token}"
25
+
26
+ self.projects = ProjectsServerApi(client)
27
+ self.users = UsersServerApi(client)
@@ -0,0 +1,128 @@
1
+ # coding: utf-8
2
+
3
+ # flake8: noqa
4
+
5
+ """
6
+ OpenAPI definition
7
+
8
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
9
+
10
+ The version of the OpenAPI document: v0
11
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
+
13
+ Do not edit the class manually.
14
+ """ # noqa: E501
15
+
16
+
17
+ __version__ = "1.0.8"
18
+
19
+ # Define package exports
20
+ __all__ = [
21
+ "ProjectsServerApi",
22
+ "UsersServerApi",
23
+ "ApiResponse",
24
+ "ApiClient",
25
+ "Configuration",
26
+ "OpenApiException",
27
+ "ApiTypeError",
28
+ "ApiValueError",
29
+ "ApiKeyError",
30
+ "ApiAttributeError",
31
+ "ApiException",
32
+ "AddContactMethodRequest",
33
+ "BuildStepLog",
34
+ "ContactMethod",
35
+ "CreateForteServiceRequest",
36
+ "CreateServiceRequestProxyRequest",
37
+ "CreateServiceRequestProxyResponse",
38
+ "DockerfileDetectionOutput",
39
+ "DockerfileGenerationError",
40
+ "DockerfileGenerationResponse",
41
+ "ForteApiException",
42
+ "HealthCheckConfig",
43
+ "HealthCheckDetectionError",
44
+ "HealthCheckDetectionOutput",
45
+ "HealthCheckDetectionResponse",
46
+ "LatencyMetrics",
47
+ "LatencyStats",
48
+ "LogLineObject",
49
+ "LoginUserResponse",
50
+ "PaginatedResponseLogLineObject",
51
+ "PaginatedResponseRequestLogObject",
52
+ "PaginatedResponseServiceBuildRequestObject",
53
+ "PaginatedResponseUserActionLogObject",
54
+ "PaginatedResponseUserObject",
55
+ "ProjectObject",
56
+ "RegisterUserRequest",
57
+ "RenewSessionTokenResponse",
58
+ "RepositoryAnalysis",
59
+ "RequestLogObject",
60
+ "RequestLogObjectMeta",
61
+ "ServiceBuildRequestObject",
62
+ "ServiceMetricsResponse",
63
+ "ServiceObject",
64
+ "TimeSeriesDataPoint",
65
+ "UpdateForteServiceRequest",
66
+ "UpdateForteServiceResponse",
67
+ "UpdateProjectRequest",
68
+ "UserActionLogObject",
69
+ "UserMetricsResponse",
70
+ "UserObject",
71
+ ]
72
+
73
+ # import apis into sdk package
74
+ from forte_sdk.generated.api.projects_server_api import ProjectsServerApi as ProjectsServerApi
75
+ from forte_sdk.generated.api.users_server_api import UsersServerApi as UsersServerApi
76
+
77
+ # import ApiClient
78
+ from forte_sdk.generated.api_response import ApiResponse as ApiResponse
79
+ from forte_sdk.generated.api_client import ApiClient as ApiClient
80
+ from forte_sdk.generated.configuration import Configuration as Configuration
81
+ from forte_sdk.generated.exceptions import OpenApiException as OpenApiException
82
+ from forte_sdk.generated.exceptions import ApiTypeError as ApiTypeError
83
+ from forte_sdk.generated.exceptions import ApiValueError as ApiValueError
84
+ from forte_sdk.generated.exceptions import ApiKeyError as ApiKeyError
85
+ from forte_sdk.generated.exceptions import ApiAttributeError as ApiAttributeError
86
+ from forte_sdk.generated.exceptions import ApiException as ApiException
87
+
88
+ # import models into sdk package
89
+ from forte_sdk.generated.models.add_contact_method_request import AddContactMethodRequest as AddContactMethodRequest
90
+ from forte_sdk.generated.models.build_step_log import BuildStepLog as BuildStepLog
91
+ from forte_sdk.generated.models.contact_method import ContactMethod as ContactMethod
92
+ from forte_sdk.generated.models.create_forte_service_request import CreateForteServiceRequest as CreateForteServiceRequest
93
+ from forte_sdk.generated.models.create_service_request_proxy_request import CreateServiceRequestProxyRequest as CreateServiceRequestProxyRequest
94
+ from forte_sdk.generated.models.create_service_request_proxy_response import CreateServiceRequestProxyResponse as CreateServiceRequestProxyResponse
95
+ from forte_sdk.generated.models.dockerfile_detection_output import DockerfileDetectionOutput as DockerfileDetectionOutput
96
+ from forte_sdk.generated.models.dockerfile_generation_error import DockerfileGenerationError as DockerfileGenerationError
97
+ from forte_sdk.generated.models.dockerfile_generation_response import DockerfileGenerationResponse as DockerfileGenerationResponse
98
+ from forte_sdk.generated.models.forte_api_exception import ForteApiException as ForteApiException
99
+ from forte_sdk.generated.models.health_check_config import HealthCheckConfig as HealthCheckConfig
100
+ from forte_sdk.generated.models.health_check_detection_error import HealthCheckDetectionError as HealthCheckDetectionError
101
+ from forte_sdk.generated.models.health_check_detection_output import HealthCheckDetectionOutput as HealthCheckDetectionOutput
102
+ from forte_sdk.generated.models.health_check_detection_response import HealthCheckDetectionResponse as HealthCheckDetectionResponse
103
+ from forte_sdk.generated.models.latency_metrics import LatencyMetrics as LatencyMetrics
104
+ from forte_sdk.generated.models.latency_stats import LatencyStats as LatencyStats
105
+ from forte_sdk.generated.models.log_line_object import LogLineObject as LogLineObject
106
+ from forte_sdk.generated.models.login_user_response import LoginUserResponse as LoginUserResponse
107
+ from forte_sdk.generated.models.paginated_response_log_line_object import PaginatedResponseLogLineObject as PaginatedResponseLogLineObject
108
+ from forte_sdk.generated.models.paginated_response_request_log_object import PaginatedResponseRequestLogObject as PaginatedResponseRequestLogObject
109
+ from forte_sdk.generated.models.paginated_response_service_build_request_object import PaginatedResponseServiceBuildRequestObject as PaginatedResponseServiceBuildRequestObject
110
+ from forte_sdk.generated.models.paginated_response_user_action_log_object import PaginatedResponseUserActionLogObject as PaginatedResponseUserActionLogObject
111
+ from forte_sdk.generated.models.paginated_response_user_object import PaginatedResponseUserObject as PaginatedResponseUserObject
112
+ from forte_sdk.generated.models.project_object import ProjectObject as ProjectObject
113
+ from forte_sdk.generated.models.register_user_request import RegisterUserRequest as RegisterUserRequest
114
+ from forte_sdk.generated.models.renew_session_token_response import RenewSessionTokenResponse as RenewSessionTokenResponse
115
+ from forte_sdk.generated.models.repository_analysis import RepositoryAnalysis as RepositoryAnalysis
116
+ from forte_sdk.generated.models.request_log_object import RequestLogObject as RequestLogObject
117
+ from forte_sdk.generated.models.request_log_object_meta import RequestLogObjectMeta as RequestLogObjectMeta
118
+ from forte_sdk.generated.models.service_build_request_object import ServiceBuildRequestObject as ServiceBuildRequestObject
119
+ from forte_sdk.generated.models.service_metrics_response import ServiceMetricsResponse as ServiceMetricsResponse
120
+ from forte_sdk.generated.models.service_object import ServiceObject as ServiceObject
121
+ from forte_sdk.generated.models.time_series_data_point import TimeSeriesDataPoint as TimeSeriesDataPoint
122
+ from forte_sdk.generated.models.update_forte_service_request import UpdateForteServiceRequest as UpdateForteServiceRequest
123
+ from forte_sdk.generated.models.update_forte_service_response import UpdateForteServiceResponse as UpdateForteServiceResponse
124
+ from forte_sdk.generated.models.update_project_request import UpdateProjectRequest as UpdateProjectRequest
125
+ from forte_sdk.generated.models.user_action_log_object import UserActionLogObject as UserActionLogObject
126
+ from forte_sdk.generated.models.user_metrics_response import UserMetricsResponse as UserMetricsResponse
127
+ from forte_sdk.generated.models.user_object import UserObject as UserObject
128
+
@@ -0,0 +1,6 @@
1
+ # flake8: noqa
2
+
3
+ # import apis into api package
4
+ from forte_sdk.generated.api.projects_server_api import ProjectsServerApi
5
+ from forte_sdk.generated.api.users_server_api import UsersServerApi
6
+