Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Web3.py

Project Description

A Python implementation of web3.js

  • Python 2.7, 3.4, 3.5 support

Read more in the documentation on ReadTheDocs. View the change log on Github.

Developer setup

If you would like to hack on web3.py, set up your dev environment with:

sudo apt-get install libssl-dev
# ^ This is for Debian-like systems. TODO: Add more platforms

git clone git@github.com:pipermerriam/web3.py.git
cd web3.py
virtualenv venv
. venv/bin/activate
pip install -r requirements-dev.txt
pip install -e .

For different environments, you can set up multiple virtualenvs, like:

Python 2

virtualenv -p python2 venvpy2
. venvpy2/bin/activate
pip install -r requirements-dev.txt
pip install -e .

Docs

virtualenv venvdocs
. venvdocs/bin/activate
pip install -r requirements-dev.txt
pip install -e .

Testing Setup

During development, you might like to have tests run on every file save.

Show flake8 errors on file change:

# Test flake8
when-changed -r web3/ tests/ -c "clear; git diff HEAD^ | flake8 --diff"

You can use pytest-watch, running one for every python environment:

pip install pytest-watch

cd venv
ptw --onfail "notify-send -t 5000 'Test failure ⚠⚠⚠⚠⚠' 'python 3 test on web3.py failed'" ../tests ../web3

#in a new console
cd venvpy2
ptw --onfail "notify-send -t 5000 'Test failure ⚠⚠⚠⚠⚠' 'python 2 test on web3.py failed'" ../tests ../web3

Or, you can run multi-process tests in one command, but without color:

# in the project root:
py.test --numprocesses=4 --looponfail --maxfail=1
# the same thing, succinctly:
pytest -n 4 -f --maxfail=1

Release setup

For Debian-like systems:

apt install pandoc

To release a new version:

make release bump=$$VERSION_PART_TO_BUMP$$

How to bumpversion

The version format for this repo is {major}.{minor}.{patch} for stable, and {major}.{minor}.{patch}-{stage}.{devnum} for unstable (stage can be alpha or beta).

To issue the next version in line, specify which part to bump, like make release bump=minor or make release bump=devnum.

If you are in a beta version, make release bump=stage will switch to a stable.

To issue an unstable version when the current version is stable, specify the new version explicitly, like make release bump="--new-version 4.0.0-alpha.1 devnum"

Release History

Release History

History Node

4.0.0b5

History Node

4.0.0b4

History Node

4.0.0b3

History Node

4.0.0b2

History Node

4.0.0b1

This version
History Node

3.16.4

History Node

3.16.3

History Node

3.16.2

History Node

3.16.1

History Node

3.16.0

History Node

3.15.0

History Node

3.14.2

History Node

3.14.1

History Node

3.14.0

History Node

3.13.5

History Node

3.13.4

History Node

3.13.3

History Node

3.13.2

History Node

3.13.1

History Node

3.13.0

History Node

3.11.1

History Node

3.11.0

History Node

3.10.0

History Node

3.9.0

History Node

3.8.1

History Node

3.8.0

History Node

3.7.2

History Node

3.7.1

History Node

3.7.0

History Node

3.6.2

History Node

3.6.1

History Node

3.6.0

History Node

3.5.3

History Node

3.5.2

History Node

3.5.1

History Node

3.5.0

History Node

3.4.4

History Node

3.4.3

History Node

3.4.2

History Node

3.4.1

History Node

3.4.0

History Node

3.3.0

History Node

3.2.0

History Node

3.1.1

History Node

3.1.0

History Node

3.0.2

History Node

3.0.1

History Node

3.0.0

History Node

2.9.0

History Node

2.8.1

History Node

2.8.0

History Node

2.7.1

History Node

2.7.0

History Node

2.6.0

History Node

2.5.0

History Node

2.4.0

History Node

2.3.0

History Node

2.2.0

History Node

2.1.1

History Node

2.1.0

History Node

2.0.0

History Node

1.9.0

History Node

1.8.0

History Node

1.7.1

History Node

1.7.0

History Node

1.6.0

History Node

1.5.0

History Node

1.4.0

History Node

1.3.0

History Node

1.2.0

History Node

1.1.0

History Node

1.0.1

History Node

1.0.0

History Node

0.1.9

History Node

0.1.8

History Node

0.1.7

History Node

0.1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
web3-3.16.4-py3-none-any.whl (73.2 kB) Copy SHA256 Checksum SHA256 3.5 Wheel Dec 1, 2017
web3-3.16.4.tar.gz (52.9 kB) Copy SHA256 Checksum SHA256 Source Dec 1, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting