Skip to main content

Utils for simplifying work with classes

Project description

Utils for simplifying work with classes

Usage:

pip install class-utils


Properties:

  1. default_property
  2. default_getter
  3. typed_property

Mixins:

  1. DefaultRepresentationMixin

default_property

from class_utils import default_property


class Point():
    x = default_property('x')
    y = default_property('y')

    def __init__(self, x, y):
        self.x = x
        self.y = y


point1 = Point(1, 4)

print(point1.x) # => 1

point1.x = 3
print(point1.x) # => 3

default_getter

from class_utils import default_getter


class Point():
    x = default_getter('x')
    y = default_getter('y')

    def __init__(self, x, y):
        self._x = x
        self._y = y


point1 = Point(1, 4)

print(point1.x) # => 1

typed_property

from class_utils import typed_property


class Person():
    name = typed_property('name', str)

    def __init__(self, name):
        self.name = name


person1 = Person('Bill')
print(person1.name) # => 'Bill'

person1.name = 123 # => TypeError: name must be a <class 'str'>

DefaultRepresentationMixin

from class_utils import default_property, DefaultRepresentationMixin


class Date(DefaultRepresentationMixin):
    day = default_property('day')
    month = default_property('month')
    year = default_property('year')

    def __init__(self, day, month, year):
        self.day = day
        self.month = month
        self.year = year


date1 = Date(12, 12, 2012)
print(date1) # => Date({'_day': 12, '_month': 12, '_year': 2012})

Project details


Download files

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

Source Distribution

class-utils-0.0.5.tar.gz (2.1 kB view details)

Uploaded Source

Built Distribution

class_utils-0.0.5-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file class-utils-0.0.5.tar.gz.

File metadata

  • Download URL: class-utils-0.0.5.tar.gz
  • Upload date:
  • Size: 2.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for class-utils-0.0.5.tar.gz
Algorithm Hash digest
SHA256 1ec1c04d51e79dfa2fde856a59b47502469059fe5307c16f44b60b1eae769212
MD5 cdb8a64737bf98b877874f075340df55
BLAKE2b-256 e122341d1030516fff90985651044f1a7b39a7e418a367f87c6f9020c612783b

See more details on using hashes here.

File details

Details for the file class_utils-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: class_utils-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for class_utils-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3d1bc595ce681729c2631666077a98ec07d648ca6962159c6331eb236acca877
MD5 db4171c457b7af995f188e2bbe11ca49
BLAKE2b-256 dc884c47f811821be5a40cd444dcc20a90294c89b9c89f45c6084382a58d18e4

See more details on using hashes here.

Supported by

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