Skip to main content

Core library for Seldonian algorithms

Project description

Disclaimer: This repository is under active development and is not yet suitable for public use. We are currently working on an alpha release and will remove this disclaimer at the time of release.

Engine

This is the source code repository for a framework for creating and running Seldonian algorithms.

Installation

To run this code as a developer, create a virtual environment. Then install the package locally, e.g.

python setup.py develop

or

pip install -e .

If you want to view the parse tree graphs using the built-in tools this library provides, install graphviz onto your system. The Seldonian library uses a Python API for graphviz, and the API requires that graphviz be installed system-wide. This should resolve mysterious error messages like "dot" not found. "dot" is a command line program included with graphviz for rendering the graphs from code.

Interface

This library is in its infancy, but a lite command line interface exists for parsing string expressions into parse trees. To use this interface, edit the file: interface.py. Modify constraint_str and delta to values of interest. Then run (make sure you have activated the seldo conda environment first) from the command line:

python interface.py

As a quick test, if you use the following variables:

constraint_str = 'abs((Mean_Error | [M]) - (Mean_Error | [F])) - 0.1'
delta = 0.05

The resulting diagram should match this one, although the actual intervals may be different due to the random seeding of the base variable intervals.

Testing

To run the unit tests, from the command line do:

pytest

This will automatically run all tests in tests/. Currently, there is only one test file in this folder, called test_parse_tree.py. Pytest will find that file and run all tests within that file.

To get more introspection into the tests see the Pytest documentation.

Versioning

The naming of versions of this software adheres to semantic versioning. Pre-release versions use a major version of "0", e.g. "0.0.1" is the very first pre-release version.

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

test-engine-0.0.3.tar.gz (47.9 kB view details)

Uploaded Source

File details

Details for the file test-engine-0.0.3.tar.gz.

File metadata

  • Download URL: test-engine-0.0.3.tar.gz
  • Upload date:
  • Size: 47.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for test-engine-0.0.3.tar.gz
Algorithm Hash digest
SHA256 f40120d550924b17dad6b240651a308d0c3321ab7740831efa2cc9a01c83b8ad
MD5 3684c542c68347480afee3e83cf3a4f0
BLAKE2b-256 4eb0a118d1eae69e0ed4b2ffc0637105b08267d14e92e20e39e308f92e936e4c

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