<commit_before>![Tornado FX Logo](graphics/tornado-fx-logo.png?raw=true "Tornado FX")
# Tornado FX

Lightweight JavaFX Framework for Kotlin

## Features

- Dependency injection
- Type safe builders
- Async task execution
- MVC
- Extremely light weight
- Small, easy to grasp API
- REST client with support for model objects
- Zero config, no XML, no annotations

## Getting started

- [Changelog](CHANGELOG.md)
- [Wiki](https://github.com/edvin/tornadofx/wiki)
- [Documentation](https://github.com/edvin/tornadofx/wiki/Documentation) 
- [Example Application](https://github.com/edvin/tornadofx-samples) 

### Add Tornado FX to your project

```xml
<dependency>
	<groupId>no.tornado</groupId>
	<artifactId>fx</artifactId>
	<version>1.2.2</version>
</dependency><commit_msg>Updated README to reference 1.2.3<commit_after>![Tornado FX Logo](graphics/tornado-fx-logo.png?raw=true "Tornado FX")
# Tornado FX

Lightweight JavaFX Framework for Kotlin

## Features

- Dependency injection
- Type safe builders
- Async task execution
- MVC
- Extremely light weight
- Small, easy to grasp API
- REST client with support for model objects
- Zero config, no XML, no annotations

## Getting started

- [Changelog](CHANGELOG.md)
- [Wiki](https://github.com/edvin/tornadofx/wiki)
- [Documentation](https://github.com/edvin/tornadofx/wiki/Documentation) 
- [Example Application](https://github.com/edvin/tornadofx-samples) 

### Add Tornado FX to your project

```xml
<dependency>
	<groupId>no.tornado</groupId>
	<artifactId>fx</artifactId>
	<version>1.2.3</version>
</dependency>
{'fraction_non_alphanumeric': 0.13427109974424553, 'fraction_numerical': 0.005754475703324808, 'mean_word_length': 4.7749077490774905, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1901461', 'n_tokens_mistral': 568, 'n_tokens_neox': 528, 'n_words': 127}