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

dbus signature hypothesis strategy generator

Project Description

This package contains a Hypothesis strategy for generating DBus signatures. An informal specification of DBus signatures is available at:

The strategy is intended to be both sound and complete. That is, it should never generate an invalid DBus signature and it should be capable, modulo size constraints, of generating any valid DBus signature.


Import the function and obtain a strategy with the default parameters.

>>> from hs_dbus_signature import dbus_signatures
>>> strategy = dbus_signatures()

Obtain a few examples of valid signatures, e.g.,

>>> strategy.example()
>>> strategy.example()
>>> strategy.example()

Make use of the strategy in your tests, e.g.

from hypothesis import given

def test(signature):

Use the parameters to omit dicts

>>> strategy = dbus_signatures(exclude_dicts=True)
>>> strategy.example()

or to ensure that no example signature is the empty string

>>> strategy = dbus_signatures(min_complete_types=1)
>>> strategy.example()

The strategy will raise an InvalidArgument exception immediately if it is given arguments which allow no examples to be drawn.

>>> strategy = dbus_signatures(blacklist=string.ascii_lowercase)
Traceback (most recent call last):


Documentation for the Hypothesis testing library can be found at

This strategy makes use of the Hypothesis higher-order strategy, recursive(), which is discussed here:

It is only supported for Python 3 as it uses Python 3 only syntax.

Release History

This version
History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(6.2 kB) Copy SHA256 Hash SHA256
Source None Jan 13, 2017

Supported By

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 Google Google Cloud Servers