Metadata-Version: 2.1
Name: move-carrots
Version: 0.1.1
Summary: Simple helper for reproducible (research) experiments.
Home-page: https://gitlab.com/Pinle/move-carrots
Author: Pinle
Author-email: 
License: MIT
Description: # Move-carrots
        
        Simple helper for reproducible (research) experiments.
        
        ## Goals
        
        This package aims to make one's life easier with machine learning experiments.
        To achieve this goal, this package basically does the following two things.
        
        ### 1. Run experiments with some config files. 
        
        - No need for long commands. 
        - Reliable and elegant than notebooks.
        
        ### 2. Built-in support to record, view, and reproduce your experiments.
        
        :P)
        
        ## Quick start
        WIP.
        
        ## Core features
        
        1. Define your experiment in a human friendly YAML file: main function, parameters, data files, logging, etc.
        2. Codes will be automatically checked in to git with proper tags. Datas will be also version-controlled in a proper manner. 
        3. Each experiment will be dumped into a database, including the config, the logging, and the versions of code and data.
        
        ## Design
        
        ### Config file
        The config file includes:
        - PYTHONPATH
        - main function and parameters
        - misc
            - experiment name
            - logging
        
        ### Version control
        The goal is to re-run one experiment within one command. To achieve this, we will have both codes and data versioned in a proper way.
        
        **Codes** All local changes, if there are any, will be committed into Git before a config runs. Commits information will be stored in log files and the head commit will be tagged as f"{name}@{time}" for future reference. 
        
        **Data** Data will be stored in the database, which will be keyed by name and md5 value. 
        
        ### Database
        
        The database has two parts: experiment logging and version control. 
        
        1. **Experiment logging** shows what experiments have been conducted, what's the input/output of one experiment. Based on it, more analysis can be elaborated.
        2. **Version control** is responsible for recording all versions of codes (through Git) and data (local storage).
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
