No description has been added so far.
Project description
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
Release history Release notifications | RSS feed
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 hashes)
Built Distribution
Close
Hashes for classprop-0.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2de65ca452044ae86e84f640eac10feaab21720d1932fc3cbab770f85e0bf480 |
|
MD5 | 5da9542f508eacb32d9c2e0b04d9029d |
|
BLAKE2b-256 | fed5c936d2528469fa2ddd5268e5ce8bbe97556d9f95acd7e0430a88e044f864 |