kodexa 7.4.413698503885__tar.gz → 7.4.413698864785__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 (50) hide show
  1. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/PKG-INFO +1 -1
  2. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/objects.py +131 -2
  3. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/platform/client.py +8 -22
  4. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/pyproject.toml +1 -1
  5. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/LICENSE +0 -0
  6. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/README.md +0 -0
  7. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/__init__.py +0 -0
  8. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/assistant/__init__.py +0 -0
  9. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/assistant/assistant.py +0 -0
  10. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/connectors/__init__.py +0 -0
  11. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/connectors/connectors.py +0 -0
  12. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/dataclasses/__init__.py +0 -0
  13. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/dataclasses/templates/llm_data_class.j2 +0 -0
  14. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/__init__.py +0 -0
  15. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/base.py +0 -0
  16. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/entities/__init__.py +0 -0
  17. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/entities/check_response.py +0 -0
  18. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/entities/product.py +0 -0
  19. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/entities/product_group.py +0 -0
  20. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/entities/product_subscription.py +0 -0
  21. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/model.py +0 -0
  22. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/persistence.py +0 -0
  23. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/model/utils.py +0 -0
  24. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/pipeline/__init__.py +0 -0
  25. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/pipeline/pipeline.py +0 -0
  26. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/platform/__init__.py +0 -0
  27. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/platform/interaction.py +0 -0
  28. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/platform/kodexa.py +0 -0
  29. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/__init__.py +0 -0
  30. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/ast.py +0 -0
  31. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/core.py +0 -0
  32. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/lexrules.py +0 -0
  33. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/lextab.py +0 -0
  34. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/lextab.pyi +0 -0
  35. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/parserules.py +0 -0
  36. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/parserules.pyi +0 -0
  37. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/parsetab.py +0 -0
  38. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/selectors/parsetab.pyi +0 -0
  39. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/spatial/__init__.py +0 -0
  40. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/spatial/azure_models.py +0 -0
  41. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/spatial/bbox_common.py +0 -0
  42. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/spatial/table_form_common.py +0 -0
  43. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/steps/__init__.py +0 -0
  44. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/steps/common.py +0 -0
  45. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/testing/__init__.py +0 -0
  46. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/testing/test_components.py +0 -0
  47. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/testing/test_utils.py +0 -0
  48. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/training/__init__.py +0 -0
  49. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/training/train_utils.py +0 -0
  50. {kodexa-7.4.413698503885 → kodexa-7.4.413698864785}/kodexa/utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kodexa
3
- Version: 7.4.413698503885
3
+ Version: 7.4.413698864785
4
4
  Summary: Python SDK for the Kodexa Platform
5
5
  Author: Austin Redenbaugh
6
6
  Author-email: austin@kodexa.com
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from enum import Enum
4
- from typing import Optional, List, Dict, Any
4
+ from typing import Optional, List, Dict, Any, Set
5
5
  from typing import Union
6
6
 
7
7
  from pydantic import AnyUrl, Field, RootModel, BaseModel, ConfigDict
@@ -3018,13 +3018,142 @@ class Project(BaseModel):
3018
3018
  owner: Optional[User] = None
3019
3019
  options: Optional[ProjectOptions] = Field(None, alias="options")
3020
3020
 
3021
-
3022
3021
  class TaskStatusType(str, Enum):
3023
3022
  """Enum for task status types"""
3024
3023
  TODO = "TODO"
3025
3024
  IN_PROGRESS = "IN_PROGRESS"
3026
3025
  DONE = "DONE"
3027
3026
 
