Metadata-Version: 2.1
Name: more-kedro
Version: 0.1.0
Summary: A collection of utilities and extensions for Kedro
Home-page: https://github.com/jonathanlofgren/more-kedro
Author: Jonathan Löfgren
Author-email: lofgren021@gmail.com
License: UNKNOWN
Description: # more-kedro
        
        A collection of utilities and extensions for [Kedro](https://github.com/quantumblacklabs/kedro)
        
        ## [hooks.TypedParameters](more_kedro/hooks.py)
        Enables on the fly typing and validation of your parameter dictionaries.
        
        ### Usage
        Activate by adding the `TypedParameters` hook to your `KedroContext`:
        ```python
        from more_kedro.hooks import TypedParameters
        
        class ProjectContext(KedroContext):
            hooks = (
                TypedParameters(),
            )
        
            ...
        ```
        Now you can specify types in your `parameters.yml`:
        ```yaml
        training__type: my_project.nodes.model.TrainingParams
        training:
          num_iter: 100
          learning_rate: 0.001
        ```
        or if you pass `TypedParameters(inline=True)`:
        ```yaml
        training:
          type: my_project.nodes.model.TrainingParams
          num_iter: 100
          learning_rate: 0.001
        ```
        
        Any node which has an input `params:training` will now be injected with the
        equivalent of `TrainingParams(num_iter=100, learning_rate=0.001)` instead of a raw
        dictionary. You can use any custom class, dataclass,
        [pydantic](https://github.com/samuelcolvin/pydantic) model or any other
        callable to get validation and typing of your parameters.
        
        The parameters are typed right after your `DataCatalog` is created, so any failures
        will surface before your kedro run starts.
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/markdown
