Skip to main content

Models for decision optimization and automation

Project description

Curators

Coverage Documentation Status

A package for action selection and optimization.

Action types currently supported are context-naive, contextual, and sequential.

  • Context-naive actions, which we'll call simply "naive" assumes the expected return is simply a function of the action itself. This is commonly referred to as a multi-armed bandit.
  • Contextual actions enable use of observable variables to further improve the accuracy of the expected return of actions. For now, we enabled integration of clustering algorithms with a traditional bandit. Longer term, this will grow into more broad support for contextual bandits.
  • Sequential algorithms extend the previous optimizations of single actions into the optimization of multiple ordered actions.

To facilitate maintaining the mathematical purity of classic models while maintaining practical interfaces for real world actions, objects are categorized into three object types: models, agents, and applications.

  • Model - distinct and mathematically pure units of learning.
  • Agent - integration of identically shaped models into a single interface.
  • Application - tooling around connecting an agent to some real-world medium.

Installation

Pip

pip install curators

Package Build and Install

We use Python's setuptools to handle installation. You can build the wheel and install it elsewhere manually using:

# from within this repo's root:
python setup.py bdist_wheel

# from within your other project that you're installing this wheel into:
pip install curators-0.0.1-py3-none-any.whl

Or you can install it directly from Github usisng the library name git+ssh://git@github.com/BellwethrInc/curators.git as you would install any other library through either a pip install [x] or including it directly in your requirements.txt file.

Or if you prefer using https rather than ssh to connect to github, git+https://github.com/BellwethrInc/curators.git works as well.

After we get proper releases set up, you'll be able to do git+ssh://git@github.com/BellwethrInc/curators.git@v0.0.0#egg=curators to specify a release as well.

Coming soon:

  • proper versioning

As a Developer

Within this repo's root, create a virtualenv (or your conda equivalent) and install the dependencies.

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Testing

Within a developer's environment, run all tests simply with

    python -m unittest

Coverage

To see testing coverage, run

    coverage run -m unittest discover  # to generate coverage data
    coverage report  # to render the coverage data to console
    coverage-badge -o docs/images/coverage.svg  # update the coverage badge

Docs

To build docs

  • within your venv
  • pip install -r requirements.txt
  • cd docs
  • make html

Or if you're within pycharm:

  • be sure your current environment also has the docs requirements installed
    • pip install -r docs/requirements.txt
  • Create and configure a new "Spinx Task" configuration:
    • Be sure html is the command selected
    • select docs/source as the source directory
    • select docs/build directory.
      • Make this directory yourself or let sphinx make it for you.
      • this path is within .gitignore so don't worry about stepping on toes within your build dir.
  • rerun docs build as needed
  • docs/build/index.html is the file you want to open in your browswer

Notebooks

When running the notebooks, you need to either be working within a virtualenv with curators installed or have the root of this repo within your environment's PATH or PYTHONPATH. For example,

PYTHONPATH="${PYTHONPATH}:path/to/this/repos/root" jupyter notebook

will leave the rest of your environments unaffected while giving python access to this repo directly.

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

curators-0.0.0b4.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

curators-0.0.0b4-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file curators-0.0.0b4.tar.gz.

File metadata

  • Download URL: curators-0.0.0b4.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.8

File hashes

Hashes for curators-0.0.0b4.tar.gz
Algorithm Hash digest
SHA256 9c7a4ca7641ccdc5de99c82e039a637d0af167dcda469a46a8f22b49a71bbe03
MD5 f7658d1710ec65595425744b29d6bb4a
BLAKE2b-256 185f3abd922c35e7dfaff203e1a8562c249eeac14d638301d72fa0319d3ec0e4

See more details on using hashes here.

File details

Details for the file curators-0.0.0b4-py3-none-any.whl.

File metadata

  • Download URL: curators-0.0.0b4-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.8

File hashes

Hashes for curators-0.0.0b4-py3-none-any.whl
Algorithm Hash digest
SHA256 2dd0c6ed361c8ff1f2498a7d51be926f1ddc3e95378662ceab361b5981c4ce1c
MD5 de75c323427904c8605cb77fa459b88a
BLAKE2b-256 08285e8abaededa37e35e9973fe6dbacd005aa712900c27e8f06c8022f7bc9f3

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