A wrapper for easily making bitwise flags.
Project description
A small no-requirements package for making bitwise flags in Python.
Installing
Available on PyPi:
pip install -U vf-flags
To install off of Github you can do the following
pip install -U git+https://github.com/Voxel-Fox-Ltd/Flags
Quick Example
Here’s a basic example of creating a flags class using decorators.
import vfflags
class WebsitePermissions(vfflags.Flags):
@vfflags.flag_value
def view_posts(self):
"""If the user can view posts."""
return 0b001
@vfflags.flag_value
def edit_posts(self):
"""If the user can edit posts."""
return 0b010
@vfflags.flag_value
def delete_posts(self):
return 0b100
Here’s an alternative way to create a flags class using a class attribute.
import vfflags
class WebsitePermissions(vfflags.Flags):
# You can optionally add a docstring by adding your value to a tuple
CREATE_FLAGS = {
"view_posts": (0b001, "If the user can view posts."),
"edit_posts": (0b010, "If the user can edit posts."),
"delete_posts": 0b100,
}
Here’s the usage of either of the above.
perms1 = WebsitePermissions(0b011) # Init with a value
perms1.view_posts # True
perms1.delete_posts # False
perms2 = WebsitePermissions(delete_posts=True) # Init with kwargs
perms2.view_posts # False
perms2.delete_posts # True
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
vf-flags-0.2.5.tar.gz
(39.6 kB
view details)
File details
Details for the file vf-flags-0.2.5.tar.gz.
File metadata
- Download URL: vf-flags-0.2.5.tar.gz
- Upload date:
- Size: 39.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
878dae29ec332a092af40ef91fb7a0a8b6408a3e106e42600501b555821487d2
|
|
| MD5 |
5f49a0e0dd2c7df92d8ff1528685c308
|
|
| BLAKE2b-256 |
75fa0ec82c128172a43f4f5fa256b8b9c9cccc12dff490744c16f4946802f0b8
|