"bear's toolkit"
Project description
bearlib
A simple collection of helper routines that I use in a lot of projects.
NOTE: As of version 0.10 this is a Python 3 only module
Config
A dictionary based config class:
c = Config({ 'a': 1, 'b': 2, 'c': {'d': 1}} print("c.a =", c.a) print("c.c.d" =", c.c.d)
generates:
c.a = 1 c.c.d = 1
It also has three helper methods:
fromDict(dictionary) fromJson(filename) fromEtcd(host='127.0.0.1', port=4001, base='/')
fromDict() walks thru the keys of the given dictionary recursively and adds them to the object. Any key found that has a list or dictionary value is handled with instances of Config created as needed.
fromJson() uses json.load() to process the given filename and then calls fromDict() to store the values.
fromEtcd() walks the directory tree at the base location in the etcd server, builds a dictionary and then passes that to fromDict() for storage.
Events
Right now I’m going to use a very simple “plugin” style for event handlers where any .py file found in a directory is imported as a module.
This will, I think, let me use the event plugins via the command line, but also via WebHooks because I can create a Flask listener for WebHook urls and then call the defined handler for a given event.
Install
from PyPI:
pip install bearlib
from git:
cd /base/of/your/virtualenv pip install -e git+https://github.com/bear/bearlib.git#egg=bearlib
to update the from-git install:
cd /base/of/your/virtualenv pip install –upgrade -e git+https://github.com/bear/bearlib.git#egg=bearlib
Tests
From the source directory:
make test
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
Built Distribution
File details
Details for the file bearlib-0.10.tar.gz
.
File metadata
- Download URL: bearlib-0.10.tar.gz
- Upload date:
- Size: 25.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fab9d5f23b37805ebca3788678699e42c658abd5a9eb805d25ec19773ad10f7b |
|
MD5 | ff64cc8cae3493903da02a060f855c7c |
|
BLAKE2b-256 | a11dadf0f458166d4a93129e086cf29bc8dd8f9a1a18fa547e6997bbeb7cb471 |
File details
Details for the file bearlib-0.10-py3-none-any.whl
.
File metadata
- Download URL: bearlib-0.10-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | edbe7c1c71d8bbb202c113cee6ec243c5d1d824f5118a9fed5323fb844fb9295 |
|
MD5 | 4ce219b9f8e61a1f4dd2255e04d41175 |
|
BLAKE2b-256 | d15dc78dc30c73144457529b811b7d824b5dedb749d83b2875a19e624c5fe24f |