Metadata-Version: 2.0
Name: dave
Version: 0.6.6
Summary: A command line utility that runs your command line scripts from a yaml script
Home-page: https://github.com/episodeyang/dave
Author: Ge Yang
Author-email: yangge1987@gmail.com
License: UNKNOWN
Keywords: dave,experiment,experimentation,script runner
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Requires-Dist: munch
Requires-Dist: params-proto
Requires-Dist: pathlib
Requires-Dist: pathos
Requires-Dist: ruamel.yaml

``Dave``, a command line utility that runs your script with arguments load from a Yaml file
===========================================================================================

🔥 💥\ **Now ``Dave`` supports both python ``3.5`` and ``3.6``!** 🌟 ✨ ⚡️

``Dave`` is a command line utility for your experiments. It manages
concurrent runs, command line arguments and other stuff nicely for you!

The things it manages include:

-  maximum concurrent runs (via python ``multiprocess.Pool``)
-  environment variables (env)
-  default arguments
-  batch arguments for multiple experiments

Example Usage
-------------

First install via ``pip`` (it's that simple!!)

.. code-block:: bash

    pip install dave

Suppose you have the following folder structure

::

    ├── your_thesis
    └── MAML_tensorflow
        ├── README.md
        ├── experiment.yml
        ├── maml.py
        └── models
            ├── __init__.py
            └── mlp.py

where the experiment.yml file looks like this:

.. code-block:: yaml

    %YAML 1.2
    ---
    config:
      max_concurrent: 10
    env:
      PYTHONPATH: test_directory
    run: |
      {env} python maml_bradly.py {args}
    default_args:
      npts: 100
      num_epochs: 70000
      num_tasks: 10
      num_grad_steps: 1
      num_points_sampled: 10
      fix_amp: False
    batch_args: # use good typing convention here
      - num_tasks: 10
        num_grad_steps: 1
        num_points_sampled: 10
      - num_tasks: 10
        num_grad_steps: 4
        num_points_sampled: 20
    tmp:
      - last_run: 10

Now under the project root, you can just run

.. code-block:: bash

    dave --config-file "experiment.yml"

and it will automatically run the experiment twice, using the arguments
in the ``batch_args`` field of the Yaml configuration file. ## To
Develop

first download from github. Then under project folder, run (you also
need to install the packages).

.. code-block:: bash

    make dev test

Bucket List
~~~~~~~~~~~

-  [ ] Allow extensions
-  [ ] work on windows
-  [ ] allow env files

Happy Doing Science!
--------------------

.. figure:: https://github.com/episodeyang/dave/blob/master/figures/phd092316s.gif?raw=true
   :alt: one-more-experiment

   one-more-experiment


