Skip to main content

Expressive and extensible TDD/BDD assertion library for Python

Project description

Latest version Docs License Build status PyPI versions

Expects is an expressive and extensible TDD/BDD assertion library for Python. Expects can be extended by defining new matchers.


Just import the expect callable and the built-in matchers and start writing test assertions.

from expects import *



    'name': 'Jack',
    'email': ''
}).to(have_key('name', match('\w+')))

expect(str).to(have_property('split') & be_callable)

expect(lambda: foo).to(raise_error(NameError))

expect('Foo').to(equal('Bar') | equal('Foo'))


You can install the last stable release of Expects from PyPI using pip or easy_install.

$ pip install expects

Also you can install the latest sources from Github.

$ pip install -e git+git://


To run the Expects specs you should install the development requirements and then run mamba.

$ pip install -r test-requirements.txt
$ mamba


See Changes.

3rd Party Matchers

See 3rd-Party Matchers list.

Download files

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

Files for expects, version 0.9.0
Filename, size File type Python version Upload date Hashes
Filename, size expects-0.9.0.tar.gz (27.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page