Tm1py

Latest version: v2.1

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

1.4.1

New Features
- new methods in `ElementService`: `get_number_of_elements`, `get_number_of_consolidated_elements`, `get_number_of_leaf_elements`

Bugfixes
- restrict escaping of single quotes in url to object names only
- Fix for 124

1.4.0

Highlights

New `create`, `get` and `delete` methods in `ApplicationService`

python
with TM1Service(address=ADDRESS, port=PORT, user=USER, password=PASSWORD, ssl=SSL) as tm1:
app = CubeApplication(path="Planning Sample", name="Sample Application", cube_name="Bike Shares")
tm1.applications.create(application=app, private=False)


python
with TM1Service(address=ADDRESS, port=PORT, user=USER, password=PASSWORD, ssl=SSL) as tm1:
with open(path_to_file, 'rb') as file:
app = DocumentApplication(path="Planning Sample", name="Sample Application", content=file.read())
tm1.applications.create(application=app, private=False)


New Features
- New `create`, `get`, `delete` methods for applications
- `execute_view_dataframe`, `execute_mdx_dataframe` methods now expose all arguments
from the `pd.read_csv` methods (e.g. `dtypes`, `parse_dates`) 143
More details on the arguments here:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
- Add new method `remove_all_edges` to `HierarchyService` to unwind hierarchy efficiently
- New `get_element_identifiers` methods that returns all element names and alias values in a `set`
- Add `get_last_data_update` method to `CubeService` 177
- Add `load` and `unload` methods to `CubeService` 163
- Add `check_rules` method to `CubeService`

Bug Fixes
- Fix issue in chore `update` method 133 and 134
- Fix handling of `Sandboxes` dimension when writing to cube 136
- Fix return of `extract_cellset_rows_and_values` method when MDX creates empty cellset 135
- Escape single quotes in all object names in odata references 145
- Undo silent type conversion in values column. Type of Value column in resulting dataframe from
`execute_mdx_dataframe`, `execute_view_dataframe` is derived from data, unless specified otherwise through `dtype` argument.

Compatibility Notes
`ApplicationService` has been redesigned and is not backwards compatible.

Acknowledgments
Big thanks to tombrzy , ducklingasa , rclapp , pbuncik for contributing code to this release and many others for reporting bugs and requesting features.

How to upgrade TM1py
To upgrade TM1py, just use the following command:


