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
- Documentation: https://granola.readthedocs.io/en/stable/
- Examples: https://granola.readthedocs.io/en/stable/examples/examples_notebooks.html
- PyPI: https://pypi.org/project/granola/
- Source Code: https://github.com/metergroup/GRANOLA
- Issue Tracker: https://github.com/metergroup/GRANOLA/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 098edf4b6aaf6e43ce7e2c3040a3d069659eef5636817dc33f484ab8214153fa |
|
MD5 | e83849800b2bb0bafe16abb3c47d9f24 |
|
BLAKE2b-256 | e0401b521cd2efb7fac978da1be9c540b6824b6476221d529b088634ebc13ad1 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f554d00a22899347fe446925ad14219cf1783e078c11bfa21da5736fd5ee5eae |
|
MD5 | d330afb119f27fef043d98a08c478973 |
|
BLAKE2b-256 | 9cea39689cdcd315c6264ef200efd5c767faeb18ba3ff526b8e07684f1d0bf50 |