Metadata-Version: 2.1
Name: Warg
Version: 0.4.5
Summary: A package for easing return of multiple values
Home-page: https://github.com/aivclab/warg
Author: Christian Heider Nielsen
Author-email: christian.heider@alexandra.dk
Maintainer: Christian Heider Nielsen
Maintainer-email: christian.heider@alexandra.dk
License: Apache License, Version 2.0
Download-URL: https://github.com/aivclab/warg/releases
Keywords: python reinforcement-learning interface api
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Natural Language :: English
Requires-Python: >=3
Description-Content-Type: text/markdown
Requires-Dist: apppath
Requires-Dist: numpy
Requires-Dist: six
Requires-Dist: sorcery
Requires-Dist: asttokens
Requires-Dist: snoop
Requires-Dist: pytest
Requires-Dist: cloudpickle
Requires-Dist: wrapt
Provides-Extra: all
Requires-Dist: pip (>=19.0.3) ; extra == 'all'
Requires-Dist: wheel (>=0.33.0) ; extra == 'all'
Requires-Dist: twine (>=1.13.0) ; extra == 'all'
Requires-Dist: black (>=18.9b0) ; extra == 'all'
Requires-Dist: pytest (>=4.3.0) ; extra == 'all'
Requires-Dist: pytest-cov (>=2.6.1) ; extra == 'all'
Requires-Dist: coveralls (>=1.6.0) ; extra == 'all'
Requires-Dist: tox ; extra == 'all'
Requires-Dist: sphinx ; extra == 'all'
Requires-Dist: m2r ; extra == 'all'
Requires-Dist: sphinxcontrib-programoutput ; extra == 'all'
Provides-Extra: dev
Requires-Dist: pip (>=19.0.3) ; extra == 'dev'
Requires-Dist: wheel (>=0.33.0) ; extra == 'dev'
Requires-Dist: twine (>=1.13.0) ; extra == 'dev'
Requires-Dist: black (>=18.9b0) ; extra == 'dev'
Requires-Dist: pytest (>=4.3.0) ; extra == 'dev'
Requires-Dist: pytest-cov (>=2.6.1) ; extra == 'dev'
Requires-Dist: coveralls (>=1.6.0) ; extra == 'dev'
Requires-Dist: tox ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: m2r ; extra == 'docs'
Requires-Dist: sphinxcontrib-programoutput ; extra == 'docs'

# Warg
```Old-Norse: Varg```

![warg](.github/images/warg.svg)
![python](.github/images/python.svg)

[![Build Status](https://travis-ci.com/aivclab/warg.svg?branch=master)](https://travis-ci.com/aivclab/warg) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![Coverage Status](https://coveralls.io/repos/github/aivclab/warg/badge.svg?branch=master)](https://coveralls.io/github/aivclab/warg?branch=master)
___
> Devour everything :wolf:
___

This package is a selection of generalised  small utilities classes for many use-cases, a brief description of each follows.

- A class for easing return of multiple values, implicit handling of args and kwargs and more.

- A class for executing any 'heavy' function asynchronously storing any results in a bounded queue.
Note: communication and organisation is costly, intended for heavy processing functions and general queuing.

- A set of utility functions for parsing/sanitising python config files, and presenting attributes using common python conventions and practices.

- Some Mixin classes for iterating Mapping Types.

- A single base class and metaclass, differentiating on whether subclasses singletons should be instated on
 own subclass basis or on the supertype.

- A "contract" decorator, "kw passing" is a concept that lets one make a contract with the caller that all
          kwargs with be passed onwards to a receiver, this lets the caller inspect available kwargs of the
          the receiver function allowing for autocompletion, typing and documentation fetching.

- and more..

# Disclaimer
Use warg with caution, some features might break as python naturally evolves.
Warg uses some advanced features of python and sometimes abuse notation/syntax, with some pretty hard
 assumptions on input and interaction. 
With this in mind please have fun with it ![epic_face](.github/images/epic_face.png)

___
> With great power comes great responsibility :wink:
___


