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.

Source Distribution

expects-0.9.0.tar.gz (27.9 kB view hashes)

Uploaded source

Supported by

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