3027
+ class ProjectAttributeStatus(BaseModel):
3028
+ """
3029
+ Represents an attribute status for a project.
3030
+ """
3031
+ model_config = ConfigDict(
3032
+ populate_by_name=True,
3033
+ use_enum_values=True,
3034
+ arbitrary_types_allowed=True,
3035
+ protected_namespaces=("model_config",),
3036
+ )
3037
+ color: Optional[str] = Field(None, max_length=25)
3038
+ icon: Optional[str] = Field(None, max_length=25)
3039
+ status: Optional[str] = Field(None, max_length=255)
3040
+ status_type: Optional[StatusType2] = Field(None, alias="statusType")
3041
+
3042
+ class ProjectDocumentStatus(BaseModel):
3043
+ """
3044
+ Represents a document status for a project.
3045
+ """
3046
+ model_config = ConfigDict(
3047
+ populate_by_name=True,
3048
+ use_enum_values=True,
3049
+ arbitrary_types_allowed=True,
3050
+ protected_namespaces=("model_config",),
3051
+ )
3052
+ color: Optional[str] = Field(None, max_length=25)
3053
+ icon: Optional[str] = Field(None, max_length=25)
3054
+ status: str = Field(..., max_length=255)
3055
+ status_type: Optional[StatusType2] = Field(None, alias="statusType")
3056
+
3057
+ class ProjectTaskStatus(BaseModel):
3058
+ """
3059
+ Represents a task status for a project.
3060
+ """
3061
+ model_config = ConfigDict(
3062
+ populate_by_name=True,
3063
+ use_enum_values=True,
3064
+ arbitrary_types_allowed=True,
3065
+ protected_namespaces=("model_config",),
3066
+ )
3067
+ color: Optional[str] = Field(None, max_length=25)
3068
+ icon: Optional[str] = Field(None, max_length=25)
3069
+ label: str = Field(..., max_length=255)
3070
+ status_type: Optional[TaskStatusType] = Field(None, alias="statusType")
3071
+
3072
+ class ProjectTemplateTag(BaseModel):
3073
+ """
3074
+ Represents a tag for a project template.
3075
+ """
3076
+ model_config = ConfigDict(
3077
+ populate_by_name=True,
3078
+ use_enum_values=True,
3079
+ arbitrary_types_allowed=True,
3080
+ protected_namespaces=("model_config",),
3081
+ )
3082
+ label: Optional[str] = None
3083
+ color: Optional[str] = None
3084
+
3085
+ class ProjectTaskTemplate(BaseModel):
3086
+ """
3087
+ Represents a task template for a project.
3088
+ """
3089
+ model_config = ConfigDict(
3090
+ populate_by_name=True,
3091
+ use_enum_values=True,
3092
+ arbitrary_types_allowed=True,
3093
+ protected_namespaces=("model_config",),
3094
+ )
3095
+ title: Optional[str] = None
3096
+ description: Optional[str] = None
3097
+
3098
+ class ProjectResource(BaseModel):
3099
+ """
3100
+ Represents a resource for a project.
3101
+ """
3102
+ model_config = ConfigDict(
3103
+ populate_by_name=True,
3104
+ use_enum_values=True,
3105
+ arbitrary_types_allowed=True,
3106
+ protected_namespaces=("model_config",),
3107
+ )
3108
+ uri: Optional[str] = None
3109
+ type: Optional[str] = None
3110
+ name: Optional[str] = None
3111
+ description: Optional[str] = None
3112
+ copy: Optional[bool] = False
3113
+ slug: Optional[str] = None
3114
+ original_uri: Optional[str] = Field(None, alias="originalUri")
3115
+
3116
+ class WorkspaceResource(BaseModel):
3117
+ """
3118
+ Represents a workspace resource.
3119
+ """
3120
+ model_config = ConfigDict(
3121
+ populate_by_name=True,
3122
+ use_enum_values=True,
3123
+ arbitrary_types_allowed=True,
3124
+ protected_namespaces=("model_config",),
3125
+ )
3126
+ name: Optional[str] = None
3127
+ description: Optional[str] = None
3128
+ storage: Optional[WorkspaceStorage] = None
3129
+
3130
+ class ProjectTemplateRequest(BaseModel):
3131
+ """
3132
+ Represents a request to create a project template.
3133
+ """
3134
+ model_config = ConfigDict(
3135
+ populate_by_name=True,
3136
+ use_enum_values=True,
3137
+ arbitrary_types_allowed=True,
3138
+ protected_namespaces=("model_config",),
3139
+ )
3140
+ name: Optional[str] = None
3141
+ description: Optional[str] = None
3142
+ options: Optional[ProjectOptions] = None
3143
+ memory: Optional[ProjectMemory] = None
3144
+ image_url: Optional[str] = Field(None, alias="imageUrl")
3145
+ icon: Optional[str] = None
3146
+ overview_markdown: Optional[str] = Field(None, alias="overviewMarkdown")
3147
+ provider: Optional[str] = None
3148
+ provider_url: Optional[str] = Field(None, alias="providerUrl")
3149
+ provider_image_url: Optional[str] = Field(None, alias="providerImageUrl")
3150
+ public_access: Optional[bool] = Field(False, alias="publicAccess")
3151
+ resources: List[ProjectResource] = Field(default_factory=list)
3152
+ workspaces: List[ProjectWorkspace] = Field(default_factory=list)
3153
+ assistants: List[ProjectAssistant] = Field(default_factory=list)
3154
+ document_statuses: List[ProjectDocumentStatus] = Field(default_factory=list, alias="documentStatuses")
3155
+ task_statuses: List[ProjectTaskStatus] = Field(default_factory=list, alias="taskStatuses")
3156
+ tags: Set[str] = Field(default_factory=set)
3028
3157
 
