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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: plapperkasten-0.4.0.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.4.0.tar.gz
Algorithm Hash digest
SHA256 d74e096626b1af23899f6088675659dff1361d833a9619ae84d6527bc0dd0a0e
MD5 07682b77cc7ce1c5c087548f78fa28aa
BLAKE2b-256 13902b85cf67e756eb9e5f4ea7252eade9783cf907a4b87f5682e921f458e48f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: plapperkasten-0.4.0-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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6663e9141fb9eb86aba5f957a868a85f5fdaa1786a56b646521499ec7c3f9558
MD5 2dbe701f8c0af60e0e9e0a4235d04f7f
BLAKE2b-256 dc4cc58808620e895bd8be76208cc07e03bc533c6bdb50da9e31a4ae0840f3f6

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