Metadata-Version: 2.1
Name: pguard
Version: 0.4.0
Summary: Guard like Haskell for Python.
Home-page: https://github.com/mkouhei/pguard
Author: Kouhei Maeda
Author-email: mkouhei@palmtb.net
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: setuptools
Provides-Extra: rest
Requires-Dist: Sphinx ; extra == 'rest'

========
 pguard
========

Guard like Haskell for Python.

Status
======

.. image:: https://secure.travis-ci.org/mkouhei/pguard.png?branch=master
   :target: http://travis-ci.org/mkouhei/pguard
.. image:: https://coveralls.io/repos/mkouhei/pguard/badge.png?branch=master
   :target: https://coveralls.io/r/mkouhei/pguard?branch=master
.. image:: https://img.shields.io/pypi/v/pguard.svg
   :target: https://pypi.python.org/pypi/pguard
.. image:: https://readthedocs.org/projects/pguard/badge/?version=latest
   :target: https://readthedocs.org/projects/pguard/?badge=latest
   :alt: Documentation Status

Requirements
============

* Python 2.7 or Python 3.6 over or PyPy 2.4.0 over

Features
========

* guard with lambda
* Enable to use function or method as ``guard_cl`` statement argument.

Setup
=====

::

  $ pip install --user pguard
  or
  (venv)$ pip install pguard

Simple usage
============

::

   >>> from pguard import guard
   >>> from pguard import guard_cl as g
   >>> (lambda n: guard(
   ... g(-1, n < 0),
   ... g(0, n == 0),
   ... g(1)  ## otherwise
   ... ))(0)
   0

ChangeLog
=========

0.4.0 (2019-03-18)
------------------

* Supports Python 3.7.
* Drops Python 2.7, Python 3.5.

0.3.1 (2018-11-03)
------------------

* Fixes pylint violations.

0.3.0 (2016-04-30)
------------------

* Fixes lazy evaluation.
* Changes guard_cl() respond values.

0.2.1 (2016-04-29)
------------------

* Fixes Python 2.7 classmethod behavior bugs.

0.2.0 (2016-04-27)
------------------

* Supports "function" and "method" as guard_cl statement argument.

0.1.4 (2016-04-24)
------------------

* Fixes setup.py url.


0.1.3 (2016-04-23)
------------------

* Fixes README.
* Adds check long-description to pre-commit hook.

0.1.2 (2016-04-23)
------------------

* Fixes setup.py version.

0.1.1 (2016-04-23)
------------------

* completed coverage 100%.
* Adds sample usages.

0.1.0 (2016-04-23)
------------------

* Initial release.



