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 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 with active development moving towards its 1.0 release.
We try and not break previous interfaces when we move to new releases, 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
>>> command_readers = {"CannedQueries": {"data": [{"1\r": "1", "2\r": ["2a", "2b"]}]}}
>>> mock_cereal = Cereal(command_readers)

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file granola-0.9.3.tar.gz.

File metadata

  • Download URL: granola-0.9.3.tar.gz
  • Upload date:
  • Size: 53.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for granola-0.9.3.tar.gz
Algorithm Hash digest
SHA256 098edf4b6aaf6e43ce7e2c3040a3d069659eef5636817dc33f484ab8214153fa
MD5 e83849800b2bb0bafe16abb3c47d9f24
BLAKE2b-256 e0401b521cd2efb7fac978da1be9c540b6824b6476221d529b088634ebc13ad1

See more details on using hashes here.

File details

Details for the file granola-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: granola-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 44.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for granola-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f554d00a22899347fe446925ad14219cf1783e078c11bfa21da5736fd5ee5eae
MD5 d330afb119f27fef043d98a08c478973
BLAKE2b-256 9cea39689cdcd315c6264ef200efd5c767faeb18ba3ff526b8e07684f1d0bf50

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