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 details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 545489c94e7c4b2ac77659d0645a3d855d9091992cf96eb09279b9c0a54515c0 |
|
MD5 | 7dd64e3ab55eafc21c395431db20d0eb |
|
BLAKE2b-256 | a7f691f55bfc81d44de7e7b6f2f326ced96a3011fb1111ce9e7e979515383d69 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2de65ca452044ae86e84f640eac10feaab21720d1932fc3cbab770f85e0bf480 |
|
MD5 | 5da9542f508eacb32d9c2e0b04d9029d |
|
BLAKE2b-256 | fed5c936d2528469fa2ddd5268e5ce8bbe97556d9f95acd7e0430a88e044f864 |