Annotate with anyone, anywhere.
Python JavaScript CSS Other
Latest commit 0d9329a Jan 17, 2017 @nickstenning nickstenning committed on GitHub Merge pull request #4300 from hypothesis/pick-best-uri-for-web-uris
Use the best DocumentURI for Document.web_uri
Failed to load latest commit information.
.github Minor tweaks to the issue template Mar 23, 2016
bin Put PYTHONPATH and PATH updates back in bin/hypothesis Aug 11, 2016
conf Disable automatic reloading of assets in production Nov 29, 2016
docs Update setup instructions to bind ports locally Jan 13, 2017
h Merge pull request #4299 from hypothesis/annotation-render-read-permi… Jan 17, 2017
scripts Remove old and unused scripts Sep 27, 2016
src/memex Update web_uri whenever updating document metadata Jan 17, 2017
tests Use the best DocumentURI for Document.web_uri Jan 17, 2017
vendor Upgrade to Alpine Linux 3.4 Aug 10, 2016
.babelrc Use Babel for ES2015 transpilation Sep 2, 2016
.coveragerc Update .coveragerc Sep 26, 2016
.editorconfig Set default indent size for Jinja2 templates to two spaces Aug 9, 2016
.eslintrc Fix inconsistencies in front-end code style (#4055) Nov 14, 2016
.gitattributes Do not show vendored PDF.js in language stats Oct 6, 2015
.gitignore More permissive ignore for Celery's schedule file (#4292) Jan 11, 2017
.hound.yml Re-enable Hound for Python Dec 16, 2016
.mailmap Add .mailmap file to fix up authors in git history May 11, 2016
.prospector.yaml Disable a contradictory pep257 rule Jun 15, 2016
.travis.yml Use Node 6.7 on Travis Dec 9, 2016
AUTHORS Add myself to AUTHORS Oct 8, 2014
CHANGES Release version 0.38.0 Aug 8, 2016
CODE_OF_CONDUCT Add Code of Conduct for contributors to repo May 17, 2016
CONTRIBUTING.rst Fix some broken links in the docs May 25, 2016
Dockerfile Instrument application with New Relic Sep 1, 2016
Jenkinsfile Set ES clustername to build version on Jenkins (#4096) Nov 18, 2016
LICENSE Remove the old threading implementation (#3287) May 23, 2016 Rearrange packaging to install memex Aug 9, 2016
Makefile Don't run `npm` when parsing the Makefile Aug 10, 2016
NOTICE Switch out jschannel for frame-rpc Jul 31, 2015
README.rst Remove Landscape badge Jun 29, 2016
gulpfile.js Rename the site's style bundle from site-v2 to site Dec 22, 2016 Set gunicorn worker timeout based on env setting Mar 30, 2016
package.json Bump client dependency Jan 10, 2017 Remove references to sphinxcontrib-httpdomain Sep 13, 2016 Add migration for group access flag columns (#4133) Nov 29, 2016
requirements.txt Add migration for group access flag columns (#4133) Nov 29, 2016
setup.cfg Add isort config to setup.cfg Aug 18, 2016 Add default memex GroupService Jan 11, 2017
tox.ini Pass the PYTEST_ADDOPTS env var to pytest (#4302) Jan 16, 2017



Build Status Code Coverage IRC channel License badge

Python version badge


Hypothesis is a tool for annotating the web.

  • A service for storing community annotations
  • An account system for user registration
  • Authorization for client applications
  • A browser-based annotator client featuring:
    • Chrome and Firefox browser extensions
    • A bookmarklet
    • A publisher embed code


See the Contributor's guide for instructions on setting up a development environment and contributing to h.


Join us in on freenode for discussion.

If you'd like to contribute to the project, you should also subscribe to the development mailing list and read our Contributor's guide. Then consider getting started on one of the issues that are ready for work. Issues tagged with the label 'New Contributor Friendly' are ideal for those just getting started.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


Hypothesis is released under the 2-Clause BSD License, sometimes referred to as the "Simplified BSD License" or the "FreeBSD License". Some third-party components are included. They are subject to their own licenses. All of the license information can be found in the included LICENSE file.