Skip to main content

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 with python3-libgpiod and gpiodmonitor>=1.0.0 if you plan to use the inputgpiod-plugin. Alternatively you may implement the functionality using RPi.GPIO or any library of your choice.

Recommendations

  • pipenv to create a virtual environment with a defined python version

    pip3 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plapperkasten-0.2.3.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

plapperkasten-0.2.3-py3-none-any.whl (3.2 MB view details)

Uploaded Python 3

File details

Details for the file plapperkasten-0.2.3.tar.gz.

File metadata

  • Download URL: plapperkasten-0.2.3.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

Hashes for plapperkasten-0.2.3.tar.gz
Algorithm Hash digest
SHA256 844e032cc1ec893293ed86bf504416205740e0a123a861c3a6c4fb65ee308428
MD5 c21cbc56631dd4498ce04b66f3696207
BLAKE2b-256 df5ef96e75c2671a3f1255c39bb2c06e1074a4ee5d50f4b9e2bb3b479636b5a0

See more details on using hashes here.

File details

Details for the file plapperkasten-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: plapperkasten-0.2.3-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

Hashes for plapperkasten-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f66a95f9cb6aa7c9744cac212c6c2574e0d9818ea9db4c9e782db866b694dedc
MD5 32438723de55100a8d957adadd526417
BLAKE2b-256 19d92afea0424f4bfbd8951b1f11f0f8d7ee8ab6a5df4eb836922dcbbcd5bfd9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page