The algorithmic differentation tool pyadjoint and add-ons

The full documentation is available here


First install FEniCS or Firedrake

Then install the pyadjoint with: pip install git+

Reporting bugs

If you found a bug, create an issue.


We love pull requests from everyone.

Fork, then clone the repository:

git clone

Make sure the tests pass:

py.test tests

Make your change. Add tests for your change. Make the tests pass:

py.test tests

Push to your fork and submit a pull request.

At this point you're waiting on us. We may suggest some changes or improvements or alternatives.

Some things that will increase the chance that your pull request is accepted:

  • Write tests.
  • Add Python docstrings that follow the Google Style.
  • Write good commit and pull request message.


This software is licensed under the GNU LGPL v3.