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.
Files changed (43) hide show
  1. mindbridge_api_python_client-1.4.8/LICENSE.txt +11 -0
  2. mindbridge_api_python_client-1.4.8/PKG-INFO +64 -0
  3. mindbridge_api_python_client-1.4.8/README.md +30 -0
  4. mindbridge_api_python_client-1.4.8/pyproject.toml +130 -0
  5. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/__init__.py +69 -0
  6. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/accounting_period.py +34 -0
  7. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analyses.py +383 -0
  8. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_item.py +167 -0
  9. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_period.py +68 -0
  10. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_source_item.py +198 -0
  11. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_source_type_item.py +55 -0
  12. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_source_types.py +36 -0
  13. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_sources.py +132 -0
  14. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_type_item.py +45 -0
  15. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/analysis_types.py +62 -0
  16. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/async_results.py +194 -0
  17. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/base_set.py +175 -0
  18. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/chunked_file_item.py +37 -0
  19. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/chunked_file_part_item.py +25 -0
  20. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/chunked_files.py +70 -0
  21. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/column_mapping.py +21 -0
  22. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/common_validators.py +71 -0
  23. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/data_tables.py +206 -0
  24. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/engagement_item.py +100 -0
  25. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/engagements.py +93 -0
  26. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/analysis_source_type.py +142 -0
  27. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/analysis_type.py +36 -0
  28. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/deprecated_enum.py +69 -0
  29. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/enumerations/system_library.py +32 -0
  30. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/exceptions.py +92 -0
  31. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/file_manager.py +212 -0
  32. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/file_manager_item.py +107 -0
  33. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/generated_pydantic_model/model.py +7035 -0
  34. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/libraries.py +54 -0
  35. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/library_item.py +44 -0
  36. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/organization_item.py +61 -0
  37. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/organizations.py +82 -0
  38. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/server.py +202 -0
  39. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/task_item.py +47 -0
  40. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/tasks.py +150 -0
  41. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/transaction_id_selection.py +31 -0
  42. mindbridge_api_python_client-1.4.8/src/mindbridgeapi/users.py +42 -0
  43. 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)