Skip to main content

A simple and small service container

Project description

Python Service Container
========================

This is a pretty trivial service container with the ability to register Services in it. On
retrieval of an registered service the class got instantiated and behaves as a singleton.

```
from servicecontainer import Service, Container, ServiceInterface

# This is a sample service
class ExampleService(object):
val = None
def __init__(self, param1):
self.val = param1

class ExampleService2(ServiceInterface):
val = None
def __init__(self, param1):
self.val = param1

@classmethod
def asService(cls, parameters):
return Service("testservice2", cls, parameters)

# Create the container
c = Container()

# build an service
s = Service("testservice", ExampleService, {"param1": "param1_value"})

# add the service to the container
c.add(s)
c.add(ExampleService2.asService({"param1": "param1_value"}))

# retrive the service from the container (gots instantiated at this point)
instance = c.get('testservice')
self.assertEqual('param1_value', instance.val)

# list all services
list = c.list()
self.assertEqual(2, len(list))
self.assertEqual(list[0], 'testservice')

# be sure its the same instance
instance2 = c.get('testservice')
assert instance is instance2
```

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

python-servicecontainer-1.0.2.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

python_servicecontainer-1.0.2-py2.py3-none-any.whl (4.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file python-servicecontainer-1.0.2.tar.gz.

File metadata

File hashes

Hashes for python-servicecontainer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 7f4224fd080b5a713205763b74a562332cb99bb9cacbf028e9b3094c0c71b82d
MD5 210809152db778b65bffd8f14739194f
BLAKE2b-256 59c3b06b6d8f597c0cef69db559211033ff619f225cf5b1069a0f35c801146dc

See more details on using hashes here.

File details

Details for the file python_servicecontainer-1.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for python_servicecontainer-1.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dc630c696044e17ff94afd33d0aef4724d722247fdf9f9af7015478585e58efb
MD5 36c43e9ddf2164504687fa031be2a909
BLAKE2b-256 e0e5c017efe05b5f387f52bd9e7fff35284d37731ec9e3e19f3a704917727a9e

See more details on using hashes here.

Supported by

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