Sep 1, 2017

    Do more with TM1 with Python

    TM1py (pronounced “TM1-pie”) is a Python package that wraps the TM1 REST API in a simple to use library. That makes it easy to build stuff with TM1 and Python.

    Python is a widely-used general-purpose high-level programming language that lets you work quickly and integrate systems more effectively. We believe Python can be a valuable extension to the TM1 ecosystem.

    Get the best of TM1 and Python

    Leverage TM1 with Python

    Do statistical analysis and write machine learning on top of your TM1 application, these and many more are now easy to achieve with TM1py:

    • Use Pandas for Data Analysis and Statistics on top of your TM1 model.
    • Build Machine Learning and Forecasting Algorithms with Python and scikit-learn based on your TM1 data.
    • Load data (e.g. FX, stock data) from webservices into TM1.
    • Synchronize cubes throughout TM1 instances.
    • Get insights from your TM1 model. (e.g. Which views use this subset?, which process has an ODBC Datasource?).
    • Export TM1 data to XML, JSON, YAML, XLSX, …
    • Generate MDX Queries from cube views.

    Get started

    TM1py is licensed through an MIT license and can easily be downloaded though the python packaging system. To get started we recommend downloading the samples from Github and play around with it.
    If you have questions or remarks on TM1py it’s best to communicate through Github. 

    With a few lines of codes you can achieve a lot. For example the code below reschedule all chores for one instance by -1 hour:

    with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
        for chore in tm1.chores.get_all():
            chore.reschedule(hours=-1)
            tm1.chores.update(chore)
    

    Contribute

    TM1py is an open source project, just like Bedrock. It thrives on contribution from the TM1 community.
    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. 

    Related content

    Loading related content