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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file dnry_srvhost-builder-0.2.0.tar.gz.

File metadata

  • Download URL: dnry_srvhost-builder-0.2.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.9

File hashes

Hashes for dnry_srvhost-builder-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f00e5e8c9fc270b5031a269969882f41413fafb87f8e750a7a8568b683100ee9
MD5 84c72ad38c5fc2a3d1bd51da7aefbdde
BLAKE2b-256 be4689ebcf722bcb589c9211836f8c143bc7552ed68ffcd8202e2ac72d60872e

See more details on using hashes here.

File details

Details for the file dnry_srvhost_builder-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dnry_srvhost_builder-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.9

File hashes

Hashes for dnry_srvhost_builder-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc867ecc3e7b572029bd0604376e48732c83830c3491f4716c238d1efc5f203d
MD5 8e8da372adda321e2ffd58109f8983e5
BLAKE2b-256 34b46f29b28cd858a43c7d9e83b4dbb73ef6d11e2cf00bf6c0abfc9c65951feb

See more details on using hashes here.

Supported by

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