Metadata-Version: 2.1
Name: dnry_srvhost-builder
Version: 0.2.0
Summary: Builder for a service host.
Home-page: https://github.com/en0/dnry-srvhost-builder
Author: Ian Laird
Author-email: irlaird@gmail.com
License: MIT
Description: # DNRY-SrvHost-Builder
        
        A library for building a long running service in python.
        
        This library is inspired by ASPNETCORE. This package provides a set of classes and interfaces that
        simplify the initialization of a service by integrating configuration management from 
        [dnry.config](https://pypi.org/project/dnry-config/) and container based dependency injection using
        [pyioc3](https://pypi.org/project/pyioc3/). 
        
        This library was intended as a platform on which to create long-running
        services and reduce boiler plate code. You can create your own service host
        use one from the DNRY.SrvHost library.
        
        ## Quick Start
        
        Install dnry-srvhost-builder
        
        ```bash
        pip install dnry-srvhost-builder
        ```
        
        Create your own own service host
        
        ```python
        from dnry.srvhost.builder import SrvHostBase
        
        class AppHost(SrvHostBase):
            def run(self, *args, **kwargs):
                print('Do something cool!')
        ```
        
        Build your program
        
        ```python
        from dnry.config import IConfigFactory
        from dnry.srvhost.builder import SrvHostBuilder, ISrvHostContext, ISrvHost
        from pyioc3 import StaticContainerBuilder
        
        
        def setup_config(ctx: ISrvHostContext, conf: IConfigFactory):
            # Add configuration files here
            pass
        
        
        def setup_services(ctx: ISrvHostContext, services: StaticContainerBuilder):
            services.bind(
                annotation=ISrvHost,
                implementation=AppHost)
        
        if __name__ == "__main__":
            SrvHostBuilder("App") \
                .config_configuration(setup_config) \
                .config_services(setup_services) \
                .build() \
                .run()
        ```
        
        That's it! You are ready to build something cool. You can do much more
        
        ## How What?
        
        in setup_service and setup_config. For information on how to use the
        `IConfigFactory`, see the documentation at [en0/dnry-config](https://github.com/en0/dnry-config).
        For more information on how to use `StaticContainerBuilder`, see the
        documentation at [en0/pyioc3](https://github.com/en0/pyioc3).
        
Keywords: srvhost,dnry
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
