No project description provided
Project description
plapperkasten
Coding
Style
Docstrings are formatted according to the Google Style Guide.
All other formatting tries to adhere to PEP8 and is enforced by YAPF.
Log entries use lazy evaluation, i.e., logger.debug('start %s', name)
, start with a lower-case letter and do not end with a full stop.
Raised errors on the other hand use f-strings (if necessary) and contain whole sentences, i.e. ValueError(f'{variable} did not match XXXX.')
.
Linting / Checking
Code should be checked by pylint and mypy.
Paths
All path representations should be pathlib.Path
-objects instead of strings.
Logging
Logging uses a wrapper (plapperkasten.plklogging
) around the logging
module to cover logging from multiple processes.
Import a logger using:
from plapperkasten.plklogging import plklogging
logger: plklogging.PlkLogger = plklogging.get_logger(__name__)
# your code here
Setup as an isolated app integrated into the system (e.g. on a remote box)
Please see https://github.com/randomchars42/plapperkasten-setup for detailed instructions and an easy installer.
Setup for development
Requirements
Python >= 3.9
as it uses typehinting only available beginning with 3.9.
Semi-optional:
libgpiod
withpython3-libgpiod
andgpiodmonitor>=1.0.0
if you plan to use theinputgpiod
-plugin. Alternatively you may implement the functionality usingRPi.GPIO
or any library of your choice.
Recommendations
-
pipenv
to create a virtual environment with a defined python versionpip3 install pipenv
Example setup using pipenv
git clone git@github.com:randomchars42/plapperkasten.git
cd plapperkasten
# consider adding this to your .bashrc / equivalent for your shell:
# `export PIPENV_VENV_IN_PROJECT=1`
# this leads to a folder `.venv` being created at the project root
# otherwise you might need to tweak the `[tool.mypy]`` path in
# `pyproject.toml` (depending on your editor setup).
# setup a virtual environment with set python version
# set the version to >= 3.9
pipenv --python 3.9
# install development dependencies
pipenv install --dev
# activate venv
pipenv shell
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
Built Distribution
File details
Details for the file plapperkasten-0.3.2.tar.gz
.
File metadata
- Download URL: plapperkasten-0.3.2.tar.gz
- Upload date:
- Size: 3.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.8.2 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb13ed827c4e22466108d460ac385ec8d4fdea013fe960104c4b4c1871b4e3d5 |
|
MD5 | 47c871537f53233960723495336ccca2 |
|
BLAKE2b-256 | a8875128df9205e81c1e2971faadb9af09c73bd57b047582aa231f78c4d95ce6 |
File details
Details for the file plapperkasten-0.3.2-py3-none-any.whl
.
File metadata
- Download URL: plapperkasten-0.3.2-py3-none-any.whl
- Upload date:
- Size: 3.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/37.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.12 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.8.2 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cd8ab7e35484f9e56171b73b86f7bea44dff1ee3c10b37a5e9bf5cf8ba35993 |
|
MD5 | afe9c0101c5757419a3bf4c69537e128 |
|
BLAKE2b-256 | cb8c74c7484f999a55307c4ba85bc13f9cfb4ad845593167cfc237dede64b9a1 |