Metadata-Version: 2.1
Name: tm1filetools
Version: 0.3.1
Summary: A package for working with files created by a TM1 database
Author-email: Alexander Sutcliffe <sutcliffe.alex@gmail.com>
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Requires-Dist: chardet>=5.0.0
Project-URL: Bug Tracker, https://github.com/scrambldchannel/tm1-file-tools
Project-URL: Homepage, https://github.com/scrambldchannel/tm1-file-tools

# TM1 File Tools

A Python package that simplifies working with files associated with a TM1 server. It's primarily useful for linting or cleaning up a server directory without a dependency on a running TM1 Server.

## What it does

+ Scans a TM1 database folder and finds most TM1 related files (e.g. `.cub`, `.rux` etc)
+ Provides methods to rename and delete files and properties specific to a file type (e.g. the cube a `.vue` file refers to)
+ Return lists of "orphaned" files (e.g. a `.rux` without a corresponding `.cub`)

## What it doesn't do

+ Operations on binary files (e.g. it can't read or edit a `.cub` file)
+ Genuine parsing of text files (e.g. it can't verify whether a `.rux` is valid)
+ Interact with the REST API (use [TM1py](https://github.com/cubewise-code/tm1py) for that)

## Installation


```sh
pip install tm1filetools
```

## Example Usage

```python
from pathlib import Path
from tm1filetools import TM1FileTool

path = Path("./data")

ft = TM1FileTool(path)

orphans = ft.get_orphan_rules()

...

ft.delete_all_blbs()

...
```