pip install TM1py --upgrade
`

1.3.1

Fixes

Dynamic dependencies in setup.py script depending on OS. Fixes 128

1.3.0

**TM1py** version 1.3.0 is now available. [Getting started with TM1py](https://code.cubewise.com/blog/getting-started-with-tm1py/)

Enhancements

- TM1py now supports SSO authentication to TM1 using CAM gateway. Previously to connect to a TM1 instance with CAM security, you had to put your user name and passord in the configuration file as below:

[tm1srv01]
address=localhost
port=8884
user=vviau
password=YourPassword
namespace=CUBEWISE
ssl=True

Now you can replace your user and password with the new gateway parameter such as below

[tm1srv02]
address=localhost
port=8884
namespace=CUBEWISE
gateway=http://localhost:80/ibmcognos/cgi-bin/cognos.cgi
ssl=True

TM1py will use your Windows login to authenticate with TM1. Thanks to [adscheevel ](https://github.com/cubewise-code/tm1py/pull/114) for adding this new feature to TM1py.

- The whoami method has been added to get the user and group assignments, associated with your active session. [106](https://github.com/cubewise-code/tm1py/issues/106)

- Get default element of a hierarchy without need to allocate full hierarchy in memory using the two new HierarchyService methods. [95](https://github.com/cubewise-code/tm1py/issues/95):
get_default_member(dimension_name, hierarchy_name)
update_default_member(dimension_name, hierarchy_name, member_name)

- New boolean parameter to enable base64 encoded passwords in the TM1Service constructor: decode64. [87](https://github.com/cubewise-code/tm1py/issues/87)

- A new remove_element(element_name) method has been added to the Hierarchy class. It implicitly removes all edges from the hierarchy that are related to the element. [83](https://github.com/cubewise-code/tm1py/issues/83)

- Introducing a new skip_contexts (boolean) argument in all execute_mdx functions to reduce the response size by omitting the title elements and thus speeds up the execution. [82](https://github.com/cubewise-code/tm1py/issues/82)

- Two new methods have been added to the CubeService to query and update technical dimension order of a cube. [81](https://github.com/cubewise-code/tm1py/issues/81)

- Updating a subset is now done entirely through the TM1 REST API instead of calling the SubsetDeleteAllElements TI function behind the scenes. [93](https://github.com/cubewise-code/tm1py/issues/93)

- New argument in TM1Service constructor: connection_pool_size allows for a custom sized http connection pool. Required when using TM1py in a multithreaded environment.

- New method in CellService: relative_proportional_spread

How to upgrade TM1py

To upgrade TM1py, just use the following command:


pip install TM1py --upgrade

1.2.0

**TM1py** version 1.2.0 is now available. [Getting started with TM1py](https://code.cubewise.com/blog/getting-started-with-tm1py/)

Enhancements
- **RestService** - TM1py supports now base64 encoded password, TM1py is going to try first to connect using plain password, if authentication fails, it is going to retry authentication with b64decoded password. [66](https://github.com/cubewise-code/TM1py/pull/66)
- **ServerService** - New functions to get and update tm1s.cfg parameters live[76](https://github.com/cubewise-code/TM1py/pull/76):
- `get_static_configuration`: get the configuration, as specified in the tm1s.cfg file
- `get_active_configuration`: get the configuration, as it currently applies in the TM1 Server
- `update_static_configuration`: update the configuration in the tm1s.cfg and trigger TM1 to re-read the file
- **CellService** - New functions to extract (pandas) pivot tables (in the shape of the view) from a cube view or MDX [74](https://github.com/cubewise-code/TM1py/pull/74):
- `execute_view_dataframe_pivot`: get data from a cube view
- `execute_mdx_dataframe_pivot` get data from MDX

<center><img src="https://s3-ap-southeast-2.amazonaws.com/downloads.cubewise.com/web_assets/tm1py-asset/pivot+mdx.png"/></center>

- **ViewService** - new (dynamic) `get` method that returns MDX view or native view. [78](https://github.com/cubewise-code/TM1py/pull/78)
- **ProcessService** - New process execution functions[68](https://github.com/cubewise-code/TM1py/pull/68):
- `execute_with_return`: execute a TM1 process and if process failed show the error.
- `get_error_log_file_content`: get the content of error-log-files (e.g. TM1ProcessError_20180926213819_65708356_979b248b-232e622c6.log)
- **ElementService** - New functions to help managing elements [64](https://github.com/cubewise-code/TM1py/pull/64):
- `get_elements`: get all elements
- `get_leaf_elements`: get all leaf elements
- `get_leaf_element_names`: get all leaf elements name
- **TM1Service** - New optional parameter for `session_context`, that controls what is displayed in the session column in Arc / Pulse / TM1top. Default value is "TM1py" [61](https://github.com/cubewise-code/TM1py/pull/61)
- New MDX parser to extract dimension composition from MDX query
- Improved test suite. Now all tests are deterministic and stand-alone. Success of tests no longer depends on execution order [72](https://github.com/cubewise-code/TM1py/pull/61)

Bugfixes
- Bugfix in default view format. Default view format is now: 0.
- Operations on users and groups (e.g. `add_user_to_groups`) are now case-and-space-insensitive
- Update of dimension name on python object triggers name update of same-named-hierarchy in dimension [70](https://github.com/cubewise-code/TM1py/pull/70)
- Fix duplication of tasks when updating chores [69](https://github.com/cubewise-code/TM1py/pull/69)

How to upgrade TM1py

To upgrade TM1py, just use the following Python command:
* pip install TM1py --upgrade

1.1.0

Bugfixes:
- Remove variable_ui_data as well when removing variable from process
- Add new variables to process as type 'Other' instead of 'Ignore'
- Fix issue that cellsets would not be destroyed after usage

New Features
- New functions to retrieve TM1 data in a UI friendly format: execute_mdx_ui_dygraph, execute_mdx_ui_array
- Make tests compatible with TM1 11.3 (adapt to change in zero
suppression for calculated Members in MDX)
- Prettify execute function. Execute function in ProcessService now takes TI Parameters as keyword arguments. Rename of name_process argument to process_name.
- Construct_mdx function in MDXUtils now more simple and robust
- More robust test cases for construct_mdx and underlying functions

Page 3 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.