README.md

# Aerfoirt

Aerfoirt is very simple library for finding information about world airports.
Currently it support look up by three-letter airport codes and returns data
like: gps coords, city, country, and timezone.

Aerfoirt ships with some starter data and will ping the SITA database once a day
to be updated of any changes. Updating requires an API key from
https://www.developer.aero/.


## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:

  1. Add aerfoirt to your list of dependencies in `mix.exs`:

    ```elixir
    def deps do
      [{:aerfoirt, "~> 0.0.1"}]
    end
    ```

  2. Ensure aerfoirt is started before your application:

    ```elixir
    def application do
      [applications: [:aerfoirt]]
    end
    ```


## Usage

To configure Aerfoirt to update data set the `site_api_key` in
`config/config.exs` with the API you received from
https://www.developer.aero/:

```elixir
config :aerfoirt, sita_api_key: "yourapikeyshouldgohere"
```

To look up an airport by its airport code:

```elixir
> Aerfoirt.lookup("CDG")
%Aerfoirt.Airport{city: "Paris", code: "CDG", coords: [2.55, 49.012779],
 country: "France", name: "Chrarles De Gaulle", timezone: "Europe/Paris"}
```


## Name

**Aerfoirt** means _airports_ in Irish. I wanted to use something that wasn't
going to cause much namespace conflict with other projects and I've always liked
the way Irish words look.


## Short Term TODO

- [ ] Do not require an API key to use the library
- [ ] Do no attempt to auto update if API key is absent
- [ ] Improve test suite


## License

Aerfoirt is released under the MIT license. See the LICENSE file.