Metadata-Version: 1.2
Name: cfloader
Version: 0.1.4
Summary: Loads python modules from a configuration file.
Home-page: https://github.com/shachibista/cfloader
Author: Shachi Bista
Author-email: shachibista@gmail.com
License: MIT license
Description: ==========================
        Model Configuration Loader
        ==========================
        
        
        .. image:: https://img.shields.io/pypi/v/cfloader
                :target: https://pypi.python.org/pypi/cfloader
        
        .. image:: https://img.shields.io/travis/shachibista/cfloader.svg
                :target: https://travis-ci.com/shachibista/cfloader
        
        .. image:: https://readthedocs.org/projects/cfloader/badge/?version=latest
                :target: https://cfloader.readthedocs.io/en/latest/?badge=latest
                :alt: Documentation Status
        
        
        Loads and instantiates python classes from a configuration file.
        
        
        * Free software: MIT license
        * Documentation: https://cfloader.readthedocs.io.
        
        
        Features
        --------
        
        * Auto class instantiation from json configuration
        * Read configuration from archives
        * Load dependencies between classes
        * Load configuration parameter as class or as object
        
        Installation
        ------------
        
        ::
        
            pip install cfloader
        
        Usage
        -----
        
        Create a configuration file with parameters:
        
        .. code-block:: json
        
            {
                "model": {
                    "model_name": "SomeClass",
                    "param_1": 20
                },
                "epochs": 10
            }
        
        Now you can load the configuration parameters, either as primitive dicts or as a class:
        
        .. code-block:: python
        
            import cfloader
        
            class SomeClass:
                def __init__(self, param_1):
                    self.param_1 = param_1
        
            loader = cfloader.open("config.json")
            num_epochs = loader.load("epochs") # = int(10)
            model_param_1 = loader.load("model.param_1") # = int(20)
            model_configuration = loader.load("model") # = {"model_name": "SomeClass", "param_1": 20}
            model_class = loader.load("model", as_class=True) # = <SomeClass object (param_1 = 20)>
        
        For a more extensive example, see ``examples/pytorch/example_pytorch.py``. 
        
        .. note::
            If you want to run the example, run it as a python module: ``python -m examples.pytorch.example_pytorch --help``
        
            You may need to install pytorch ``pip install torch torchvision tqdm``
        
        Credits
        -------
        
        This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
        
        .. _Cookiecutter: https://github.com/audreyr/cookiecutter
        .. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
        
        
        =======
        History
        =======
        
        0.1.0 (2020-10-06)
        ------------------
        
        * First release on PyPI.
        
Keywords: cfloader
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
