Metadata-Version: 2.4
Name: tlk-parser
Version: 1.0.0
Summary: Read, transform, and write BioWare TLK V1 dialogue files
Author: mldelaney94
License-Expression: MIT
Project-URL: Homepage, https://github.com/mldelaney94/tlk_v1_parser
Project-URL: Repository, https://github.com/mldelaney94/tlk_v1_parser
Project-URL: Issues, https://github.com/mldelaney94/tlk_v1_parser/issues
Keywords: tlk,bioware,kotor,dialogue,parser
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# tlk-parser

Python library for reading, transforming, and writing BioWare **TLK V1** dialogue files (used in games such as *Baldurs Gate 2*).

## Install

```bash
pip install tlk-parser
```

For local development:

```bash
git clone https://github.com/mldelaney94/tlk_v1_parser.git
cd tlk_v1_parser
./setup_venv.sh
source ./activate_venv.sh
```

## Usage

```python
from tlk_parser import Tlk

tlk = Tlk("dialog.tlk")

# Inspect strings
for rep in tlk.string_reps:
    print(rep.str_string)

# Transform strings without mutating the original
translated = tlk.map_strings(lambda s: s.upper())
translated.save_tlk("dialog_upper.tlk")
```
