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.0rc4.tar.gz (53.8 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: granola-0.9.0rc4.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.0rc4.tar.gz
Algorithm Hash digest
SHA256 14df2b700342274c73fa43c473143bb5ec146017bc8a2e89d8c3a602e3329a77
MD5 3d4227325c358ffa5b1fcbc6d75803ad
BLAKE2b-256 9eeae3e6626dc209fcf542f560458c32e5a2775b9be07a288e48e81f23341d63

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granola-0.9.0rc4-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.0rc4-py3-none-any.whl
Algorithm Hash digest
SHA256 a74225159612a4c756718746ae482b892d8c5dc4d0148d14d9479061ff82ff18
MD5 9e24db92bfb0862a9986f84009c7374c
BLAKE2b-256 7b94249a5eb35cdf8c499b14cc89ccbc1de179f38c0d50412a26b6d26ef3c5ac

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