3029
3158
  class TaskStatus(BaseModel):
3030
3159
  """Model representing a task status entity"""
@@ -85,7 +85,7 @@ from kodexa.model.objects import (
85
85
  PageOrganization,
86
86
  DocumentFamilyStatistics, MessageContext, PagePrompt, Prompt, GuidanceSet, PageGuidanceSet, DocumentEmbedding,
87
87
  DocumentExternalData, Task, PageTask, RetainedGuidance, PageRetainedGuidance, TaskTemplate, TaskStatus,
88
- TaskActivity, TaskDocumentFamily, TaskTag,
88
+ TaskActivity, TaskDocumentFamily, TaskTag, ProjectTemplateRequest,
89
89
  )
90
90
 
91
91
  logger = logging.getLogger()
@@ -2886,29 +2886,15 @@ class ProjectEndpoint(EntityEndpoint, Project):
2886
2886
  )
2887
2887
  return [ProjectTag.model_validate(tag) for tag in response.json()]
2888
2888
 
2889
- def get_data_flow(self) -> "ProjectDataFlow":
2890
- """Get the data flow of the project.
2889
+ def create_project_template_request(self) -> ProjectTemplateRequest:
2890
+ """Create a project template request from this project.
2891
2891
 
2892
- Returns:
2893
- ProjectDataFlow: The data flow of the project.
2894
- """
2895
- response = self.client.get(f"/api/projects/{self.id}/dataFlow")
2896
- return ProjectDataFlow.model_validate(response.json()).set_client(self.client)
2897
-
2898
- def update_data_flow(self, data_flow: "ProjectDataFlow") -> "ProjectDataFlow":
2899
- """Update the data flow of the project.
2900
-
2901
- Args:
2902
- data_flow (ProjectDataFlow): The new data flow to associate with the project.
2892
+ Returns:
2893
+ ProjectTemplateRequest: A project template request object.
2894
+ """
2895
+ response = self.client.get(f"/api/projects/{self.id}/createProjectTemplateRequest")
2896
+ return ProjectTemplateRequest.model_validate(response.json())
2903
2897
 
2904
- Returns:
2905
- ProjectDataFlow: The updated data flow associated with the project.
2906
- """
2907
- response = self.client.put(
2908
- f"/api/projects/{self.id}/dataFlow",
2909
- body=data_flow.model_dump(mode="json", by_alias=True),
2910
- )
2911
- return ProjectDataFlow.model_validate(response.json()).set_client(self.client)
2912
2898
 
2913
2899
 
2914
2900
  class MessagesEndpoint(EntitiesEndpoint):
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "kodexa"
3
- version = "7.4.413698503885"
3
+ version = "7.4.413698864785"
4
4
  description = "Python SDK for the Kodexa Platform"
5
5
  authors = ["Austin Redenbaugh <austin@kodexa.com>", "Philip Dodds <philip@kodexa.com>", "Romar Cablao <rcablao@kodexa.com>", "Amadea Paula Dodds <amadeapaula@kodexa.com>"]
6
6
  readme = "README.md"