# neatly

**NOTE: *neatly* is not yet functional**  
  
*neatly* is a package designed to facilitate the implementation of [NeuroEvolution of Augmenting Topologies (NEAT)](http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf) in Python.

## Installation
*neatly* can be installed with pip via:
```bash
pip install neatly
```

## Usage/Example

### Configuration
When using *neatly*, although a config file isn't strictly necessary, it's highly highly recommended that you use one to streamline *neatly*'s implementation process. In the same folder as the python file that is using neatly functions, create a `config.toml` file. To get started, simply copy-paste this in:

```toml
i_count = 2     # Number of inputs
o_count = 1     # Number of outputs
pop_size = 30   # Population size of a single generation
```

This is an extremely basic `config.toml` file, but it gets the job done. Feel free to adjust the default values in order to steer *neatly* in the direction of your desired network/structure. There are many other useful parameters that can (and should) be tweaked, so make sure to check out <link-to-docs>

### Hello, world!

Here's an example of how to implement a very simple *neatly* network:

```python
import neatly

# Initialize a population and sort into a list of extant species
pop = neatly.initialize_population()
almanac = neatly.speciate(pop)
```

For more details and tutorials, see <link-to-docs>

## Contributing
To be completely honest, I don't know why anybody would want to contribute to this pile of hot garbage, and I don't really know how contributing works, but if you're interested email [me](mailto:seanrhee2024@u.northwestern.edu?subject=[Github]%20contributing%20to%20neatly).

## License
[MIT](https://choosealicense.com/licenses/mit/)