Home

Awesome

DI-toolkit

PyPI PyPI - Python Version Loc Comments

Docs Deploy Code Test Badge Creation Package Release codecov

GitHub stars GitHub forks GitHub commit activity GitHub issues GitHub pulls Contributors GitHub license

A simple toolkit package for opendilab, including the following utilities:

Installation

You can simply install it with pip command line from the official PyPI site.

pip install DI-toolkit

Or installing from the latest source code as follows:

git clone https://github.com/opendilab/DI-toolkit.git
cd di-toolkit
pip install . --user

Quick Start

Example of ditk.logging

Here is an example of logging.

from ditk import logging

if __name__ == '__main__':
    logging.try_init_root(logging.INFO)
    logging.info('This is info')
    logging.warning('This is warning with integer 233')
    logging.error('This is a error with string \'233\'.')

    try:
        _ = 1 / 0
    except ZeroDivisionError as err:
        logging.exception(err)

ditk.logginghas almost the same interface as native logging module. You can directly replace import logging in the code with from ditk import logging.

ditk.annonated

Python annotated documentation generation script like the following

Usage

python -m ditk.doc.annotated create -i ditk/doc/annotated/ppo.py -o my_doc/index.html -L zh

You will get

my_doc
├── assets
│   ├── pylit.css
│   └── solarized.css
└── index.html

Help Information

Usage: python -m ditk.doc.annotated [OPTIONS] COMMAND [ARGS]...

  Utils for creating annotation documentation.

Options:
  -v, --version  Show version information.
  -h, --help     Show this message and exit.

Commands:
  create  Utils for creating annotation documentation from local code.
Usage: python -m ditk.doc.annotated create [OPTIONS]

  Utils for creating annotation documentation from local code.

Options:
  -i, --input_file FILE       Input source code.  [required]
  -o, --output_file FILE      Output annotated documentation code.  [required]
  -A, --assets_dir DIRECTORY  Directory for assets file of this documentation.
  -L, --language [zh|en]      Language for documentation.  [default: en]
  -T, --title TEXT            Title of the documentation.  [default: <Untitled
                              Documentation>]
  -h, --help                  Show this message and exit.

Related Library

Create Multi-Seed Multi-Algorithm Benchmark Plots

import matplotlib.pyplot as plt
import seaborn as sns

from ditk.tensorboard.plots import tb_create_range_plots

sns.set()

tb_create_range_plots(
    'test/testfile/pong_tb',  # directory of tensorboard log
    xname='step',
    yname='evaluator_step/reward_mean',
)

plt.show()

tb_create_range_plots

Contributing

We appreciate all contributions to improve DI-toolkit, both logic and system designs. Please refer to CONTRIBUTING.md for more guides.

License

DI-toolkit released under the Apache 2.0 license.