diff --git a/CHANGELOG.md b/CHANGELOG.md index e09ffffa1..26dc10890 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ This changelog format is based on [Keep a Changelog](https://keepachangelog.com/ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased](https://github.com/iamdefinitelyahuman/brownie) + +## [1.3.2](https://github.com/iamdefinitelyahuman/brownie/tree/v1.3.2) - 2020-01-01 ### Added - error message for modulus by zero - progress bar when installing new version of solc diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9307619a4..d8e2cdfe8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,7 +3,7 @@ To start development for Brownie you should begin by cloning the repo. ```bash -$ git clone https://github.com/HyperLink-Technology/brownie.git +$ git clone https://github.com/iamdefinitelyahuman/brownie.git ``` ## Pull Requests diff --git a/README.md b/README.md index e91c04ff3..6dcc04d83 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,20 @@ [![Pypi Status](https://img.shields.io/pypi/v/eth-brownie.svg)](https://pypi.org/project/eth-brownie/) [![Build Status](https://travis-ci.com/iamdefinitelyahuman/brownie.svg?branch=master)](https://travis-ci.com/iamdefinitelyahuman/brownie) [![Docs Status](https://readthedocs.org/projects/eth-brownie/badge/?version=latest)](https://eth-brownie.readthedocs.io/en/latest/) [![Coverage Status](https://coveralls.io/repos/github/iamdefinitelyahuman/brownie/badge.svg?branch=master)](https://coveralls.io/github/iamdefinitelyahuman/brownie?branch=master) -Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts. +Brownie is a Python-based development and testing framework for smart contracts targeting the [Ethereum Virtual Machine](https://solidity.readthedocs.io/en/v0.6.0/introduction-to-smart-contracts.html#the-ethereum-virtual-machine). + +## Features + +* Contract testing via [pytest](https://github.com/pytest-dev/pytest), including trace-based coverage evaluation +* Powerful debugging tools, including python-style tracebacks and custom error strings +* Built-in console for quick project interaction +* Support for [ethPM](https://www.ethpm.com) packages ## Dependencies * [ganache-cli](https://github.com/trufflesuite/ganache-cli) - tested with version [6.7.0](https://github.com/trufflesuite/ganache-cli/releases/tag/v6.7.0) * [pip](https://pypi.org/project/pip/) -* [python3](https://www.python.org/downloads/release/python-368/) version 3.6 or greater, python3-dev, python3-tk +* [python3](https://www.python.org/downloads/release/python-368/) version 3.6 or greater, python3-dev As Brownie relies on [py-solc-x](https://github.com/iamdefinitelyahuman/py-solc-x), you do not need solc installed locally but you must install all required [solc dependencies](https://solidity.readthedocs.io/en/latest/installing-solidity.html#binary-packages). diff --git a/brownie/_cli/__main__.py b/brownie/_cli/__main__.py index 8342f98a3..be64aef56 100644 --- a/brownie/_cli/__main__.py +++ b/brownie/_cli/__main__.py @@ -11,7 +11,7 @@ from brownie.exceptions import ProjectNotFound from brownie.utils import color, notify -__version__ = "1.3.1" +__version__ = "1.3.2" __doc__ = """Usage: brownie [...] [options ] diff --git a/docs/conf.py b/docs/conf.py index c9874fb57..e08459471 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -37,7 +37,7 @@ def setup(sphinx): # The short X.Y version version = "" # The full version, including alpha/beta/rc tags -release = "v1.3.1" +release = "v1.3.2" # -- General configuration --------------------------------------------------- diff --git a/docs/gui.rst b/docs/gui.rst index ecebba422..ed90df666 100644 --- a/docs/gui.rst +++ b/docs/gui.rst @@ -23,6 +23,10 @@ Brownie includes a GUI for viewing test coverage data and analyzing the compiled Parts of this section assume a level of familiarity with EVM bytecode. If you are looking to learn more about the subject, Alejandro Santander from `OpenZeppelin `_ has written an excellent guide - `Deconstructing a Solidity Contract `_. +.. note:: + + If you receive an error when attempting to load the GUI, you probably do not have Tk installed on your system. See the :ref:`Tk installation instrucions` for more detailed information. + Getting Started =============== diff --git a/docs/index.rst b/docs/index.rst index 7d19aaaf9..ade434cf9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -2,7 +2,7 @@ Brownie ======= -Brownie is a Python framework for Ethereum smart contract testing, interaction and deployment. +Brownie is a Python-based development and testing framework for smart contracts targeting the `Ethereum Virtual Machine `_. .. note:: @@ -12,10 +12,10 @@ Brownie is a Python framework for Ethereum smart contract testing, interaction a This project relies heavily upon ``web3.py`` and the documentation assumes a basic familiarity with it. You may wish to view the `Web3.py docs `__ if you have not used it previously. -Brownie has several uses: - -* **Testing**: Unit test your project with ``pytest``, and evaluate test coverage through stack trace analysis. We make *no promises*. -* **Debugging**: Get detailed information when a transaction reverts, to help you locate and solve the issue quickly. -* **Interaction**: Write scripts or use the console to interact with your contracts on the main-net, or for quick testing in a local environment. -* **Deployment**: Automate the deployment of many contracts onto the blockchain, and any transactions needed to initialize or integrate the contracts. +Features +======== +* Contract testing via `pytest `_, including trace-based coverage evaluation +* Powerful debugging tools, including python-style tracebacks and custom error strings +* Built-in console for quick project interaction +* Support for `ethPM `_ packages diff --git a/docs/install.rst b/docs/install.rst index 470b05800..9cfb57686 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -32,6 +32,26 @@ Brownie has the following dependencies: * `ganache-cli `__ * `pip `__ -* `python3 `__ version 3.6 or greater, python3-dev, python3-tk +* `python3 `__ version 3.6 or greater, python3-dev As brownie relies on `py-solc-x `__, you do not need solc installed locally but you must install all required `solc dependencies `__. + + +.. _install-tk: + +Tkinter +------- + +:ref:`The Brownie GUI` is built using the `Tk GUI toolkit `_. Both Tk and `tkinter `_ are available on most Unix platforms, as well as on Windows systems. + +Tk is not a strict dependency for Brownie. However, if it is not installed on your system you will receive an error when attempting to load the GUI. + +You can use the following command to check that Tk has been correctly installed: + +:: + + $ python -m tkinter + +This should open a simple window and display the installed version number. + +For installation instructions read `Installing TK `_ within the TK Documentation. diff --git a/docs/quickstart.rst b/docs/quickstart.rst index a138d3b82..5895ee0c7 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -30,7 +30,7 @@ Before installing Brownie, make sure you have the following dependencies: * `ganache-cli `__ * `pip `__ -* `python3 `__ version 3.6 or greater, python3-dev, python3-tk +* `python3 `__ version 3.6 or greater, python3-dev As brownie relies on `py-solc-x `__, you do not need solc installed locally but you must install all required `solc dependencies `__. diff --git a/setup.cfg b/setup.cfg index 0f78a5dec..0a86ef347 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.3.1 +current_version = 1.3.2 [bumpversion:file:setup.py] diff --git a/setup.py b/setup.py index 8bea96cd4..67b27aed7 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ setup( name="eth-brownie", packages=find_packages(), - version="1.3.1", # don't change this manually, use bumpversion instead + version="1.3.2", # don't change this manually, use bumpversion instead license="MIT", description="A Python framework for Ethereum smart contract deployment, testing and interaction.", # noqa: E501 long_description=long_description,