Check out our live data understanding dashboard!
Check out the presentation slides
Python bindings for the Energy Information Administration API
Our repository consists of two major components: a package eia-py
and a set of
exploratory data analysis notebooks (EDA).
The package can be found under eia
. The package handles data scraping and loading.
The Notebooks/
directory holds all tools required to perform exploratory data analysis. The
relationship between the two is that the scripts and notebooks in Notebooks/
rely on the
package in eia
.
The docs/
directory contains the files needed for the dashboard and API documentation page.
The slides/
directory contains the slides which were used for the presentation.
The schema/
directory contains the API Schema details.
- os
- re
- collections
- pandas
- numpy
- pandas_profiling
- json
- requests
- tqdm
- plotly
- matplotlib
- statsmodels
- prophet
- sklearn
- warnings
The easiest way to get started is to install from PyPi:
pip install eia-py-api
Next you'll need to export an API key in your environment variables:
export EIA_API_KEY="{your-key}"
You can get an API key from the EIA website.
For examples, please check out our Notebooks directory.
Contribute to the eia-py GitHub repo.
To get started working on the repository, please clone the repo:
git clone https://github.com/lukewood/eia-py
Then install the repo:
cd eia-py
python setup.py develop
This will link the package. To test that your installation works, run the following in a python interpreted of your choice:
import eia
Then, you need to export an environment variable for the API key:
export EIA_API_KEY="{your-key}"
To make our development process streamlined and minimize conflicts we are doing all development via pull requests.
Please send all code updates via pull request on GitHub
The process to do so is documented here:
Please create a branch:
git checkout -b mybranch
Make a change:
echo 'hello_world = "123"' >> eia/test.py
Format the code:
./shell/format.sh
Next, make a commit:
git add .
git commit -m "Made some changes"
Push your changes to GitHub:
git push origin mybranch
Finally, go to the GitHub Repo URL, https://lukewood/eia-py, and create a pull request from your branch. Make sure everything looks good, and request a review. Then we can merge it.