Skip to main content

Generating Real-time Autonomous N-device Output without Linked Apparatuses

Project description

GRANOLA

GRANOLA (Generating Real-time Autonomous N-device Output without Linked Apparatuses) is a package aiming to mock Pyserial's Serial class with the goal of enabling automated testing, faster QA, and faster delivery. The core of this package is the class Cereal. Cereal allows you to define complicated command and response sequences, getters and setters for commands that set attributes on your device (such as the serial number), a hook system to inject your own needed functionality, and a Serial Sniffer to capture serial command output from a real device as the basis of mocking later.

:warning: ** This project is still in it's beta, pre 1.0 stage, and we are moving towards our 1.0 release. We try and not break previous interfaces when we move to new, but until it is ready for 1.0, it is still unstable.**

Package Installation

To install:

pip install granola

A Simple Example

>>> from granola import Cereal

>>> config = {"command_readers":{"CannedQueries": {"data": [{"1\r": "1", "2\r": ["2a", "2b"]}]}}}
... mock_cereal = Cereal(config)

>>> mock_cereal.write(b"2\r")
2
>>> mock_cereal.read(2)
b'2a'
>>> mock_cereal.write(b"1\r")
2
>>> mock_cereal.read(1)
b'1'

Links

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

granola-0.9.0rc3.tar.gz (53.8 kB view details)

Uploaded Source

Built Distribution

granola-0.9.0rc3-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

Details for the file granola-0.9.0rc3.tar.gz.

File metadata

  • Download URL: granola-0.9.0rc3.tar.gz
  • Upload date:
  • Size: 53.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.12

File hashes

Hashes for granola-0.9.0rc3.tar.gz
Algorithm Hash digest
SHA256 c6cbc4b502a798bde0e47f1124b89c1e47a665d826aa9a32be45f13b71466b85
MD5 ab3b5b9d9b40ff52d22fdad079b2bd04
BLAKE2b-256 21d1729a60a43e4d443e7bd0969868f138c2279e7c4602c52a7dbfe886f45060

See more details on using hashes here.

File details

Details for the file granola-0.9.0rc3-py3-none-any.whl.

File metadata

  • Download URL: granola-0.9.0rc3-py3-none-any.whl
  • Upload date:
  • Size: 44.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.12

File hashes

Hashes for granola-0.9.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 07aa8efc77a1088b8d37cda39c4639a92174cfde90d95d4c4c0e91488e4b53a0
MD5 e809c7df3d752407aa8c97bf20e10d2c
BLAKE2b-256 4840b3b29333ff64a88a66ca84d5da382e1c974a614379d9f8933afd82ecbe4e

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