persistent preferences store to local sqlite
Project description
pref - a simple local preferences store
Persistent storage of attrs
attributes or an ordered set (like a list, but no duplicates) to
a local SQLite database file.
Example
from attr import attrib, attrs
from ismain import is_main
from pref import Pref, PrefOrderedSet
application_name = "myapp"
author = "me"
@attrs
class MyPref(Pref):
first_name: str = attrib(default=None)
last_name: str = attrib(default=None)
has_subscription: bool = attrib(default=False) # start off with no subscription
def get_pref() -> MyPref:
return MyPref(application_name, author)
def get_ordered_set() -> PrefOrderedSet:
return PrefOrderedSet(application_name, author, "mylist")
if is_main():
# set a variable
preferences = get_pref()
preferences.first_name = "James"
preferences.last_name = "Abel"
# read it back
preferences = get_pref()
print(preferences.first_name) # James
print(preferences.last_name) # Abel
print(preferences.has_subscription) # evaluates as False (is actually int of 0)
# set an ordered set (list-like, but no duplicates)
my_list = get_ordered_set()
my_list.set(["a", "b", "c"])
# read the ordered set back in
my_list = get_ordered_set()
print(my_list.get()) # ['a', 'b', 'c']
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
pref-0.2.0-py3-none-any.whl
(5.6 kB
view details)
File details
Details for the file pref-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: pref-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ceda0adc5e9534e22ecc23934c174b75f088de5ef56af5db69e5183ea9c0d30 |
|
MD5 | e28711ad2d5de35498200d5b582f6a15 |
|
BLAKE2b-256 | 445205fc360a6adae259e7b98b8d03250266a77aa8aee9506f7243eb633a6f05 |