# Introduction

**hgf** is a hierarchical GUI framework for Python, built on top of Pygame. It is designed to ease the creation of graphical applications that,

- **Support external configuration** - controls, options, style
- **Manage structural complexity** - by composing simple elements
- **Separate major concerns** - behavior, layout, appearance

With code that is easy to read, write, and extend, with minimal boilerplate.

hgf is currently version 0.2.2, pre-alpha. The API may be volatile, but any changes to it will be made in an effort to better manifest these design principles.


## Using hgf

### Documentation

You can read the online documentation [here](https://benfrankel.github.io/hgf) (**outdated and incomplete**).

### Dependencies

- Python 3.x
- Pygame 1.9.2+ (should be handled by pip)
- pyperclip (should be handled by pip)

### Installation

hgf is available on [PyPI](https://pypi.python.org/pypi), so you can install the latest version using [pip](https://pip.pypa.io/en/stable/):

`pip install hgf`

### License

hgf is licensed under the [Apache 2.0](https://github.com/BenFrankel/hgf/blob/master/LICENSE) license, so you are free to use, distribute, and modify it.

