Metadata-Version: 2.4
Name: okcompute
Version: 1.0.1
Summary: Fault tolerant analysis framework.
Home-page: https://github.com/swift-nav/okcompute
Author: Swift Navigation
Author-email: dev@swiftnav.com
Maintainer: Swift Navigation
Maintainer-email: dev@swiftnav.com
License: MIT
Project-URL: Documentation, http://okcompute.swiftnav.com/
Project-URL: Code, https://github.com/swift-nav/okcompute
Project-URL: Issue tracker, https://github.com/swift-nav/okcompute/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development
Description-Content-Type: text/markdown
Requires-Dist: networkx
Provides-Extra: plot
Requires-Dist: pygraphviz; extra == "plot"
Provides-Extra: appdoc
Requires-Dist: pygraphviz; extra == "appdoc"
Requires-Dist: jinja2; extra == "appdoc"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: maintainer
Dynamic: maintainer-email
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

# OKCompute
A framework to make analysis stages clear, self documenting, and fault tolerant.

See [OKCompute Documentation](http://okcompute.swiftnav.com/) for details.

## Key Features

 * Graph of dependencies - Can figure out minimum analysis for set of outputs, or diagnose missing inputs
 * Minimum Boilerplate
 * Human Readable Reports - Generates HTML documentation implicitly inferred from code and comprehensive reports of what occured during a run
 * Support for Pandas dataframes with column validation
 * Can specify optional fields or a fallback value if a required field is missing
 * Full stack traces are logged in the run results if an exception occurs during analysis
 * Supports checking for intermediary results to avoid rerunning slow analysis steps
 * Makes writing unit tests extremely easy

## TODO
 * Make generated documentation prettier
 * Better hashing of fields / metrics (avoid collisions based on string names)
 * Add way of specifying a list fields with name determined by data (thread names) with sub keys
 * Make helper functions to reduce boiler plate in saving / resuming from intermediary processing
 * Make reports returned by prune functions more consistent
 * Standardize config/input/output conventions
 * Should allow metric input/output be dicts?
