Beefore is a set of tooling that automatically performs checks on pull requests (PRs) before they are merged in and reports back any issues. This is done to keep style consistency across all projects and no matter who is committing the code. If further information for each of the check that are made is needed, follow the links referenced in each of the check sections below.



Check for the existence of a Developer Certificate of Origin in the commit. A DCO is a legally binding statement that asserts that you are the creator of your contribution, and that you wish to allow BeeWare to use your work. For more details see

Python Checks

For checking style on python code flake8 is the tool that is used.

The only exception to the pep8 standards that are applied by flake8 is the allowing of up to 199 character. Further information about this and what else is expected can be found at

Java Checks

The tool used for checking the standards for java code is checkstyle

Javascript Checks

Eslint is the tool that is used to apply the rules

How does it work

Each of the projects under Beeware has a beekeeper.yml file that defines checks and tests that are required. The Beefore tests are part of pull_request and gets kicked off when any pull request is raised against the project. The request code is checked for the lines that have changed and these are then run against the style checkers. Should any issues be found the PR will be updated with the lines that have failed and the reason why. These should be fixed before the PR is resubmitted.

Running locally

To be developed…


Beefore is part of the BeeWare suite. You can talk to the community through: