TM1py 2.2__tar.gz → 2.2.2__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 (82) hide show
  1. {TM1py-2.2 → tm1py-2.2.2}/LICENSE +22 -22
  2. {TM1py-2.2 → tm1py-2.2.2}/PKG-INFO +181 -180
  3. {TM1py-2.2 → tm1py-2.2.2}/README.md +142 -154
  4. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Exceptions/Exceptions.py +201 -134
  5. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Exceptions/__init__.py +10 -10
  6. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Annotation.py +247 -170
  7. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Application.py +188 -188
  8. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Axis.py +119 -119
  9. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Chore.py +165 -165
  10. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/ChoreFrequency.py +68 -68
  11. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/ChoreStartTime.py +93 -93
  12. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/ChoreTask.py +80 -80
  13. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Cube.py +116 -116
  14. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Dimension.py +128 -128
  15. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Element.py +110 -110
  16. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/ElementAttribute.py +75 -75
  17. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Git.py +76 -76
  18. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/GitCommit.py +27 -27
  19. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/GitPlan.py +101 -101
  20. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/GitProject.py +1 -1
  21. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/GitRemote.py +28 -28
  22. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Hierarchy.py +343 -343
  23. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/MDXView.py +84 -84
  24. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/NativeView.py +331 -331
  25. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Process.py +512 -512
  26. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/ProcessDebugBreakpoint.py +236 -237
  27. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Rules.py +100 -100
  28. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Sandbox.py +87 -86
  29. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Server.py +30 -30
  30. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/Subset.py +295 -295
  31. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/TM1Object.py +27 -27
  32. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/User.py +179 -179
  33. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/View.py +39 -39
  34. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Objects/__init__.py +28 -28
  35. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/AnnotationService.py +96 -96
  36. tm1py-2.2.2/TM1py/Services/ApplicationService.py +898 -0
  37. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/AuditLogService.py +100 -100
  38. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/CellService.py +5465 -5462
  39. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ChoreService.py +299 -298
  40. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ConfigurationService.py +80 -80
  41. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/CubeService.py +426 -426
  42. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/DimensionService.py +213 -213
  43. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ElementService.py +1489 -1490
  44. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/FileService.py +419 -419
  45. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/HierarchyService.py +895 -879
  46. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/JobService.py +56 -56
  47. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/LoggerService.py +97 -97
  48. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ManageService.py +219 -219
  49. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/MessageLogService.py +161 -161
  50. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/MonitoringService.py +94 -94
  51. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ObjectService.py +85 -85
  52. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/PowerBiService.py +81 -81
  53. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ProcessService.py +753 -753
  54. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/RestService.py +1395 -1345
  55. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/SandboxService.py +135 -135
  56. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/SecurityService.py +255 -255
  57. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ServerService.py +292 -293
  58. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/SessionService.py +65 -65
  59. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/SubsetService.py +316 -305
  60. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/TM1Service.py +183 -168
  61. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ThreadService.py +73 -73
  62. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/TransactionLogService.py +107 -107
  63. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/UserService.py +71 -71
  64. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/ViewService.py +308 -307
  65. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/__init__.py +33 -33
  66. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Utils/MDXUtils.py +248 -248
  67. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Utils/Utils.py +1833 -1822
  68. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Utils/__init__.py +2 -2
  69. {TM1py-2.2 → tm1py-2.2.2}/TM1py/__init__.py +84 -77
  70. {TM1py-2.2 → tm1py-2.2.2}/TM1py.egg-info/PKG-INFO +181 -180
  71. {TM1py-2.2 → tm1py-2.2.2}/TM1py.egg-info/SOURCES.txt +0 -66
  72. {TM1py-2.2 → tm1py-2.2.2}/TM1py.egg-info/requires.txt +0 -1
  73. tm1py-2.2.2/TM1py.egg-info/top_level.txt +1 -0
  74. tm1py-2.2.2/pyproject.toml +79 -0
  75. {TM1py-2.2 → tm1py-2.2.2}/setup.cfg +4 -4
  76. tm1py-2.2.2/setup.py +3 -0
  77. TM1py-2.2/TM1py/Services/ApplicationService.py +0 -403
  78. TM1py-2.2/TM1py.egg-info/top_level.txt +0 -5
  79. TM1py-2.2/pyproject.toml +0 -29
  80. TM1py-2.2/setup.py +0 -53
  81. {TM1py-2.2 → tm1py-2.2.2}/TM1py/Services/GitService.py +0 -0
  82. {TM1py-2.2 → tm1py-2.2.2}/TM1py.egg-info/dependency_links.txt +0 -0
