This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

This package provides python bindings to the Hypothesis API.

Low-level access

The api submodule is a low-level implementation of the Hypothesis API.

The contents of this module reflect the REST nature of the API:

  • API calls are made by functions.
  • Input and output data are uninterpreted data (e.g. JSON strings, not objects resulting from interpreting the JSON).
  • Argument checking is minimal and most exceptions will come when the API returns an error (APIError is raised if the server does not return 200).
  • The auth argument is always given first (except to root(), which does not take authorization). auth can currently be None or a string containing a developer token.


>>>, 'v8Y0ix_lSRmDnEKhNr19eQ')
u'{"updated": "2013-08-14T19:21:19.917589+00:00", "group": "__world__", ...
>>>, 'bogusannotationid')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "h_annot/", line 39, in read
    raise APIError(r)
h_annot.exceptions.APIError: API call returned 404 (Not Found): not_found

High-level access

The Annotation class is an object abstraction of an annotation. Use the load() class method to get an annotation from its ID:

>>> annot = h_annot.Annotation.load('v8Y0ix_lSRmDnEKhNr19eQ')
>>> annot.text
u"I'm imagining!!!"

Exceptions are more pythonic:

>>> h_annot.Annotation.load('somebogusannotid')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "h_annot/", line 97, in load
    raise KeyError('annotation ID %s not found' % annot_id)
KeyError: 'annotation ID somebogusannotid not found'

The Annotation constructor should not be called directly.

Some attributes can be updated, but you must declare your developer key to the annotation when you create it:

>>> annot = h_annot.Annotation.load('someannotationid', 'somedevelkey')
>>> annot.text = 'new text'

Tags are accessed and changed through the tags attribute. This attribute acts like a case-insensitive set (like Hypothesis itself treats tags).

>>> print annot.tags
TagSet(objectives, interwebs)
>>> for tag in annot.tags:
... print tag
>>> annot.tags = ['all', 'new', 'tags']
>>> annot.tags.add('and one more')
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
python-hypothesis-0.1.0.tar.gz (4.7 kB) Copy SHA256 Checksum SHA256 Source Sep 2, 2016

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