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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dnry_srvhost-builder-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f00e5e8c9fc270b5031a269969882f41413fafb87f8e750a7a8568b683100ee9 |
|
MD5 | 84c72ad38c5fc2a3d1bd51da7aefbdde |
|
BLAKE2b-256 | be4689ebcf722bcb589c9211836f8c143bc7552ed68ffcd8202e2ac72d60872e |
Hashes for dnry_srvhost_builder-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc867ecc3e7b572029bd0604376e48732c83830c3491f4716c238d1efc5f203d |
|
MD5 | 8e8da372adda321e2ffd58109f8983e5 |
|
BLAKE2b-256 | 34b46f29b28cd858a43c7d9e83b4dbb73ef6d11e2cf00bf6c0abfc9c65951feb |