A python framework for testing, deploying and interacting with Ethereum smart contracts.
Branch: master
Clone or download
Latest commit 6b34d4d Feb 19, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs update docs Feb 18, 2019
lib config Feb 19, 2019
projects docs update wip Feb 14, 2019
.gitignore python 3.7 > python3.6, venv instead of virtualenv Jan 10, 2019
CHANGELOG changelog Feb 19, 2019
Dockerfile Remove ;true in Dockerfile Feb 14, 2019
LICENSE Initial commit Nov 2, 2018
README.md readme Feb 13, 2019
__main__.py add --stable and --dev flags Feb 18, 2019
brownie-install.sh Bash fix: use numeric context Feb 14, 2019
config.json config - default_contract_owner Feb 18, 2019
requirements.txt use py-solc-x 0.1.1 Feb 13, 2019



Brownie is a python framework for deploying, testing and interacting with ethereum smart contracts.


There is an issue in ganache-cli 6.3.0 relating to evm_revert that may cause tests to unexpectedly fail. At present, it is recommended to use version 6.2.5.

As brownie relies on py-solc-x, you do not need solc installed locally but you must install all required solc dependencies.

You may also wish to install opview for test coverage visualization.


Ubuntu and OSX

curl https://raw.githubusercontent.com/HyperLink-Technology/brownie/master/brownie-install.sh | sh


To build the image:

docker build https://github.com/HyperLink-Technology/brownie.git -t brownie:1

You can then run brownie with:

docker run -v $PWD:/usr/src brownie brownie

Quick Usage

To set up the default folder and file structure for brownie use:

brownie init

From there, type brownie for basic usage information.


Brownie documentation is hosted at Read the Docs.


This project is still in development and should be considered a beta. Comments, questions, criticisms and pull requests are welcomed.


This project is licensed under the MIT license.