# Welcome to *geppy*’s documentation!¶

*geppy* is an evolutionary algorithm framework specially designed for gene expression programming (GEP) in Python. *geppy* is built on top of the more general evolutionary computation framework DEAP , which lacks support for GEP by itself. *geppy* conforms to DEAP’s design philosophy that it seeks to make algorithms explicit and data structures transparent in GEP. In the following, please first check the **Get Started** part to learn the core concepts of GEP and the related important data structures, with which you can build your own GEP application easily. Then, you can go through the **Tutorials & Examples** to get yourself familiar with *geppy*. All the APIs of *geppy* are well documented in details and can be found in the **Library Reference** part. Since *geppy* depends on DEAP, do remember to check the documentation of DEAP if you get stuck, especially the Overview of how a DEAP program is composed.

## Get started¶

## Tutorials & Examples¶

### Simple symbolic regression¶

- Boolean model identification (Getting started)
- Simple numerical expression inference 1 (Using ephemeral numerical constants (ENC))
- Simple numerical expression inference 2 (The GEP-RNC algorithm for random numerical constant evolution)

### Advanced symbolic regression¶

- Improving symbolic regression with linear scaling (Paper:
*Improving Symbolic Regression with Interval Arithmetic and Linear Scaling*) - Apply symbolic regression to teh UCI Power Plant dataset