Skip to main content

Builder for a service host.

Project 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 and container based dependency injection using 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

pip install dnry-srvhost-builder

Create your own own service host

from dnry.srvhost.builder import SrvHostBase

class AppHost(SrvHostBase):
    def run(self, *args, **kwargs):
        print('Do something cool!')

Build your program

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. For more information on how to use StaticContainerBuilder, see the documentation at en0/pyioc3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dnry_srvhost-builder-0.2.0.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

dnry_srvhost_builder-0.2.0-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page