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.

Project details

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 and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page