Python Package Providing Clients for Mozilla Services

January 06, 2014 at 10:45 AM | categories: Python, Mozilla

I have a number of Python projects and tools that interact with various Mozilla services. I had authored clients for all these services as standalone Python modules so they could be reused across projects.

I have consolidated all these Python modules into a unified source control repository and have made the project available on PyPI. You can install it by running:

$ pip install mozautomation

Currently included in the Python package are:

  • A client for treestatus.mozilla.org
  • Module for extracting cookies from Firefox profiles (useful for programmatically getting Bugzilla auth credentials).
  • A client for reading and interpretting the JSON dumps of automation jobs
  • An interface to a SQLite database to manage associations between Mercurial changesets, bugs, and pushes.
  • Rudimentary parsing of commit messages to extract bugs and reviewers.
  • A client to obtain information about Firefox releases via the releases API
  • A module defining common Firefox source repositories, aliases, logical groups (e.g. twigs and integration trees), and APIs for fetching pushlog data.
  • A client for the self serve API

Documentation and testing is currently sparse. Things aren't up to my regular high quality standard. But something is better than nothing.

If you are interested in contributing, drop me a line or send pull requests my way!