Skip to main content

No description has been added so far.

Project description

Build Status PyPI version License Test Coverage

Small python package that provides a @classproperty decorator for python classes that works just like @property except for class variables!

$ pip install classprop

Use it just like builtin @property’s:

from classprop import classprop

class TestClass:
    _internal = "Hello, World"

    @classprop
    def my_class_prop(self) -> str:
        return self._internal

    @my_class_prop.setter
    def my_class_prop(self, value: str) -> None:
        self._internal = value



foo = TestClass()
assert foo.my_class_prop == "Hello, World"

baz = TestClass()
assert baz.my_class_prop == "Hello, World"

baz.my_class_prop = "Changed"
assert foo.my_class_prop == "Changed"

Development

For detailed instructions see CONTRIBUTING.

Tests

You can run tests with

$ invoke test
$ invoke test --min-coverage=90     # Fail when code coverage is below 90%
$ invoke type-check                 # Run mypy type checks

Linting and formatting

Lint and format the code with

$ invoke format
$ invoke lint

All of this happens when you run invoke pre-commit.

Note

This project is still in the alpha stage and should not be considered production ready.

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

classprop-0.1.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

classprop-0.1.1-py2.py3-none-any.whl (4.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file classprop-0.1.1.tar.gz.

File metadata

  • Download URL: classprop-0.1.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7

File hashes

Hashes for classprop-0.1.1.tar.gz
Algorithm Hash digest
SHA256 545489c94e7c4b2ac77659d0645a3d855d9091992cf96eb09279b9c0a54515c0
MD5 7dd64e3ab55eafc21c395431db20d0eb
BLAKE2b-256 a7f691f55bfc81d44de7e7b6f2f326ced96a3011fb1111ce9e7e979515383d69

See more details on using hashes here.

File details

Details for the file classprop-0.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: classprop-0.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7

File hashes

Hashes for classprop-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2de65ca452044ae86e84f640eac10feaab21720d1932fc3cbab770f85e0bf480
MD5 5da9542f508eacb32d9c2e0b04d9029d
BLAKE2b-256 fed5c936d2528469fa2ddd5268e5ce8bbe97556d9f95acd7e0430a88e044f864

See more details on using hashes here.

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