Skip to main content

Guard like Haskell for Python.

Status

https://secure.travis-ci.org/mkouhei/pguard.png?branch=master https://coveralls.io/repos/mkouhei/pguard/badge.png?branch=master https://img.shields.io/pypi/v/pguard.svg Documentation Status

Requirements

  • Python 2.7 or Python 3.5 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.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.

Download files

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

Source Distribution

pguard-0.3.1.tar.gz (10.2 kB view details)

Uploaded Source

File details

Details for the file pguard-0.3.1.tar.gz.

File metadata

  • Download URL: pguard-0.3.1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.7

File hashes

Hashes for pguard-0.3.1.tar.gz
Algorithm Hash digest
SHA256 11e8b6f1dc81eaa271dea3f33a239f89382d276ff1f199062307596e0015824c
MD5 f9d1811ed24a29859260adec66f73961
BLAKE2b-256 031ab35157628a77542979450fabe6208eb917cbb90162385124470186756734

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page