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.3.2.tar.gz (3.2 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for plapperkasten-0.3.2.tar.gz
Algorithm Hash digest
SHA256 cb13ed827c4e22466108d460ac385ec8d4fdea013fe960104c4b4c1871b4e3d5
MD5 47c871537f53233960723495336ccca2
BLAKE2b-256 a8875128df9205e81c1e2971faadb9af09c73bd57b047582aa231f78c4d95ce6

See more details on using hashes here.

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

Hashes for plapperkasten-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1cd8ab7e35484f9e56171b73b86f7bea44dff1ee3c10b37a5e9bf5cf8ba35993
MD5 afe9c0101c5757419a3bf4c69537e128
BLAKE2b-256 cb8c74c7484f999a55307c4ba85bc13f9cfb4ad845593167cfc237dede64b9a1

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