Contributing

Right now, pyiso only has interfaces for collecting a small subset of the interesting electricity data that the ISOs provide. You can help by adding more! Please create an issue on github if you have questions about any of this.

For developers

When you’re ready to get started coding:

  • fork the repo
  • install in development mode: python setup.py develop
  • run the tests: python setup.py test (or python setup.py test -s tests.test_some_file.TestSomeClass.test_some_method to run a specific subset of the tests)
  • add tests to the tests directory and code to the pyiso directory, following the conventions that you see in the existing code
  • add docs to the docs/source directory
  • add a note to the Upcoming Changes section in README.md on a separate line
  • send a pull request
  • sign the CLA at https://www.clahub.com/agreements/WattTime/pyiso (see below)

For data users

Found a bug, or know of a data source that you think pyiso should include? Please add an issue to github. Ideas of new balancing authorities (anywhere in the world) and of new data streams from ISOs we already support are both very welcome.

For project admins

Before making a release, check that these are true in the master branch of the GitHub repo:

  • the changelog in README.md includes all changes since the last release
  • test coverage is good and the tests pass locally and on Travis
  • changes are reflected in the docs in docs/source
  • the version number is upgraded in pyiso/__init__.py

To make a release, run these commands (replacing 0.x.y with the correct version number):

git checkout master
git pull origin master
git tag v0.x.y
git push origin master --tags
python setup.py sdist upload

Releasing via twine:

python setup.py sdist
twine upload dist/pyiso-VERSION.tar.gz