Skip to main content

Library of class property creation functions for type conversion and validation.

Project description

Propy

PyPI - Python Version PyPI Build Status Documentation Status codecov

About

This package contains convenience functions for creating class properties with type conversion and validation characteristics in Python. While Python's lack of typecasting is certainly one of the features that make it an easy to learn and code language, there are certainly times when you might want to implement controls on the types of values a class property can assume. This package provides a few functions to hopefully handle those situations a little easier.

To provide an example, let's assume you have a property that you want to restrict to boolean values. To do this normally, you would need to setup a property manually by creating custom setter, getter, and deleter functions. With this package, however, you can use the provided bool_property function instead as follows:

import propy

class Example():
    bool_prop = propy.bool_property('bool_prop')

The bool_property function creates the setter, getter, and deleter that you would have needed to manually define. The 'bool_prop' name supplied to the function is used to create a "private" _bool_prop attribute behind the scenes, then the "public" bool_prop attribute simply calls the defined setter, getter, and deleter to perform the respective action on that private attribute. It's not a huge gain, but it reduces to a single line of code what may have taken about 10 lines.

Installation

This package may be installed via pip:

pip install propy

Project details


Release history Release notifications

Download files

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

Files for propy, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size propy-1.0.0-py2.py3-none-any.whl (7.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size propy-1.0.0.tar.gz (6.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page