Metadata-Version: 2.1
Name: pytreaty
Version: 2019.1b5
Summary: PyTreaty is a hard fork of the PyContracts library from Andrea Censi. This fork has been updated to allow multiple contract definitions on a function, as well as removing Python 2.x support and other updates.
Home-page: http://github.com/bluecoveltd/contracts
Author: BlueCove Developers
License: LGPL
Download-URL: http://github.com/bluecoveltd/contracts/tarball/2019.1b5
Keywords: type checking,value checking,contracts
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Software Development :: Testing
Description-Content-Type: text/markdown
Requires-Dist: pyparsing
Requires-Dist: decorator
Requires-Dist: six
Requires-Dist: pandas
Requires-Dist: numpy

[![Build Status](https://travis-ci.org/bluecoveltd/contracts.svg?branch=master)](https://travis-ci.org/bluecoveltd/contracts)
[![codecov](https://codecov.io/gh/bluecoveltd/contracts/branch/master/graph/badge.svg)](https://codecov.io/gh/bluecoveltd/contracts)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b7e92327c90e4fa895d9dc53224053b2)](https://www.codacy.com/app/AaronCritchley/contracts?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=bluecoveltd/contracts&amp;utm_campaign=Badge_Grade)

# PyTreaty

This is a hard fork of the PyContracts library, the original version
of which can be found [here](https://github.com/AndreaCensi/contracts).

Modifications we have made:

- All contract definitions are now applied at all times. Previously
  if you added type annotations to a function, the docstring contracts
  were ignored. Type annotations and docstring contracts have different
  (but overlapping) purposes, and therefore we require both.
  Also, previously if you used a contract decorator then both type
  annotations and docstring contracts were ignored. This is also fixed.
- Removed Python 2.x support. Maintaining support for legacy python
  versions bloats the codebase significantly, so we only support Python
  3.5+.

### Why did we fork?

We are big fans of the original project from Andrea Censi, and we are
very happy to merge these changes upstream, however we received
no response from the original project, and therefore we assume the 
project is orphaned.

There are also wider changes we want to make across the codebase, so we
also crossed the threshold where it became viable to maintain our own
codebase.

### Thing to come

We plan to continue to improve and support PyTreaty, some notable future
improvements that are planned are:

* Adding support for complex Python `typing` and custom type hints.
* New and improved documentation.

