Metadata-Version: 2.2
Name: dowel
Version: 0.0.3
Summary: A logger for machine learning research
Home-page: https://github.com/rlworkgroup/dowel
Author: Reinforcement Learning Working Group
Author-email: dowel@noreply.github.com
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.5
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: python-dateutil
Requires-Dist: scipy
Requires-Dist: tabulate
Requires-Dist: tensorboardX
Provides-Extra: tensorflow
Requires-Dist: tensorflow; extra == "tensorflow"
Provides-Extra: all
Requires-Dist: tensorflow; extra == "all"
Provides-Extra: dev
Requires-Dist: coverage; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: flake8-docstrings; extra == "dev"
Requires-Dist: flake8-import-order; extra == "dev"
Requires-Dist: pep8-naming; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pydocstyle<4.0.0; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Requires-Dist: pytest>=4.4.0; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: sphinx; extra == "dev"
Requires-Dist: recommonmark; extra == "dev"
Requires-Dist: yapf; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

[![Build Status](https://travis-ci.com/rlworkgroup/dowel.svg?branch=master)](https://travis-ci.com/rlworkgroup/dowel)
[![codecov](https://codecov.io/gh/rlworkgroup/dowel/branch/master/graph/badge.svg)](https://codecov.io/gh/rlworkgroup/dowel)
[![Docs](https://readthedocs.org/projects/dowel/badge)](http://dowel.readthedocs.org/en/latest/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/rlworkgroup/dowel/blob/master/LICENSE)
[![PyPI version](https://badge.fury.io/py/dowel.svg)](https://badge.fury.io/py/dowel)

# dowel

dowel is a little logger for machine learning research.

## Installation
```shell
pip install dowel
```

## Usage
```python
import dowel
from dowel import logger, tabular

logger.add_output(dowel.StdOutput())
logger.add_output(dowel.TensorBoardOutput('tensorboard_logdir'))

logger.log('Starting up...')
for i in range(1000):
    logger.push_prefix('itr {}'.format(i))
    logger.log('Running training step')

    tabular.record('itr', i)
    tabular.record('loss', 100.0 / (2 + i))
    logger.log(tabular)

    logger.pop_prefix()
    logger.dump_all()

logger.remove_all()
```
