mindbridge-api-python-client 1.4.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.
- mindbridge_api_python_client-1.4.8/LICENSE.txt +11 -0
- mindbridge_api_python_client-1.4.8/PKG-INFO +64 -0
- mindbridge_api_python_client-1.4.8/README.md +30 -0
- mindbridge_api_python_client-1.4.8/pyproject.toml +130 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/__init__.py +69 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/accounting_period.py +34 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analyses.py +383 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_item.py +167 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_period.py +68 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_source_item.py +198 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_source_type_item.py +55 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_source_types.py +36 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_sources.py +132 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_type_item.py +45 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_types.py +62 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/async_results.py +194 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/base_set.py +175 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/chunked_file_item.py +37 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/chunked_file_part_item.py +25 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/chunked_files.py +70 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/column_mapping.py +21 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/common_validators.py +71 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/data_tables.py +206 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/engagement_item.py +100 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/engagements.py +93 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/analysis_source_type.py +142 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/analysis_type.py +36 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/deprecated_enum.py +69 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/system_library.py +32 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/exceptions.py +92 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/file_manager.py +212 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/file_manager_item.py +107 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/generated_pydantic_model/model.py +7035 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/libraries.py +54 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/library_item.py +44 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/organization_item.py +61 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/organizations.py +82 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/server.py +202 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/task_item.py +47 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/tasks.py +150 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/transaction_id_selection.py +31 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/users.py +42 -0
- mindbridge_api_python_client-1.4.8/src/mindbridgeapi/virtual_column.py +104 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
This package contains intellectual property proprietary to MindBridge as per
|
|
2
|
+
the Agreement, in addition to sample data sets, and shall be used for internal
|
|
3
|
+
purposes by MindBridge clients only.
|
|
4
|
+
|
|
5
|
+
You may include portions of this package in your software as needed for the
|
|
6
|
+
purposes of consuming the MindBridge API.
|
|
7
|
+
|
|
8
|
+
You may not redistribute this package to third parties except for the express
|
|
9
|
+
purposes of the third party needing to develop software to integrate with
|
|
10
|
+
MindBridge in order to further utilization of the MindBridge Software per the
|
|
11
|
+
applicable Agreement.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: mindbridge-api-python-client
|
|
3
|
+
Version: 1.4.8
|
|
4
|
+
Summary: Interact with the MindBridge API
|
|
5
|
+
Home-page: https://www.mindbridge.ai
|
|
6
|
+
License: Proprietary
|
|
7
|
+
Author: Edgar Silva
|
|
8
|
+
Author-email: edgar.silva@mindbridge.ai
|
|
9
|
+
Maintainer: Kevin Paulson
|
|
10
|
+
Maintainer-email: kevin.paulson@mindbridge.ai
|
|
11
|
+
Requires-Python: >=3.8.1,<4.0
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Framework :: Flake8
|
|
14
|
+
Classifier: Framework :: Pydantic
|
|
15
|
+
Classifier: Framework :: Pydantic :: 2
|
|
16
|
+
Classifier: Framework :: Pytest
|
|
17
|
+
Classifier: License :: Other/Proprietary License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Programming Language :: Python
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
27
|
+
Classifier: Typing :: Typed
|
|
28
|
+
Requires-Dist: pydantic (>=2.5.2,<3.0.0)
|
|
29
|
+
Requires-Dist: typing-extensions (>=4.0.0,<5.0.0) ; python_version < "3.9"
|
|
30
|
+
Requires-Dist: urllib3 (>=2.0.7,<3.0.0)
|
|
31
|
+
Project-URL: Repository, https://github.com/mindbridge-ai/mindbridge-api-python-client
|
|
32
|
+
Description-Content-Type: text/markdown
|
|
33
|
+
|
|
34
|
+
<h1 align="center">MindBridge API Python Client</h1>
|
|
35
|
+
<p align="center">
|
|
36
|
+
<img alt="Logo of MindBridge" src="https://www.mindbridge.ai/wp-content/uploads/2021/07/MindBridge_Logo_Primary_RGB.png" />
|
|
37
|
+
</p>
|
|
38
|
+
|
|
39
|
+
Interact with the MindBridge API using this Python SDK. Please see [The MindBridge API](https://www.mindbridge.ai/support/api/) for more information about the MindBridge API. You can also [Access MindBridge Customer Support](https://support.mindbridge.ai/hc/en-us/articles/360054147834-Access-MindBridge-Customer-Support) or [Contact us](https://www.mindbridge.ai/contact/).
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
mindbridge-api-python-client can be installed with [pip](https://pip.pypa.io):
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
python -m pip install mindbridge-api-python-client
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
Replace `subdomain.mindbridge.ai` with your MindBridge tenant URL.
|
|
50
|
+
```python
|
|
51
|
+
import getpass
|
|
52
|
+
import mindbridgeapi as mbapi
|
|
53
|
+
|
|
54
|
+
url = "subdomain.mindbridge.ai"
|
|
55
|
+
token = getpass.getpass(f"Token for {url}: ")
|
|
56
|
+
|
|
57
|
+
server = mbapi.Server(url=url, token=token)
|
|
58
|
+
|
|
59
|
+
organization = mbapi.OrganizationItem(name="My Organization name")
|
|
60
|
+
organization = server.organizations.create(organization)
|
|
61
|
+
|
|
62
|
+
# Create engagements, analyses and run them, etc.
|
|
63
|
+
```
|
|
64
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<h1 align="center">MindBridge API Python Client</h1>
|
|
2
|
+
<p align="center">
|
|
3
|
+
<img alt="Logo of MindBridge" src="https://www.mindbridge.ai/wp-content/uploads/2021/07/MindBridge_Logo_Primary_RGB.png" />
|
|
4
|
+
</p>
|
|
5
|
+
|
|
6
|
+
Interact with the MindBridge API using this Python SDK. Please see [The MindBridge API](https://www.mindbridge.ai/support/api/) for more information about the MindBridge API. You can also [Access MindBridge Customer Support](https://support.mindbridge.ai/hc/en-us/articles/360054147834-Access-MindBridge-Customer-Support) or [Contact us](https://www.mindbridge.ai/contact/).
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
mindbridge-api-python-client can be installed with [pip](https://pip.pypa.io):
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
python -m pip install mindbridge-api-python-client
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
Replace `subdomain.mindbridge.ai` with your MindBridge tenant URL.
|
|
17
|
+
```python
|
|
18
|
+
import getpass
|
|
19
|
+
import mindbridgeapi as mbapi
|
|
20
|
+
|
|
21
|
+
url = "subdomain.mindbridge.ai"
|
|
22
|
+
token = getpass.getpass(f"Token for {url}: ")
|
|
23
|
+
|
|
24
|
+
server = mbapi.Server(url=url, token=token)
|
|
25
|
+
|
|
26
|
+
organization = mbapi.OrganizationItem(name="My Organization name")
|
|
27
|
+
organization = server.organizations.create(organization)
|
|
28
|
+
|
|
29
|
+
# Create engagements, analyses and run them, etc.
|
|
30
|
+
```
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = [ "poetry-core" ]
|
|
3
|
+
build-backend = "poetry.core.masonry.api"
|
|
4
|
+
|
|
5
|
+
[tool.poetry]
|
|
6
|
+
name = "mindbridge-api-python-client"
|
|
7
|
+
version = "1.4.8"
|
|
8
|
+
description = "Interact with the MindBridge API"
|
|
9
|
+
license = "Proprietary"
|
|
10
|
+
authors = [
|
|
11
|
+
"Edgar Silva <edgar.silva@mindbridge.ai>",
|
|
12
|
+
"Jordan Hatcher <jordan.hatcher@mindbridge.ai>",
|
|
13
|
+
"Kevin Paulson <kevin.paulson@mindbridge.ai",
|
|
14
|
+
"Michael Smith <msmith@mindbridge.ai>",
|
|
15
|
+
"Wing-Leung Chan <wing-leung.chan@mindbridge.ai>",
|
|
16
|
+
]
|
|
17
|
+
maintainers = [ "Kevin Paulson <kevin.paulson@mindbridge.ai>" ]
|
|
18
|
+
readme = "README.md"
|
|
19
|
+
homepage = "https://www.mindbridge.ai"
|
|
20
|
+
repository = "https://github.com/mindbridge-ai/mindbridge-api-python-client"
|
|
21
|
+
classifiers = [
|
|
22
|
+
"Development Status :: 4 - Beta",
|
|
23
|
+
"Framework :: Flake8",
|
|
24
|
+
"Framework :: Pydantic",
|
|
25
|
+
"Framework :: Pydantic :: 2",
|
|
26
|
+
"Framework :: Pytest",
|
|
27
|
+
"License :: Other/Proprietary License",
|
|
28
|
+
"Operating System :: OS Independent",
|
|
29
|
+
"Programming Language :: Python",
|
|
30
|
+
"Programming Language :: Python :: 3",
|
|
31
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
32
|
+
"Programming Language :: Python :: 3.8",
|
|
33
|
+
"Programming Language :: Python :: 3.9",
|
|
34
|
+
"Programming Language :: Python :: 3.10",
|
|
35
|
+
"Programming Language :: Python :: 3.11",
|
|
36
|
+
"Programming Language :: Python :: 3.12",
|
|
37
|
+
"Typing :: Typed",
|
|
38
|
+
]
|
|
39
|
+
packages = [
|
|
40
|
+
{ include = "mindbridgeapi", from = "src" },
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
[tool.poetry.dependencies]
|
|
44
|
+
python = ">=3.8.1,<4.0"
|
|
45
|
+
pydantic = "^2.5.2"
|
|
46
|
+
typing-extensions = { version = "^4.0.0", python = "<3.9" }
|
|
47
|
+
urllib3 = "^2.0.7"
|
|
48
|
+
|
|
49
|
+
[tool.poetry.group.generate_model]
|
|
50
|
+
optional = true
|
|
51
|
+
|
|
52
|
+
[tool.poetry.group.generate_model.dependencies]
|
|
53
|
+
datamodel-code-generator = "^0.25.1"
|
|
54
|
+
|
|
55
|
+
[tool.poetry.group.lint]
|
|
56
|
+
optional = true
|
|
57
|
+
|
|
58
|
+
[tool.poetry.group.lint.dependencies]
|
|
59
|
+
black = "^24.3.0"
|
|
60
|
+
flake8 = "^7.0.0"
|
|
61
|
+
flake8-bugbear = "^24.2.6"
|
|
62
|
+
flake8-clean-block = "^0.1.2"
|
|
63
|
+
flake8-comprehensions = "^3.14.0"
|
|
64
|
+
flake8-encodings = "^0.5.1"
|
|
65
|
+
flake8-implicit-str-concat = "^0.4.0"
|
|
66
|
+
flake8-newspaper-style = "^0.4.3"
|
|
67
|
+
flake8-pytest-style = "^2.0.0"
|
|
68
|
+
flake8-return = "^1.2.0"
|
|
69
|
+
flake8-simplify = "^0.21.0"
|
|
70
|
+
flake8-tidy-imports = "^4.10.0"
|
|
71
|
+
flake8-type-checking = "^2.9.0"
|
|
72
|
+
isort = "^5.13.2"
|
|
73
|
+
pep8-naming = "^0.14.1"
|
|
74
|
+
tryceratops = "^2.3.2"
|
|
75
|
+
|
|
76
|
+
[tool.poetry.group.test]
|
|
77
|
+
optional = true
|
|
78
|
+
|
|
79
|
+
[tool.poetry.group.test.dependencies]
|
|
80
|
+
pytest = "^8.1.1"
|
|
81
|
+
pytest-cov = "^5.0.0"
|
|
82
|
+
pytest-randomly = "^3.15.0"
|
|
83
|
+
|
|
84
|
+
[tool.poetry.group.type_check]
|
|
85
|
+
optional = true
|
|
86
|
+
|
|
87
|
+
[tool.poetry.group.type_check.dependencies]
|
|
88
|
+
mypy = "^1.9.0"
|
|
89
|
+
|
|
90
|
+
[tool.black]
|
|
91
|
+
target-version = [ "py38", "py39", "py310", "py311", "py312" ]
|
|
92
|
+
|
|
93
|
+
[tool.isort]
|
|
94
|
+
py_version = 38
|
|
95
|
+
profile = "black"
|
|
96
|
+
lines_between_sections = 0
|
|
97
|
+
force_sort_within_sections = true
|
|
98
|
+
known_first_party = [ "mindbridgeapi" ]
|
|
99
|
+
|
|
100
|
+
[tool.pytest.ini_options]
|
|
101
|
+
addopts = [
|
|
102
|
+
"--strict-config",
|
|
103
|
+
"--strict-markers",
|
|
104
|
+
"--cov=mindbridgeapi",
|
|
105
|
+
"--cov-report=html",
|
|
106
|
+
"--cov-report=term",
|
|
107
|
+
"--cov-report=xml",
|
|
108
|
+
]
|
|
109
|
+
xfail_strict = true
|
|
110
|
+
filterwarnings = [ "error" ]
|
|
111
|
+
|
|
112
|
+
[tool.coverage.run]
|
|
113
|
+
branch = true
|
|
114
|
+
omit = [ "src/mindbridgeapi/generated_pydantic_model/*" ]
|
|
115
|
+
|
|
116
|
+
[tool.coverage.report]
|
|
117
|
+
exclude_also = [ "if TYPE_CHECKING:" ]
|
|
118
|
+
|
|
119
|
+
[tool.mypy]
|
|
120
|
+
mypy_path = "$MYPY_CONFIG_FILE_DIR/src"
|
|
121
|
+
packages = "mindbridgeapi,tools.generate_model"
|
|
122
|
+
plugins = [ "pydantic.mypy" ]
|
|
123
|
+
strict = true
|
|
124
|
+
no_implicit_optional = true
|
|
125
|
+
show_error_codes = true
|
|
126
|
+
|
|
127
|
+
[tool.pydantic-mypy]
|
|
128
|
+
init_forbid_extra = true
|
|
129
|
+
init_typed = true
|
|
130
|
+
warn_required_dynamic_aliases = true
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright MindBridge Analytics Inc. all rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# This material is confidential and may not be copied, distributed,
|
|
5
|
+
# reversed engineered, decompiled or otherwise disseminated without
|
|
6
|
+
# the prior written consent of MindBridge Analytics Inc.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
from mindbridgeapi.accounting_period import AccountingPeriod
|
|
10
|
+
from mindbridgeapi.analysis_item import AnalysisItem
|
|
11
|
+
from mindbridgeapi.analysis_period import AnalysisPeriod
|
|
12
|
+
from mindbridgeapi.analysis_source_item import AnalysisSourceItem
|
|
13
|
+
from mindbridgeapi.analysis_source_type_item import AnalysisSourceTypeItem
|
|
14
|
+
from mindbridgeapi.analysis_type_item import AnalysisTypeItem
|
|
15
|
+
from mindbridgeapi.chunked_file_item import ChunkedFileItem
|
|
16
|
+
from mindbridgeapi.chunked_file_part_item import ChunkedFilePartItem
|
|
17
|
+
from mindbridgeapi.column_mapping import ColumnMapping
|
|
18
|
+
from mindbridgeapi.engagement_item import EngagementItem
|
|
19
|
+
from mindbridgeapi.enumerations.analysis_source_type import AnalysisSourceType
|
|
20
|
+
from mindbridgeapi.enumerations.analysis_type import AnalysisType
|
|
21
|
+
from mindbridgeapi.enumerations.system_library import SystemLibrary
|
|
22
|
+
from mindbridgeapi.file_manager_item import FileManagerItem
|
|
23
|
+
from mindbridgeapi.generated_pydantic_model.model import (
|
|
24
|
+
PeriodType as AnalysisEffectiveDateMetricsPeriod,
|
|
25
|
+
)
|
|
26
|
+
from mindbridgeapi.generated_pydantic_model.model import Frequency
|
|
27
|
+
from mindbridgeapi.generated_pydantic_model.model import Status4 as TaskStatus
|
|
28
|
+
from mindbridgeapi.generated_pydantic_model.model import TargetWorkflowState
|
|
29
|
+
from mindbridgeapi.generated_pydantic_model.model import Type5 as FileManagerType
|
|
30
|
+
from mindbridgeapi.generated_pydantic_model.model import Type11 as TaskType
|
|
31
|
+
from mindbridgeapi.generated_pydantic_model.model import Type13 as TransactionIdType
|
|
32
|
+
from mindbridgeapi.generated_pydantic_model.model import Type17 as VirtualColumnType
|
|
33
|
+
from mindbridgeapi.library_item import LibraryItem
|
|
34
|
+
from mindbridgeapi.organization_item import OrganizationItem
|
|
35
|
+
from mindbridgeapi.server import Server
|
|
36
|
+
from mindbridgeapi.task_item import TaskItem
|
|
37
|
+
from mindbridgeapi.transaction_id_selection import TransactionIdSelection
|
|
38
|
+
from mindbridgeapi.virtual_column import VirtualColumn
|
|
39
|
+
|
|
40
|
+
__all__ = [
|
|
41
|
+
"AccountingPeriod",
|
|
42
|
+
"AnalysisItem",
|
|
43
|
+
"AnalysisPeriod",
|
|
44
|
+
"AnalysisSourceItem",
|
|
45
|
+
"AnalysisSourceTypeItem",
|
|
46
|
+
"AnalysisTypeItem",
|
|
47
|
+
"ChunkedFileItem",
|
|
48
|
+
"ChunkedFilePartItem",
|
|
49
|
+
"ColumnMapping",
|
|
50
|
+
"EngagementItem",
|
|
51
|
+
"AnalysisSourceType",
|
|
52
|
+
"AnalysisType",
|
|
53
|
+
"SystemLibrary",
|
|
54
|
+
"FileManagerItem",
|
|
55
|
+
"AnalysisEffectiveDateMetricsPeriod",
|
|
56
|
+
"Frequency",
|
|
57
|
+
"TaskStatus",
|
|
58
|
+
"TargetWorkflowState",
|
|
59
|
+
"FileManagerType",
|
|
60
|
+
"TaskType",
|
|
61
|
+
"TransactionIdType",
|
|
62
|
+
"VirtualColumnType",
|
|
63
|
+
"LibraryItem",
|
|
64
|
+
"OrganizationItem",
|
|
65
|
+
"Server",
|
|
66
|
+
"TaskItem",
|
|
67
|
+
"TransactionIdSelection",
|
|
68
|
+
"VirtualColumn",
|
|
69
|
+
]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright MindBridge Analytics Inc. all rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# This material is confidential and may not be copied, distributed,
|
|
5
|
+
# reversed engineered, decompiled or otherwise disseminated without
|
|
6
|
+
# the prior written consent of MindBridge Analytics Inc.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
from pydantic import ConfigDict, Field, model_validator
|
|
10
|
+
from mindbridgeapi.common_validators import _warning_if_extra_fields
|
|
11
|
+
from mindbridgeapi.generated_pydantic_model.model import (
|
|
12
|
+
ApiAccountingPeriodRead,
|
|
13
|
+
Frequency,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class AccountingPeriod(ApiAccountingPeriodRead):
|
|
18
|
+
fiscal_start_month: int = Field().merge_field_infos(
|
|
19
|
+
ApiAccountingPeriodRead.model_fields["fiscal_start_month"], default=1
|
|
20
|
+
)
|
|
21
|
+
fiscal_start_day: int = Field().merge_field_infos(
|
|
22
|
+
ApiAccountingPeriodRead.model_fields["fiscal_start_day"], default=1
|
|
23
|
+
)
|
|
24
|
+
frequency: Frequency = Field().merge_field_infos(
|
|
25
|
+
ApiAccountingPeriodRead.model_fields["frequency"], default=Frequency.ANNUAL
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
model_config = ConfigDict(
|
|
29
|
+
extra="allow",
|
|
30
|
+
validate_assignment=True,
|
|
31
|
+
validate_default=True,
|
|
32
|
+
validate_return=True,
|
|
33
|
+
)
|
|
34
|
+
_ = model_validator(mode="after")(_warning_if_extra_fields)
|