Skip to main content

A base framework for MEOW based implementations of workflows

Project description

# meow_base Repository for base MEOW definitions, as well as a some example implementations.

## Core definitons

The core MEOW defintions are found in core/meow.py These are parents classes for implementations to use, with certain attributes and functions enabling a certain amount of interchangeability within those classes.

The most import definitions are the BasePattern, and BaseRecipe, which define the conditions under which processing will take place, and the actuall processing to take place.

## MEOW Runner

The way to run a MEOW system is to create and MeowRunner instance, found in core/runner.py. This will take 1 or more Monitors, 1 or more Handlers, and 1 or more Conductors. In turn, these will listen for events, respond to events, and execute any analysis identified. Examples of how this can be run can be found in tests/testRunner.py

## Testing Pytest unittests are provided within the ‘tests directory, as well as a script test_all.sh for calling all test scripts from a single command. This can be run as:

test_all.sh -s

or:

SKIP_LONG=1 pytest . -W ignore::DeprecationWarning

This will skip the more time consuming tests if you just need quick feedback. Without the -s argument then all tests will be run. Individual test scripts can be started using:

pytest test_runner.py::MeowTests -W ignore::DeprecationWarning

with individual tests runnable with:

pytest test_runner.py::MeowTests::testMeowRunnerLinkedPythonExecution -W ignore::DeprecationWarning

to run locally, update your ‘~/.bashrc’ file to inclue:

# Manually added to get local testing of Python files working easier export PYTHONPATH=/home/patch/Documents/Research/Python

to generate a coverage report run:

SKIP_LONG=1 pytest –cov –cov-report=html:../coverage . -W ignore::DeprecationWarning

## Benchmarking Benchmarks have been written for this library, but are included in the seperate https://github.com/PatchOfScotland/meow_benchmarks package

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

meow_base-1.0.2.tar.gz (2.7 kB view details)

Uploaded Source

File details

Details for the file meow_base-1.0.2.tar.gz.

File metadata

  • Download URL: meow_base-1.0.2.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for meow_base-1.0.2.tar.gz
Algorithm Hash digest
SHA256 1d5401d1906f964cfda62cc04879c04bf3d9c6e2f9e6fc6e307af4e6fe8486ee
MD5 72d84c86aab2a1e1cd1005363d30af56
BLAKE2b-256 7ca6326d2311dc5bf43f277973aa2ddc46c9d7d2d5af6342830de31efe36e03d

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