# Mozbase

Mozbase is a set of easy-to-use Python packages forming a supplemental standard
library for Mozilla. It provides consistency and reduces redundancy in
automation and other system-level software. All of Mozilla's test harnesses use
mozbase to some degree, including Talos, mochitest, reftest, Autophone, and
Eideticker.

Learn more about mozbase at the [project page][].

Read [detailed docs][] online, or build them locally by running "make html" in
the docs directory.

Consult [open][] [bugs][] and feel free to file [new bugs][].


[project page]: https://wiki.mozilla.org/Auto-tools/Projects/Mozbase
[detailed docs]: http://mozbase.readthedocs.org/
[open]: https://bugzilla.mozilla.org/buglist.cgi?resolution=---&component=Mozbase&product=Testing
[bugs]: https://bugzilla.mozilla.org/buglist.cgi?resolution=---&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=mozbase
[new bugs]: https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&component=Mozbase
