Skip to main content

Class utilities

Project description

Class utilities

Author: David Salac https://github.com/david-salac

Simple package with helpful utilities for classes. That includes class level properties and filters for configuration classes.

How to install package

Use PIP command:

pip install classutilities

How to use class level properties

Class level properties are properties defined on class level. They behave exactly the same as normal properties (but allows to be called on class level and not only on instance level).

Consider the following example (defining class level properties):

import classutilities

class SomeClass(classutilities.ClassPropertiesMixin):
    _some_variable = 8  # Some class variable

    @classutilities.classproperty
    def some_variable(cls):  # Some getter
        return cls._some_variable

    @some_variable.setter
    def some_variable(cls, value):  # Some setter
        cls._some_variable = value

ClassPropertiesMixin allows you to use a setter for properties, if you only need a getter, it will work even without this mixin.

Usage of class-level properties:

# Getter:
value = SomeClass.some_variable
print(value)  # >>> 8

# Setter:
new_value = 9
SomeClass.some_variable = new_value
print(SomeClass.some_variable)  # >>> 9
print(SomeClass._some_variable)  # >>> 9

As you can see, class-level properties behave very naturally.

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

classutilities-0.1.0.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

classutilities-0.1.0-py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 3

Supported by

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