@@ -1,22 +1,22 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2017 Cubewise CODE
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 Cubewise CODE
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -1,180 +1,181 @@
1
- Metadata-Version: 2.1
2
- Name: TM1py
3
- Version: 2.2
4
- Summary: A python module for TM1.
5
- Home-page: https://github.com/cubewise-code/tm1py
6
- Download-URL: https://github.com/Cubewise-code/TM1py/tarball/2.2
7
- Author: Marius Wirtz
8
- Author-email: MWirtz@cubewise.com
9
- License: MIT
10
- Keywords: TM1,IBM Cognos TM1,Planning Analytics,PA,Cognos
11
- Classifier: Intended Audience :: Developers
12
- Classifier: License :: OSI Approved :: MIT License
13
- Classifier: Programming Language :: Python
14
- Classifier: Programming Language :: Python :: 3.6
15
- Classifier: Programming Language :: Python :: 3.7
16
- Classifier: Programming Language :: Python :: 3.8
17
- Classifier: Programming Language :: Python :: 3.9
18
- Classifier: Programming Language :: Python :: 3.10
19
- Classifier: Programming Language :: Python :: 3.11
20
- Classifier: Natural Language :: English
21
- Requires-Python: >=3.6
22
- Description-Content-Type: text/markdown
23
- Provides-Extra: pandas
24
- Provides-Extra: dev
25
- License-File: LICENSE
26
-
27
- <h1 align="center">
28
- <img src="https://s3-ap-southeast-2.amazonaws.com/downloads.cubewise.com/web_assets/CubewiseLogos/TM1py-logo.png" style="width: 70%; height: 70%;text-align: center"/>
29
-
30
-
31
- ![PyPI - License](https://img.shields.io/pypi/l/TM1py)
32
- ![PyPI - Version](https://img.shields.io/pypi/v/TM1py)
33
- ![Pepy Total Downloads](https://img.shields.io/pepy/dt/TM1py)
34
- </h1>
35
-
36
- TM1py is the python package for IBM Planning Analytics (TM1).
37
-
38
- ``` python
39
- with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
40
- subset = Subset(dimension_name='Month', subset_name='Q1', elements=['Jan', 'Feb', 'Mar'])
41
- tm1.subsets.create(subset, private=True)
42
- ```
43
-
44
- Features
45
- =======================
46
-
47
- TM1py offers handy features to interact with TM1 from Python, such as
48
-
49
- - Functions to read data from cubes through cube views or MDX queries (e.g. `tm1.cells.execute_mdx`)
50
- - Functions to write data to cubes (e.g. `tm1.cells.write`)
51
- - Functions to update dimensions and hierarchies (e.g. `tm1.hierarchies.get`)
52
- - Functions to update metadata, clear or write to cubes directly from pandas dataframes (e.g. `tm1.elements.get_elements_dataframe`)
53
- - Async functions to easily parallelize your read or write operations (e.g. `tm1.cells.write_async`)
54
- - Functions to execute TI process or loose statements of TI (e.g. `tm1.processes.execute_with_return`)
55
- - CRUD features for all TM1 objects (cubes, dimensions, subsets, etc.)
56
-
57
- Requirements
58
- =======================
59
-
60
- - python (3.7 or higher)
61
- - requests
62
- - requests_negotiate_sspi
63
- - TM1 11, TM1 12
64
- - keyring
65
-
66
-
67
- Optional Requirements
68
- =======================
69
-
70
- - pandas
71
-
72
- Install
73
- =======================
74
-
75
- > without pandas
76
-
77
- pip install tm1py
78
-
79
- > with pandas
80
-
81
- pip install "tm1py[pandas]"
82
-
83
- > keyring
84
-
85
- pip install keyring
86
-
87
- Usage
88
- =======================
89
-
90
- > TM1 11 on-premise
91
-
92
- ``` python
93
- from TM1py.Services import TM1Service
94
-
95
- with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
96
- print(tm1.server.get_product_version())
97
- ```
98
-
99
- > TM1 11 on IBM cloud
100
-
101
- ``` python
102
- with TM1Service(
103
- base_url='https://mycompany.planning-analytics.ibmcloud.com/tm1/api/tm1/',
104
- user="non_interactive_user",
105
- namespace="LDAP",
106
- password="U3lSn5QLwoQZY2",
107
- ssl=True,
108
- verify=True,
109
- async_requests_mode=True) as tm1:
110
- print(tm1.server.get_product_version())
111
- ```
112
-
113
-
114
- > TM1 12 PAaaS
115
-
116
- ``` python
117
- from TM1py import TM1Service
118
-
119
- params = {
120
- "base_url": "https://us-east-1.planninganalytics.saas.ibm.com/api/<TenantId>/v0/tm1/<DatabaseName>/",
121
- "user": "apikey",
122
- "password": "<TheActualApiKey>",
123
- "async_requests_mode": True,
124
- "ssl": True,
125
- "verify": True
126
- }
127
-
128
- with TM1Service(**params) as tm1:
129
- print(tm1.server.get_product_version())
130
- ```
131
-
132
- > TM1 12 on-premise & Cloud Pak For Data
133
-
134
- ``` python
135
- with TM1Service(
136
- address="tm1-ibm-operands-services.apps.cluster.your-cluster.company.com",
137
- instance="your instance name",
138
- database="your database name",
139
- application_client_id="client id",
140
- application_client_secret="client secret",
141
- user="admin",
142
- ssl=True) as tm1:
143
-
144
- print(tm1.server.get_product_version())
145
- ```
146
-
147
- > TM1 12 on-premise with access token
148
-
149
- ``` python
150
- params = {
151
- "base_url": "https://pa12.dev.net/api/<InstanceId>/v0/tm1/<DatabaseName>",
152
- "user": "8643fd6....8a6b",
153
- "access_token":"<TheActualAccessToken>",
154
- "async_requests_mode": True,
155
- "ssl": True,
156
- "verify": True
157
- }
158
-
159
- with TM1Service(**params) as tm1:
160
- print(tm1.server.get_product_version())
161
- ```
162
-
163
-
164
- Documentation
165
- =======================
166
-
167
- https://tm1py.readthedocs.io/en/master/
168
-
169
-
170
- Issues
171
- =======================
172
-
173
- If you find issues, sign up in GitHub and open an Issue in this repository
174
-
175
-
176
- Contribution
177
- =======================
178
-
179
- TM1py is an open source project. It thrives on contribution from the TM1 community.
180
- If you find a bug or feel like you can contribute please fork the repository, update the code and then create a pull request so we can merge in the changes.
1
+ Metadata-Version: 2.4
2
+ Name: TM1py
3
+ Version: 2.2.2
4
+ Summary: A python module for TM1.
5
+ Author-email: Marius Wirtz <MWirtz@cubewise.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/cubewise-code/tm1py
8
+ Project-URL: Download, https://github.com/cubewise-code/tm1py/releases/latest
9
+ Keywords: TM1,IBM Cognos TM1,Planning Analytics,PA,Cognos
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3.6
14
+ Classifier: Programming Language :: Python :: 3.7
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Natural Language :: English
22
+ Requires-Python: >=3.7
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: ijson
26
+ Requires-Dist: requests
27
+ Requires-Dist: pytz
28
+ Requires-Dist: requests_negotiate_sspi; platform_system == "Windows"
29
+ Requires-Dist: mdxpy>=1.3.1
30
+ Provides-Extra: pandas
31
+ Requires-Dist: pandas; extra == "pandas"
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest; extra == "dev"
34
+ Requires-Dist: pytest-xdist; extra == "dev"
35
+ Requires-Dist: python-dateutil; extra == "dev"
36
+ Requires-Dist: black; extra == "dev"
37
+ Requires-Dist: ruff; extra == "dev"
38
+ Dynamic: license-file
39
+
40
+ <h1 align="center">
41
+ <img src="https://raw.githubusercontent.com/cubewise-code/tm1py/master/Images/Logo.svg" style="width: 70%; height: 70%; text-align: center"/>
42
+
43
+ ![PyPI - License](https://img.shields.io/pypi/l/TM1py)
44
+ ![PyPI - Version](https://img.shields.io/pypi/v/TM1py)
45
+ ![Pepy Total Downloads](https://img.shields.io/pepy/dt/TM1py)
46
+ </h1>
47
+
48
+ TM1py is the python package for IBM Planning Analytics (TM1).
49
+
50
+ ``` python
51
+ with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
52
+ subset = Subset(dimension_name='Month', subset_name='Q1', elements=['Jan', 'Feb', 'Mar'])
53
+ tm1.subsets.create(subset, private=True)
54
+ ```
55
+
56
+ Features
57
+ =======================
58
+
59
+ TM1py offers handy features to interact with TM1 from Python, such as
60
+
61
+ - Functions to read data from cubes through cube views or MDX queries (e.g. `tm1.cells.execute_mdx`)
62
+ - Functions to write data to cubes (e.g. `tm1.cells.write`)
63
+ - Functions to update dimensions and hierarchies (e.g. `tm1.hierarchies.get`)
64
+ - Functions to update metadata, clear or write to cubes directly from pandas dataframes (e.g. `tm1.elements.get_elements_dataframe`)
65
+ - Async functions to easily parallelize your read or write operations (e.g. `tm1.cells.write_async`)
66
+ - Functions to execute TI process or loose statements of TI (e.g. `tm1.processes.execute_with_return`)
67
+ - CRUD features for all TM1 objects (cubes, dimensions, subsets, etc.)
68
+
69
+ Requirements
70
+ =======================
71
+
72
+ - [Python](https://www.python.org/downloads/) (3.7 or higher)
73
+ - [TM1/Planning Analytics](https://www.ibm.com/products/planning-analytics) (v11 or higher)
74
+
75
+ Optional Python Packages
76
+ =======================
77
+
78
+ - pandas
79
+ - networkx
80
+
81
+ Install
82
+ =======================
83
+
84
+ > without pandas
85
+
86
+ pip install tm1py
87
+
88
+ > with pandas
89
+
90
+ pip install "tm1py[pandas]"
91
+
92
+ Usage
93
+ =======================
94
+
95
+ > TM1 11 on-premise
96
+
97
+ ``` python
98
+ from TM1py.Services import TM1Service
99
+
100
+ with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
101
+ print(tm1.server.get_product_version())
102
+ ```
103
+
104
+ > TM1 11 on IBM cloud
105
+
106
+ ``` python
107
+ with TM1Service(
108
+ base_url='https://mycompany.planning-analytics.ibmcloud.com/tm1/api/tm1/',
109
+ user="non_interactive_user",
110
+ namespace="LDAP",
111
+ password="U3lSn5QLwoQZY2",
112
+ ssl=True,
113
+ verify=True,
114
+ async_requests_mode=True) as tm1:
115
+ print(tm1.server.get_product_version())
116
+ ```
117
+
118
+ > TM1 12 PAaaS
119
+
120
+ ``` python
121
+ from TM1py import TM1Service
122
+
123
+ params = {
124
+ "base_url": "https://us-east-1.planninganalytics.saas.ibm.com/api/<TenantId>/v0/tm1/<DatabaseName>/",
125
+ "user": "apikey",
126
+ "password": "<TheActualApiKey>",
127
+ "async_requests_mode": True,
128
+ "ssl": True,
129
+ "verify": True
130
+ }
131
+
132
+ with TM1Service(**params) as tm1:
133
+ print(tm1.server.get_product_version())
134
+ ```
135
+
136
+ > TM1 12 on-premise & Cloud Pak For Data
137
+
138
+ ``` python
139
+ with TM1Service(
140
+ address="tm1-ibm-operands-services.apps.cluster.your-cluster.company.com",
141
+ instance="your instance name",
142
+ database="your database name",
143
+ application_client_id="client id",
144
+ application_client_secret="client secret",
145
+ user="admin",
146
+ ssl=True) as tm1:
147
+
148
+ print(tm1.server.get_product_version())
149
+ ```
150
+
151
+ > TM1 12 on-premise with access token
152
+
153
+ ``` python
154
+ params = {
155
+ "base_url": "https://pa12.dev.net/api/<InstanceId>/v0/tm1/<DatabaseName>",
156
+ "user": "8643fd6....8a6b",
157
+ "access_token":"<TheActualAccessToken>",
158
+ "async_requests_mode": True,
159
+ "ssl": True,
160
+ "verify": True
161
+ }
162
+
163
+ with TM1Service(**params) as tm1:
164
+ print(tm1.server.get_product_version())
165
+ ```
166
+
167
+ Documentation
168
+ =======================
169
+
170
+ <https://tm1py.org/>
171
+
172
+ Issues
173
+ =======================
174
+
175
+ If you find issues, sign up in GitHub and open an Issue in this repository
176
+
177
+ Contribution
178
+ =======================
179
+
180
+ TM1py is an open source project. It thrives on contribution from the TM1 community.
181
+ If you find a bug or feel like you can contribute please fork the repository, update the code and then create a pull request so we can merge in the changes.